aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenoît Ganne <bganne@cisco.com>2022-09-12 17:56:16 +0200
committerNeale Ranns <neale@graphiant.com>2022-09-19 01:25:15 +0000
commit114b154659fc647881d50d5bf1ae10c97090254e (patch)
treeff21e33867cc2d7b82137b9974804426841451fc
parent59abf89dda5e0d216892af503898c1307aae0c3d (diff)
arp: update error reason when checking for proxy-arp
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 <bganne@cisco.com>
-rw-r--r--src/vnet/arp/arp.c1
-rw-r--r--test/test_neighbor.py6
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"),
)