linux/drivers/net/ethernet/intel/ice
Akeem G Abodunrin bbb968e8b3 ice: Fix issues updating VSI MAC filters
VSI, especially VF could request to add or remove filter for another VSI,
driver should really guide such request and disallow it.
However, instead of returning error for such malicious request, driver
can simply return success.

In addition, we are not tracking number of MAC filters configured per
VF correctly - and this leads to issue updating VF MAC filters whenever
they were removed and re-configured via bringing VF interface down and
up. Also, since VF could send request to update multiple MAC filters at
once, driver should program those filters individually in the switch, in
order to determine which action resulted to error, and communicate
accordingly to the VF.

So, with this changes, we now track number of filters added right from
when VF resources allocation is done, and could properly add filters for
both trusted and non_trusted VFs, without MAC filters mis-match issue in
the switch...

Also refactor code, so that driver can use new function to add or remove
MAC filters.

Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2019-08-23 10:46:53 -07:00
..
ice.h ice: update ethtool stats on-demand 2019-08-23 10:34:27 -07:00
ice_adminq_cmd.h ice: silence some bogus error messages 2019-08-23 10:20:32 -07:00
ice_common.c ice: Don't clear auto_fec bit in ice_cfg_phy_fec() 2019-08-23 10:25:39 -07:00
ice_common.h ice: separate out control queue lock creation 2019-07-31 10:23:04 -07:00
ice_controlq.c ice: separate out control queue lock creation 2019-07-31 10:23:04 -07:00
ice_controlq.h ice: Trivial cosmetic changes 2019-05-30 10:57:55 -07:00
ice_dcb.c ice: Treat DCBx state NOT_STARTED as valid 2019-08-23 09:55:55 -07:00
ice_dcb.h ice: Refactor the LLDP MIB change event handling 2019-05-23 10:51:53 -07:00
ice_dcb_lib.c ice: Rename ethtool private flag for lldp 2019-08-23 10:15:15 -07:00
ice_dcb_lib.h ice: Fix hang when ethtool disables FW LLDP 2019-05-23 10:51:53 -07:00
ice_devids.h
ice_ethtool.c ice: update ethtool stats on-demand 2019-08-23 10:34:27 -07:00
ice_hw_autogen.h ice: Set WB_ON_ITR when we don't re-enable interrupts 2019-08-20 14:21:21 -07:00
ice_lan_tx_rx.h ice: Always set prefena when configuring an Rx queue 2019-07-31 10:23:04 -07:00
ice_lib.c ice: Fix issues updating VSI MAC filters 2019-08-23 10:46:53 -07:00
ice_lib.h ice: Fix issues updating VSI MAC filters 2019-08-23 10:46:53 -07:00
ice_main.c ice: Fix issues updating VSI MAC filters 2019-08-23 10:46:53 -07:00
ice_nvm.c ice: Add handler for ethtool selftest 2019-05-29 02:44:12 -07:00
ice_osdep.h
ice_sched.c ice: Use struct_size() helper 2019-06-28 14:54:11 -07:00
ice_sched.h ice: Add code for DCB initialization part 3/4 2019-04-18 08:38:47 -07:00
ice_sriov.c
ice_sriov.h
ice_status.h ice: Add handler for ethtool selftest 2019-05-29 02:44:12 -07:00
ice_switch.c ice: Add switch rules to handle LLDP packets 2019-05-30 10:31:42 -07:00
ice_switch.h ice: Minor cleanup in ice_switch.h 2019-05-29 02:55:34 -07:00
ice_txrx.c ice: Allow egress control packets from PF_VSI 2019-08-23 09:17:45 -07:00
ice_txrx.h ice: Set WB_ON_ITR when we don't re-enable interrupts 2019-08-20 14:21:21 -07:00
ice_type.h ice: Trivial cosmetic changes 2019-05-30 10:57:55 -07:00
ice_virtchnl_pf.c ice: Fix issues updating VSI MAC filters 2019-08-23 10:46:53 -07:00
ice_virtchnl_pf.h ice: Move VF resources definition to SR-IOV specific file 2019-08-20 14:40:46 -07:00
Makefile ice: Add code for DCB initialization part 1/4 2019-04-18 08:38:47 -07:00