diff options
author | Arjun Vynipadath <arjun@chelsio.com> | 2019-02-01 14:37:04 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-03 22:08:36 +0300 |
commit | 3f8cfd0d95e65ddc6aef70ef28b80cdc3d8ad7e4 (patch) | |
tree | cc1780dc4e172c50a604d374694bceb6629fba05 /drivers/net/ethernet/chelsio/cxgb4vf/adapter.h | |
parent | 1d2f4ebbbeb1ec055dcd3cf3dba833cfd0a84f3a (diff) | |
download | linux-3f8cfd0d95e65ddc6aef70ef28b80cdc3d8ad7e4.tar.xz |
cxgb4/cxgb4vf: Program hash region for {t4/t4vf}_change_mac()
{t4/t4_vf}_change_mac() API's were only doing additions to MPS_TCAM.
This will fail, when the number of tcam entries is limited particularly
in vf's.
This fix programs hash region with the mac address, when TCAM
addtion fails for {t4/t4vf}_change_mac(). Since the locally maintained
driver list for hash entries is shared across mac_{sync/unsync}(),
added an extra parameter if_mac to track the address added thorugh
{t4/t4vf}_change_mac()
Signed-off-by: Arjun Vynipadath <arjun@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb4vf/adapter.h')
-rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4vf/adapter.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/adapter.h b/drivers/net/ethernet/chelsio/cxgb4vf/adapter.h index 5883f09e3804..26f48a14d2f9 100644 --- a/drivers/net/ethernet/chelsio/cxgb4vf/adapter.h +++ b/drivers/net/ethernet/chelsio/cxgb4vf/adapter.h @@ -94,7 +94,7 @@ struct port_info { struct adapter *adapter; /* our adapter */ u32 vlan_id; /* vlan id for VST */ u16 viid; /* virtual interface ID */ - s16 xact_addr_filt; /* index of our MAC address filter */ + int xact_addr_filt; /* index of our MAC address filter */ u16 rss_size; /* size of VI's RSS table slice */ u8 pidx; /* index into adapter port[] */ s8 mdio_addr; @@ -352,6 +352,7 @@ struct sge { struct hash_mac_addr { struct list_head list; u8 addr[ETH_ALEN]; + unsigned int iface_mac; }; struct mbox_list { |