l2: fix vrrp prefix mac comparison
VRRP prefix length is 5 bytes, doesn't make sense
to compare with 6 bytes mac address
Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I70a9c9ca769f34a81cd568f9e6b9a3538e6ec710
diff --git a/src/vnet/l2/l2_arp_term.c b/src/vnet/l2/l2_arp_term.c
index 3fcd9c1..17c8b1d 100644
--- a/src/vnet/l2/l2_arp_term.c
+++ b/src/vnet/l2/l2_arp_term.c
@@ -332,8 +332,8 @@
|| ethernet_address_cast (arp0->ip4_over_ethernet[0].mac.bytes))
{
/* VRRP virtual MAC may be different to SMAC in ARP reply */
- if (!ethernet_mac_address_equal
- (arp0->ip4_over_ethernet[0].mac.bytes, vrrp_prefix))
+ if (clib_memcmp (arp0->ip4_over_ethernet[0].mac.bytes,
+ vrrp_prefix, sizeof (vrrp_prefix)) != 0)
{
error0 = ETHERNET_ARP_ERROR_l2_address_mismatch;
goto drop;