summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHongjun Ni <hongjun.ni@intel.com>2017-04-26 18:40:55 +0800
committerJohn Lo <loj@cisco.com>2017-05-06 01:30:07 +0000
commit9e3e361eb1d400e79303126f245ae6152ae029cd (patch)
tree64a759571499a4734b37ea9ca62ed1979d068e19
parentd48c8eb7354c6c8b5b875dc70d616d11c17e9fb8 (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 5305012f26d..13474a43ad0 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,