summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHongjun Ni <hongjun.ni@intel.com>2017-04-26 18:40:55 +0800
committerNeale Ranns <nranns@cisco.com>2017-05-08 07:57:16 +0000
commit4deb95592ea5bc2c05861ddb906bbabc4555abe6 (patch)
tree6a7471303ee10fcfd2407c919597cbbea695bd6d
parent1407883372cc4d068f7d63f3e56bdc57348f836c (diff)
Fix mac check issue for vitual tunnel interface with no mac address
Change-Id: I6ce21317fcaa25781199f4329be815f076ab8b09 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
-rwxr-xr-xsrc/vnet/ethernet/node.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vnet/ethernet/node.c b/src/vnet/ethernet/node.c
index b699e381f91..5a811fdadbb 100755
--- a/src/vnet/ethernet/node.c
+++ b/src/vnet/ethernet/node.c
@@ -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,