summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli
diff options
context:
space:
mode:
authorNataliia Solomko <natalirs1985@gmail.com>2025-10-17 15:21:41 +0300
committerNataliia Solomko <natalirs1985@gmail.com>2025-10-21 17:30:51 +0300
commit4c08b0694c65f1bb434538980a44a94e5ae15d24 (patch)
tree3dd2693a0b88338d37583aa4dbc837ef9153c246 /smoketest/scripts/cli
parent69a9b93f71c818bf134ea06ad73d86a513628f06 (diff)
downloadvyos-1x-4c08b0694c65f1bb434538980a44a94e5ae15d24.tar.gz
vyos-1x-4c08b0694c65f1bb434538980a44a94e5ae15d24.zip
T7938: VPP: Rewrite sFlow implementation
Execute commands for vpp sflow with API calls. Use values for polling interval and sampling rate from 'system sflow'. Add op-mode command
Diffstat (limited to 'smoketest/scripts/cli')
-rwxr-xr-xsmoketest/scripts/cli/test_vpp.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/smoketest/scripts/cli/test_vpp.py b/smoketest/scripts/cli/test_vpp.py
index 6b8f3061d..d0b9458fb 100755
--- a/smoketest/scripts/cli/test_vpp.py
+++ b/smoketest/scripts/cli/test_vpp.py
@@ -1423,10 +1423,17 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
def test_17_vpp_sflow(self):
base_sflow = ['system', 'sflow']
+ sampling_rate = '1500'
+ polling_interval = '55'
+ header_bytes = '256'
+ iface_2 = 'eth0'
self.cli_set(base_path + ['sflow', 'interface', interface])
+ self.cli_set(base_path + ['sflow', 'header-bytes', header_bytes])
self.cli_set(base_sflow + ['interface', interface])
self.cli_set(base_sflow + ['server', '127.0.0.1'])
+ self.cli_set(base_sflow + ['sampling-rate', sampling_rate])
+ self.cli_set(base_sflow + ['polling', polling_interval])
self.cli_set(base_sflow + ['vpp'])
self.cli_commit()
@@ -1434,7 +1441,10 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
_, out = rc_cmd('sudo vppctl show sflow')
expected_entries = (
+ f'sflow sampling-rate {sampling_rate}',
'sflow sampling-direction ingress',
+ f'sflow polling-interval {polling_interval}',
+ f'sflow header-bytes {header_bytes}',
f'sflow enable {interface}',
'interfaces enabled: 1',
)
@@ -1442,9 +1452,36 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
for expected_entry in expected_entries:
self.assertIn(expected_entry, out)
+ self.cli_set(base_path + ['settings', 'interface', iface_2, 'driver', driver])
+ self.cli_set(base_path + ['sflow', 'interface', iface_2])
+
+ self.cli_commit()
+
+ # Check sFlow
+ _, out = rc_cmd('sudo vppctl show sflow')
+
+ expected_entries = (
+ f'sflow enable {interface}',
+ f'sflow enable {iface_2}',
+ 'interfaces enabled: 2',
+ )
+
+ for expected_entry in expected_entries:
+ self.assertIn(expected_entry, out)
+
+ # cannot delete system sFlow configuration if VPP sFlow is configured
+ # expect raise ConfigError
self.cli_delete(base_sflow)
+ with self.assertRaises(ConfigSessionError):
+ self.cli_commit()
+
+ self.cli_delete(base_path + ['sflow'])
self.cli_commit()
+ # Check interfaces are deleted from VPP sFlow
+ _, out = rc_cmd('sudo vppctl show sflow')
+ self.assertIn('interfaces enabled: 0', out)
+
def test_18_resource_limits(self):
max_map_count = '100000'
shmmax = '55555555555555'