diff options
Diffstat (limited to 'test/test_neighbor.py')
-rw-r--r-- | test/test_neighbor.py | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/test/test_neighbor.py b/test/test_neighbor.py index 7338eff86d3..d11d4abac14 100644 --- a/test/test_neighbor.py +++ b/test/test_neighbor.py @@ -432,14 +432,24 @@ class ARPTestCase(VppTestCase): self.assertEqual(unnum[0].ip_sw_if_index, self.pg1.sw_if_index) self.assertEqual(unnum[0].sw_if_index, self.pg2.sw_if_index) - # - # We should respond to ARP requests for the unnumbered to address - # once an attached route to the source is known - # - self.send_and_assert_no_replies( - self.pg2, p, "ARP req for unnumbered address - no source" + # Allow for ARP requests from point-to-point ethernet neighbors + # without an attached route on pg2 + self.pg2.add_stream(p) + self.pg_enable_capture(self.pg_interfaces) + self.pg_start() + + rx = self.pg2.get_capture(1) + self.verify_arp_resp( + rx[0], + self.pg2.local_mac, + self.pg2.remote_mac, + self.pg1.local_ip4, + self.pg2.remote_hosts[3].ip4, ) + # + # Allow for ARP requests from neighbors on unnumbered with + # an attached route on pg2 attached_host = VppIpRoute( self, self.pg2.remote_hosts[3].ip4, @@ -2166,6 +2176,7 @@ class ARPTestCase(VppTestCase): table_id=1, ).add_vpp_config() + p2.dst = self.pg3.local_mac rxs = self.send_and_expect(self.pg3, [p2], self.pg1) for rx in rxs: self.verify_arp_req(rx, self.pg1.local_mac, "10.0.1.2", "10.0.1.128") |