summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2025-11-03 22:45:28 +0000
committerViacheslav Hletenko <v.gletenko@vyos.io>2025-11-14 15:41:04 +0000
commit0cc39141dba576609480f6707d16964de4a8a6bc (patch)
tree567f815168e1fb05f40a2f225e9272924b982686 /interface-definitions
parent23e61833f4ac2a0dce040520c1324bab8c025209 (diff)
downloadvyos-1x-0cc39141dba576609480f6707d16964de4a8a6bc.tar.gz
vyos-1x-0cc39141dba576609480f6707d16964de4a8a6bc.zip
T7556: VPP add IPFIX collector configuration
Add VPP IPFIX configuration commands: ``` set vpp ipfix active-timeout '8' set vpp ipfix collector 192.0.2.2 port '2055' set vpp ipfix collector 192.0.2.2 source-address '192.0.2.1' set vpp ipfix flowprobe-record 'l2' set vpp ipfix flowprobe-record 'l3' set vpp ipfix flowprobe-record 'l4' set vpp ipfix inactive-timeout '32' set vpp ipfix interface eth0 set vpp ipfix interface eth1 direction 'both' set vpp ipfix interface eth1 flow-variant 'ipv4' ```
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/vpp.xml.in176
1 files changed, 176 insertions, 0 deletions
diff --git a/interface-definitions/vpp.xml.in b/interface-definitions/vpp.xml.in
index e10a3409d..749fb3fbf 100644
--- a/interface-definitions/vpp.xml.in
+++ b/interface-definitions/vpp.xml.in
@@ -346,6 +346,182 @@
</tagNode>
</children>
</node>
+ <node name="ipfix" owner="${vyos_conf_scripts_dir}/vpp_ipfix.py">
+ <properties>
+ <help>IP Flow Information Export (IPFIX) configuration</help>
+ <priority>322</priority>
+ </properties>
+ <children>
+ <tagNode name="collector">
+ <properties>
+ <help>Collector IP address</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 server to export IPFIX</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>IPv6 server to export IPFIX</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ip-address"/>
+ </constraint>
+ </properties>
+ <children>
+ #include <include/port-number.xml.i>
+ <leafNode name="port">
+ <defaultValue>4739</defaultValue>
+ </leafNode>
+ <leafNode name="path-mtu">
+ <properties>
+ <help>Path MTU</help>
+ <valueHelp>
+ <format>u32:68-1450</format>
+ <description>Bytes</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 68-1450"/>
+ </constraint>
+ </properties>
+ <defaultValue>512</defaultValue>
+ </leafNode>
+ #include <include/source-address-ipv4-ipv6.xml.i>
+ <leafNode name="template-interval">
+ <properties>
+ <help>Interval in seconds</help>
+ <valueHelp>
+ <format>u32:1-300</format>
+ <description>Seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-300"/>
+ </constraint>
+ </properties>
+ <defaultValue>20</defaultValue>
+ </leafNode>
+ <leafNode name="udp-checksum">
+ <properties>
+ <help>Allow UDP checksum</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ <tagNode name="interface">
+ <properties>
+ <help>Interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces</script>
+ </completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Interface name</description>
+ </valueHelp>
+ </properties>
+ <children>
+ <leafNode name="direction">
+ <properties>
+ <help>Flow direction</help>
+ <completionHelp>
+ <list>rx tx both</list>
+ </completionHelp>
+ <valueHelp>
+ <format>rx</format>
+ <description>Rx direction</description>
+ </valueHelp>
+ <valueHelp>
+ <format>tx</format>
+ <description>Tx direction</description>
+ </valueHelp>
+ <valueHelp>
+ <format>both</format>
+ <description>Rx and Tx direction</description>
+ </valueHelp>
+ <constraint>
+ <regex>(rx|tx|both)</regex>
+ </constraint>
+ </properties>
+ <defaultValue>both</defaultValue>
+ </leafNode>
+ <leafNode name="flow-variant">
+ <properties>
+ <help>Flow variant</help>
+ <completionHelp>
+ <list>l2 ipv4 ipv6</list>
+ </completionHelp>
+ <valueHelp>
+ <format>l2</format>
+ <description>L2</description>
+ </valueHelp>
+ <valueHelp>
+ <format>_ipv4</format>
+ <description>IPv4</description>
+ </valueHelp>
+ <valueHelp>
+ <format>_ipv6</format>
+ <description>IPv6</description>
+ </valueHelp>
+ <constraint>
+ <regex>(l2|ipv4|ipv6)</regex>
+ </constraint>
+ </properties>
+ <defaultValue>ipv4</defaultValue>
+ </leafNode>
+ </children>
+ </tagNode>
+ <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>15</defaultValue>
+ </leafNode>
+ <leafNode name="inactive-timeout">
+ <properties>
+ <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>
+ <defaultValue>120</defaultValue>
+ </leafNode>
+ <leafNode name="flowprobe-record">
+ <properties>
+ <help>Flow record layers</help>
+ <completionHelp>
+ <list>l2 l3 l4</list>
+ </completionHelp>
+ <valueHelp>
+ <format>l2</format>
+ <description>Include level 2 information</description>
+ </valueHelp>
+ <valueHelp>
+ <format>l3</format>
+ <description>Include level 3 information</description>
+ </valueHelp>
+ <valueHelp>
+ <format>l4</format>
+ <description>Include level 4 information</description>
+ </valueHelp>
+ <constraint>
+ <regex>(l2|l3|l4)</regex>
+ </constraint>
+ <multi/>
+ </properties>
+ <defaultValue>l3</defaultValue>
+ </leafNode>
+ </children>
+ </node>
<node name="settings">
<properties>
<help>VPP settings</help>