diff options
| author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2026-04-24 15:13:57 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-24 15:13:57 +0300 |
| commit | bce0b25640665f105f3fd270f6ba9571d14fb6e6 (patch) | |
| tree | 664b903b3a00e168f3aef0f729a11ddd6e2589e3 /smoketest/scripts/cli | |
| parent | b24eaac8fd4c56e98d33ad106382ce035d2a40f3 (diff) | |
| parent | de8d0867506738e80d38f84fa93701bf3fe05c7a (diff) | |
| download | vyos-1x-bce0b25640665f105f3fd270f6ba9571d14fb6e6.tar.gz vyos-1x-bce0b25640665f105f3fd270f6ba9571d14fb6e6.zip | |
Merge pull request #5129 from inetman28/fix-acl-subinterfaces
VPP: T8495: fix issue with assigning acl on sub interfaces
Diffstat (limited to 'smoketest/scripts/cli')
| -rwxr-xr-x | smoketest/scripts/cli/test_vpp.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/smoketest/scripts/cli/test_vpp.py b/smoketest/scripts/cli/test_vpp.py index e987da8df..59dbb2272 100755 --- a/smoketest/scripts/cli/test_vpp.py +++ b/smoketest/scripts/cli/test_vpp.py @@ -1454,6 +1454,46 @@ class TestVPP(VyOSUnitTestSHIM.TestCase): # Ensure that VPP process is active self.assertTrue(process_named_running(PROCESS_NAME)) + def test_23_vpp_acl_subinterface(self): + base_acl = base_path + ['acl', 'ip'] + vlan = '200' + subif = f'{interface}.{vlan}' + acl_name = 'STATEFUL' + acl_tag = '10' + rule = '10' + + self.cli_set(['interfaces', 'ethernet', interface, 'vif', vlan]) + self.cli_set( + base_acl + ['tag-name', acl_name, 'rule', rule, 'action', 'permit'] + ) + self.cli_set( + base_acl + + ['interface', subif, 'input', 'acl-tag', acl_tag, 'tag-name', acl_name] + ) + self.cli_commit() + + vpp = VPPControl() + subif_index = vpp.get_sw_if_index(subif) + self.assertIsNotNone(subif_index) + + acl_index = None + for acl in vpp.api.acl_dump(acl_index=0xFFFFFFFF): + if acl.tag == acl_name: + acl_index = acl.acl_index + break + self.assertIsNotNone(acl_index) + + acl_interfaces = [ + entry + for entry in vpp.api.acl_interface_list_dump() + if entry.sw_if_index == subif_index and entry.count != 0 + ] + self.assertEqual(len(acl_interfaces), 1) + self.assertEqual(acl_interfaces[0].n_input, 1) + self.assertEqual( + list(acl_interfaces[0].acls)[: acl_interfaces[0].count], [acl_index] + ) + if __name__ == '__main__': unittest.main(verbosity=2, failfast=VyOSUnitTestSHIM.TestCase.debug_on()) |
