diff options
author | John Lo <loj@cisco.com> | 2016-06-04 00:02:37 -0400 |
---|---|---|
committer | John Lo <loj@cisco.com> | 2016-06-04 00:02:37 -0400 |
commit | 19042148849d2a71a79277f73aafbbd1b9478466 (patch) | |
tree | 82a713b4ee0a008f010fb3eacf5b60143584f01a /vnet/vnet/ethernet/ethernet.h | |
parent | 2671f1188d41313a6b54f5bd3d83973850f34934 (diff) |
VPP-113: BVI shall filter unicast DMAC for L2 to L3 forwading
As BVI receive a packet with unicast DMAC from the BD, including unknown
unicast flood packet, the packet should not be L3 forwarded unless its
DMAC matches the MAC of the BVI.
Change-Id: I46e18629c901062592c8ebe3a238c5cfdc1096b4
Signed-off-by: John Lo <loj@cisco.com>
Diffstat (limited to 'vnet/vnet/ethernet/ethernet.h')
-rw-r--r-- | vnet/vnet/ethernet/ethernet.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vnet/vnet/ethernet/ethernet.h b/vnet/vnet/ethernet/ethernet.h index f519f4f3190..97c66e7593a 100644 --- a/vnet/vnet/ethernet/ethernet.h +++ b/vnet/vnet/ethernet/ethernet.h @@ -472,6 +472,14 @@ eth_identify_subint (vnet_hw_interface_t * hi, return 1; } +// Compare two ethernet macs. Return 1 if they are the same, 0 if different +always_inline u32 +eth_mac_equal (u8 * mac1, u8 * mac2) { + return (*((u32 *)(mac1+0)) == *((u32 *)(mac2+0)) && + *((u32 *)(mac1+2)) == *((u32 *)(mac2+2))); +} + + always_inline ethernet_main_t * vnet_get_ethernet_main (void) { |