diff options
| author | Nataliia Solomko <natalirs1985@gmail.com> | 2025-10-17 15:21:41 +0300 |
|---|---|---|
| committer | Nataliia Solomko <natalirs1985@gmail.com> | 2025-10-21 17:30:51 +0300 |
| commit | 4c08b0694c65f1bb434538980a44a94e5ae15d24 (patch) | |
| tree | 3dd2693a0b88338d37583aa4dbc837ef9153c246 /smoketest/scripts/cli | |
| parent | 69a9b93f71c818bf134ea06ad73d86a513628f06 (diff) | |
| download | vyos-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-x | smoketest/scripts/cli/test_vpp.py | 37 |
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' |
