-
Notifications
You must be signed in to change notification settings - Fork 395
T7556: VPP add IPFIX collector configuration #4845
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds VPP IPFIX (IP Flow Information Export) collector configuration functionality to VyOS. It enables users to configure IPFIX flow export from VPP interfaces to external collectors for network traffic analysis.
- Introduces configuration commands for IPFIX collectors, interfaces, and flow parameters
- Adds Python library classes to manage VPP IPFIX and flowprobe API calls
- Includes comprehensive smoke tests for IPFIX configuration validation
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/conf_mode/vpp_ipfix.py | New configuration mode script implementing IPFIX setup, verification, and application logic |
| python/vyos/vpp/ipfix/ipfix.py | New IPFIX library class providing methods to configure VPP flow exporters and flow probes |
| python/vyos/vpp/ipfix/init.py | Module initialization file for IPFIX library |
| interface-definitions/vpp.xml.in | XML interface definitions for IPFIX configuration options including collectors, interfaces, and flow parameters |
| data/templates/vpp/startup.conf.j2 | VPP startup configuration update to enable flowprobe plugin |
| data/config-mode-dependencies/vyos-vpp.json | Adds vpp_ipfix to configuration dependencies |
| src/conf_mode/vpp.py | Registers vpp_ipfix as a dependent configuration module |
| smoketest/scripts/cli/test_vpp.py | Comprehensive smoke test covering IPFIX configuration, validation, and VPP API verification |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
7d74829 to
9a0eb87
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something is wrong with interface flow-variant and direction
set vpp ipfix active-timeout '135'
set vpp ipfix collector 192.0.0.2 source-address '192.0.0.1'
set vpp ipfix collector 192.0.0.2 template-interval '125'
set vpp ipfix flowprobe-record 'l3'
set vpp ipfix inactive-timeout '135'
set vpp ipfix interface eth1
set vpp settings interface eth0 driver 'dpdk'
set vpp settings interface eth1 driver 'dpdk'
commit
For now everything looks ok with default values for interface options:
vyos@vyos# run show vpp ipfix interfaces
Interface VppIfIndex Flow-variant Direction
----------- ------------ -------------- -----------
eth1 2 ip4 both
[edit]
vyos@vyos# run show vpp ipfix collectors
Collector Source VRF MTU Template Intvl UDP Cksum
-------------- --------- ----- ----- ---------------- -----------
192.0.0.2:4739 192.0.0.1 0 512 125 off
Then we change flow-variant to 'l2'
vyos@vyos# set vpp ipfix interface eth1 flow-variant 'l2'
[edit]
vyos@vyos# commit
[edit]
vyos@vyos# run show vpp ipfix interfaces
Interface VppIfIndex Flow-variant Direction
----------- ------------ -------------- -----------
eth1 2 l2 both
And then try to change direction
vyos@vyos# set vpp ipfix interface eth1 direction 'rx'
[edit]
vyos@vyos# commit
It is still both in op-mode output
vyos@vyos# run show vpp ipfix interfaces
Interface VppIfIndex Flow-variant Direction
----------- ------------ -------------- -----------
eth1 2 l2 both
Now delete ipfix:
vyos@vyos# del vpp ipfix
[edit]
vyos@vyos# commit
It is still in vpp:
vyos@vyos# sudo vppctl sh flowprobe feature
eth1 l2 rx tx
[edit]
vyos@vyos#
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
|
Conflicts have been resolved. A maintainer will review the pull request shortly. |
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' ```
natali-rs1985
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested one more time after the fix and everything works as expected.
|
CI integration ❌ failed! Details
|
dmbaturin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see no issues with the CLI or the logic and I trust @natali-rs1985's testing.
Change summary
Add VPP IPFIX configuration and operational mode commands
Types of changes
Related Task(s)
Related PR(s)
How to test / Smoketest result
Check VPP collector, interfaces and table:
Check collector:
Smoketest:
Checklist: