Commit 83c21335 authored by Yury Kylulin's avatar Yury Kylulin Committed by Jeff Kirsher

igb: improve MAC filter handling

Using the work which was done for ixgbe driver by Jacob Keller
commit 5d7daa35 ("ixgbe: improve mac filter handling") and Alexander
Duyck commit 0f079d22 ("ixgbe: Use __dev_uc_sync and __dev_uc_unsync
for unicast addresses") and out-of-tree igb driver add functionality to
manage (add and delete) MAC filters.
Signed-off-by: default avatarYury Kylulin <yury.kylulin@intel.com>
Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 5313eecc
...@@ -449,6 +449,15 @@ struct igb_nfc_filter { ...@@ -449,6 +449,15 @@ struct igb_nfc_filter {
u16 action; u16 action;
}; };
struct igb_mac_addr {
u8 addr[ETH_ALEN];
u8 queue;
u8 state; /* bitmask */
};
#define IGB_MAC_STATE_DEFAULT 0x1
#define IGB_MAC_STATE_IN_USE 0x2
/* board specific private data structure */ /* board specific private data structure */
struct igb_adapter { struct igb_adapter {
unsigned long active_vlans[BITS_TO_LONGS(VLAN_N_VID)]; unsigned long active_vlans[BITS_TO_LONGS(VLAN_N_VID)];
...@@ -575,6 +584,8 @@ struct igb_adapter { ...@@ -575,6 +584,8 @@ struct igb_adapter {
/* lock for RX network flow classification filter */ /* lock for RX network flow classification filter */
spinlock_t nfc_lock; spinlock_t nfc_lock;
bool etype_bitmap[MAX_ETYPE_FILTER]; bool etype_bitmap[MAX_ETYPE_FILTER];
struct igb_mac_addr *mac_table;
}; };
/* flags controlling PTP/1588 function */ /* flags controlling PTP/1588 function */
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment