From ff094804a171d24609910e858fc1d9970a5ac006 Mon Sep 17 00:00:00 2001
From: Viacheslav Hletenko <v.gletenko@vyos.io>
Date: Wed, 29 Mar 2023 11:23:30 +0000
Subject: Add sFlow documentation and an example of configuraiton

---
 docs/configuration/system/index.rst |  1 +
 docs/configuration/system/sflow.rst | 63 +++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 docs/configuration/system/sflow.rst

diff --git a/docs/configuration/system/index.rst b/docs/configuration/system/index.rst
index 4df787a9..23edaa3f 100644
--- a/docs/configuration/system/index.rst
+++ b/docs/configuration/system/index.rst
@@ -19,6 +19,7 @@ System
    name-server
    option
    proxy
+   sflow
    syslog
    sysctl
    task-scheduler
diff --git a/docs/configuration/system/sflow.rst b/docs/configuration/system/sflow.rst
new file mode 100644
index 00000000..b131d8a9
--- /dev/null
+++ b/docs/configuration/system/sflow.rst
@@ -0,0 +1,63 @@
+.. _ntp:
+
+#####
+sFlow
+#####
+
+VyOS supports sFlow accounting for both IPv4 and IPv6 traffic. The system acts as a flow exporter, and you are free to use it with any compatible collector.
+
+sFlow is a technology that enables monitoring of network traffic by sending sampled packets to a collector device.
+
+The sFlow accounting based on hsflowd https://sflow.net/
+
+Configuration
+=============
+
+.. cfgcmd:: set system sflow agent-address <address>
+
+   Configure sFlow agent IPv4 or IPv6 address
+
+
+.. cfgcmd:: set system sflow agent-interface <interface>
+
+   Configure agent IP address associated with this interface.
+
+
+.. cfgcmd:: set system sflow drop-monitor-limit <limit>
+
+   Dropped packets reported on DROPMON Netlink channel by Linux kernel are exported via the standard sFlow v5 extension for reporting dropped packets
+
+.. cfgcmd:: set system sflow interface <interface>
+
+   Configure and enable collection of flow information for the interface identified by <interface>.
+
+   You can configure multiple interfaces which whould participate in sflow accounting.
+
+
+.. cfgcmd:: set system sflow polling <sec>
+
+   Configure schedule counter-polling in seconds (default: 30)
+
+.. cfgcmd:: set system sflow sampling-rate <rate>
+
+   Use this command to configure the sampling rate for sFlow accounting (default: 1000)
+
+.. cfgcmd:: set system sflow server <address> port <port>
+
+   Configure address of sFlow collector. sFlow server at <address> can be both listening on an IPv4 or IPv6 address.
+
+
+Example
+=======
+
+.. code-block:: none
+
+  set system sflow agent-address '192.0.2.14'
+  set system sflow agent-interface 'eth0'
+  set system sflow drop-monitor-limit '50'
+  set system sflow interface 'eth0'
+  set system sflow interface 'eth1'
+  set system sflow polling '30'
+  set system sflow sampling-rate '1000'
+  set system sflow server 192.0.2.1 port '6343'
+  set system sflow server 203.0.113.23 port '6343'
-- 
cgit v1.2.3