From 114b154659fc647881d50d5bf1ae10c97090254e Mon Sep 17 00:00:00 2001 From: Benoît Ganne Date: Mon, 12 Sep 2022 17:56:16 +0200 Subject: arp: update error reason when checking for proxy-arp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When we follow arp feature arc for proxy-arp, we should still update the error reason in case proxy-arp cannot handle the arp request and drops it. Type: improvement Change-Id: I046df017ca2056cfc12af0f0a968b401058bcd6d Signed-off-by: Benoît Ganne --- src/vnet/arp/arp.c | 1 - test/test_neighbor.py | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/vnet/arp/arp.c b/src/vnet/arp/arp.c index 6319f886b70..ce3eb399477 100644 --- a/src/vnet/arp/arp.c +++ b/src/vnet/arp/arp.c @@ -658,7 +658,6 @@ arp_reply (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) next_feature: vnet_feature_next (&next0, p0); - goto enqueue; drop: p0->error = node->errors[error0]; diff --git a/test/test_neighbor.py b/test/test_neighbor.py index 503b1f11456..58d98a36d92 100644 --- a/test/test_neighbor.py +++ b/test/test_neighbor.py @@ -1762,6 +1762,10 @@ class ARPTestCase(VppTestCase): # self.pg2.configure_ipv4_neighbors() + cntr = self.statistics.get_err_counter( + "/err/arp-reply/l3_dst_address_not_local" + ) + for op in ["is-at", "who-has"]: p1 = [ ( @@ -1793,7 +1797,7 @@ class ARPTestCase(VppTestCase): # they are all dropped because the subnet's don't match self.assertEqual( - 4, + cntr + 4, self.statistics.get_err_counter("/err/arp-reply/l3_dst_address_not_local"), ) -- cgit 1.2.3-korg