l2: fix vrrp prefix mac comparison 38/32638/3
authorTianyu Li <tianyu.li@arm.com>
Wed, 26 May 2021 06:20:57 +0000 (14:20 +0800)
committerMatthew Smith <mgsmith@netgate.com>
Wed, 9 Jun 2021 13:47:09 +0000 (13:47 +0000)
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

src/vnet/l2/l2_arp_term.c

index 3fcd9c1..17c8b1d 100644 (file)
@@ -332,8 +332,8 @@ arp_term_l2bd (vlib_main_t * vm,
              || 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;