X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=test%2Ftest_abf.py;h=ecd8c5362300cc432e0c95ce5ef035da9aeee35e;hp=cff56c4d3092fbf00d1930f54dc4af06d4c848d3;hb=8feeaff56;hpb=a279d9cf615bd60439085ba103125e6f2fa3b27c diff --git a/test/test_abf.py b/test/test_abf.py index cff56c4d309..ecd8c536230 100644 --- a/test/test_abf.py +++ b/test/test_abf.py @@ -5,7 +5,7 @@ import unittest from framework import VppTestCase, VppTestRunner from vpp_ip import DpoProto -from vpp_ip_route import VppIpRoute, VppRoutePath, VppMplsLabel +from vpp_ip_route import VppIpRoute, VppRoutePath, VppMplsLabel, VppIpTable from scapy.packet import Raw from scapy.layers.l2 import Ether @@ -144,9 +144,9 @@ class TestAbf(VppTestCase): def setUp(self): super(TestAbf, self).setUp() - self.create_pg_interfaces(range(4)) + self.create_pg_interfaces(range(5)) - for i in self.pg_interfaces: + for i in self.pg_interfaces[:4]: i.admin_up() i.config_ip4() i.resolve_arp() @@ -171,7 +171,7 @@ class TestAbf(VppTestCase): # the application of ACLs to a forwarding path to achieve # ABF # So we construct just a few ACLs to ensure the ABF policies - # are correclty constructed and used. And a few path types + # are correctly constructed and used. And a few path types # to test the API path decoding. # @@ -266,6 +266,30 @@ class TestAbf(VppTestCase): self.send_and_assert_no_replies(self.pg1, p_2 * 65, "Detached") + # + # Swap to route via a next-hop in the non-default table + # + table_20 = VppIpTable(self, 20) + table_20.add_vpp_config() + + self.pg4.set_table_ip4(table_20.table_id) + self.pg4.admin_up() + self.pg4.config_ip4() + self.pg4.resolve_arp() + + abf_13 = VppAbfPolicy(self, 13, acl_1, + [VppRoutePath(self.pg4.remote_ip4, + 0xffffffff, + nh_table_id=table_20.table_id)]) + abf_13.add_vpp_config() + attach_5 = VppAbfAttach(self, 13, self.pg0.sw_if_index, 30) + attach_5.add_vpp_config() + + self.send_and_expect(self.pg0, p_1*65, self.pg4) + + self.pg4.unconfig_ip4() + self.pg4.set_table_ip4(0) + def test_abf6(self): """ IPv6 ACL Based Forwarding """