Fix mac check issue for vitual tunnel interface with no mac address 77/6577/3
authorHongjun Ni <hongjun.ni@intel.com>
Wed, 26 Apr 2017 10:40:55 +0000 (18:40 +0800)
committerJohn Lo <loj@cisco.com>
Sat, 6 May 2017 01:30:07 +0000 (01:30 +0000)
Change-Id: I6ce21317fcaa25781199f4329be815f076ab8b09
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
src/vnet/ethernet/node.c

index 5305012..13474a4 100755 (executable)
@@ -412,9 +412,11 @@ ethernet_input_inline (vlib_main_t * vm,
              else
                {
                  if (!ethernet_address_cast (e0->dst_address) &&
+                     (hi->hw_address != 0) &&
                      !eth_mac_equal ((u8 *) e0, hi->hw_address))
                    error0 = ETHERNET_ERROR_L3_MAC_MISMATCH;
                  if (!ethernet_address_cast (e1->dst_address) &&
+                     (hi->hw_address != 0) &&
                      !eth_mac_equal ((u8 *) e1, hi->hw_address))
                    error1 = ETHERNET_ERROR_L3_MAC_MISMATCH;
                  determine_next_node (em, variant, 0, type0, b0,
@@ -628,6 +630,7 @@ ethernet_input_inline (vlib_main_t * vm,
              else
                {
                  if (!ethernet_address_cast (e0->dst_address) &&
+                     (hi->hw_address != 0) &&
                      !eth_mac_equal ((u8 *) e0, hi->hw_address))
                    error0 = ETHERNET_ERROR_L3_MAC_MISMATCH;
                  determine_next_node (em, variant, 0, type0, b0,