summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorKyrylo Yatsenko <hedrok@gmail.com>2025-08-27 17:49:12 +0300
committerKyrylo Yatsenko <hedrok@gmail.com>2025-09-16 13:00:56 +0300
commite992fb4ec3d65674c794bdcb961b62485fec8d50 (patch)
tree37431490c991e47d5cea14acf566c200c131f7fd /interface-definitions
parentd72d15c28f2e890ded3e5d24fceac00dac1238ed (diff)
downloadvyos-1x-e992fb4ec3d65674c794bdcb961b62485fec8d50.tar.gz
vyos-1x-e992fb4ec3d65674c794bdcb961b62485fec8d50.zip
T75: migrate from pmacct to ipt_NETFLOW
* Change nft to iptables in system_flow-accounting.py as ipt_NETFLOW is iptales plugin * Remove specific and non-relevant pmacct options * Add ipt_NETFLOW options * Move 'interfaces' to 'netflow' tree * Support more flexible 'source-address' and 'source-interface' for each server instead of one source * Add migration script * Update op mode command 'show flow-accounting' * Update op mode command 'restart flow-accounting'
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/include/version/flow-accounting-version.xml.i2
-rw-r--r--interface-definitions/system_flow-accounting.xml.in273
2 files changed, 28 insertions, 247 deletions
diff --git a/interface-definitions/include/version/flow-accounting-version.xml.i b/interface-definitions/include/version/flow-accounting-version.xml.i
index 95d1e20db..3a22d391c 100644
--- a/interface-definitions/include/version/flow-accounting-version.xml.i
+++ b/interface-definitions/include/version/flow-accounting-version.xml.i
@@ -1,3 +1,3 @@
<!-- include start from include/version/flow-accounting-version.xml.i -->
-<syntaxVersion component='flow-accounting' version='2'></syntaxVersion>
+<syntaxVersion component='flow-accounting' version='3'></syntaxVersion>
<!-- include end -->
diff --git a/interface-definitions/system_flow-accounting.xml.in b/interface-definitions/system_flow-accounting.xml.in
index 4799205ad..53436036e 100644
--- a/interface-definitions/system_flow-accounting.xml.in
+++ b/interface-definitions/system_flow-accounting.xml.in
@@ -9,153 +9,18 @@
<priority>990</priority>
</properties>
<children>
- <leafNode name="buffer-size">
- <properties>
- <help>Buffer size</help>
- <valueHelp>
- <format>u32</format>
- <description>Buffer size in MiB</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-4294967295"/>
- </constraint>
- </properties>
- <defaultValue>10</defaultValue>
- </leafNode>
- <leafNode name="packet-length">
- <properties>
- <help>Specifies the maximum number of bytes to capture for each packet</help>
- <valueHelp>
- <format>u32:128-750</format>
- <description>Packet length in bytes</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 128-750"/>
- </constraint>
- </properties>
- <defaultValue>128</defaultValue>
- </leafNode>
<leafNode name="enable-egress">
<properties>
<help>Enable egress flow accounting</help>
<valueless/>
</properties>
</leafNode>
- <leafNode name="disable-imt">
- <properties>
- <help>Disable in memory table plugin</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="syslog-facility">
- <properties>
- <help>Syslog facility for flow-accounting</help>
- <completionHelp>
- <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list>
- </completionHelp>
- <valueHelp>
- <format>auth</format>
- <description>Authentication and authorization</description>
- </valueHelp>
- <valueHelp>
- <format>authpriv</format>
- <description>Non-system authorization</description>
- </valueHelp>
- <valueHelp>
- <format>cron</format>
- <description>Cron daemon</description>
- </valueHelp>
- <valueHelp>
- <format>daemon</format>
- <description>System daemons</description>
- </valueHelp>
- <valueHelp>
- <format>kern</format>
- <description>Kernel</description>
- </valueHelp>
- <valueHelp>
- <format>lpr</format>
- <description>Line printer spooler</description>
- </valueHelp>
- <valueHelp>
- <format>mail</format>
- <description>Mail subsystem</description>
- </valueHelp>
- <valueHelp>
- <format>mark</format>
- <description>Timestamp</description>
- </valueHelp>
- <valueHelp>
- <format>news</format>
- <description>USENET subsystem</description>
- </valueHelp>
- <valueHelp>
- <format>protocols</format>
- <description>Routing protocols (local7)</description>
- </valueHelp>
- <valueHelp>
- <format>security</format>
- <description>Authentication and authorization</description>
- </valueHelp>
- <valueHelp>
- <format>syslog</format>
- <description>Authentication and authorization</description>
- </valueHelp>
- <valueHelp>
- <format>user</format>
- <description>Application processes</description>
- </valueHelp>
- <valueHelp>
- <format>uucp</format>
- <description>UUCP subsystem</description>
- </valueHelp>
- <valueHelp>
- <format>local0</format>
- <description>Local facility 0</description>
- </valueHelp>
- <valueHelp>
- <format>local1</format>
- <description>Local facility 1</description>
- </valueHelp>
- <valueHelp>
- <format>local2</format>
- <description>Local facility 2</description>
- </valueHelp>
- <valueHelp>
- <format>local3</format>
- <description>Local facility 3</description>
- </valueHelp>
- <valueHelp>
- <format>local4</format>
- <description>Local facility 4</description>
- </valueHelp>
- <valueHelp>
- <format>local5</format>
- <description>Local facility 5</description>
- </valueHelp>
- <valueHelp>
- <format>local6</format>
- <description>Local facility 6</description>
- </valueHelp>
- <valueHelp>
- <format>local7</format>
- <description>Local facility 7</description>
- </valueHelp>
- <valueHelp>
- <format>all</format>
- <description>Authentication and authorization</description>
- </valueHelp>
- <constraint>
- <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex>
- </constraint>
- </properties>
- </leafNode>
- #include <include/generic-interface-multi.xml.i>
<node name="netflow">
<properties>
<help>NetFlow settings</help>
</properties>
<children>
+ #include <include/generic-interface-multi.xml.i>
<leafNode name="engine-id">
<properties>
<help>NetFlow engine-id</help>
@@ -196,7 +61,6 @@
</constraint>
</properties>
</leafNode>
- #include <include/source-address-ipv4-ipv6.xml.i>
<leafNode name="version">
<properties>
<help>NetFlow version to export</help>
@@ -247,119 +111,36 @@
</properties>
<defaultValue>2055</defaultValue>
</leafNode>
+ #include <include/source-address-ipv4-ipv6.xml.i>
+ #include <include/source-interface.xml.i>
</children>
</tagNode>
- <node name="timeout">
+ <leafNode name="inactive-timeout">
<properties>
- <help>NetFlow timeout values</help>
+ <help>Flow inactivity timeout</help>
+ <valueHelp>
+ <format>u32:0-2147483647</format>
+ <description>Inactive flow export timeout (seconds)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-2147483647"/>
+ </constraint>
</properties>
- <children>
- <leafNode name="expiry-interval">
- <properties>
- <help>Expiry scan interval</help>
- <valueHelp>
- <format>u32:0-2147483647</format>
- <description>Expiry scan interval</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-2147483647"/>
- </constraint>
- </properties>
- <defaultValue>60</defaultValue>
- </leafNode>
- <leafNode name="flow-generic">
- <properties>
- <help>Generic flow timeout value</help>
- <valueHelp>
- <format>u32:0-2147483647</format>
- <description>Generic flow timeout in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-2147483647"/>
- </constraint>
- </properties>
- <defaultValue>3600</defaultValue>
- </leafNode>
- <leafNode name="icmp">
- <properties>
- <help>ICMP timeout value</help>
- <valueHelp>
- <format>u32:0-2147483647</format>
- <description>ICMP timeout in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-2147483647"/>
- </constraint>
- </properties>
- <defaultValue>300</defaultValue>
- </leafNode>
- <leafNode name="max-active-life">
- <properties>
- <help>Max active timeout value</help>
- <valueHelp>
- <format>u32:0-2147483647</format>
- <description>Max active timeout in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-2147483647"/>
- </constraint>
- </properties>
- <defaultValue>604800</defaultValue>
- </leafNode>
- <leafNode name="tcp-fin">
- <properties>
- <help>TCP finish timeout value</help>
- <valueHelp>
- <format>u32:0-2147483647</format>
- <description>TCP FIN timeout in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-2147483647"/>
- </constraint>
- </properties>
- <defaultValue>300</defaultValue>
- </leafNode>
- <leafNode name="tcp-generic">
- <properties>
- <help>TCP generic timeout value</help>
- <valueHelp>
- <format>u32:0-2147483647</format>
- <description>TCP generic timeout in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-2147483647"/>
- </constraint>
- </properties>
- <defaultValue>3600</defaultValue>
- </leafNode>
- <leafNode name="tcp-rst">
- <properties>
- <help>TCP reset timeout value</help>
- <valueHelp>
- <format>u32:0-2147483647</format>
- <description>TCP RST timeout in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-2147483647"/>
- </constraint>
- </properties>
- <defaultValue>120</defaultValue>
- </leafNode>
- <leafNode name="udp">
- <properties>
- <help>UDP timeout value</help>
- <valueHelp>
- <format>u32:0-2147483647</format>
- <description>UDP timeout in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-2147483647"/>
- </constraint>
- </properties>
- <defaultValue>300</defaultValue>
- </leafNode>
- </children>
- </node>
+ <defaultValue>15</defaultValue>
+ </leafNode>
+ <leafNode name="active-timeout">
+ <properties>
+ <help>Flow activity timeout</help>
+ <valueHelp>
+ <format>u32:0-2147483647</format>
+ <description>Active flow export timeout (seconds)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-2147483647"/>
+ </constraint>
+ </properties>
+ <defaultValue>1800</defaultValue>
+ </leafNode>
</children>
</node>
#include <include/interface/vrf.xml.i>