Message ID | 20190227003523.28733-12-anirudh.venkataramanan@intel.com |
---|---|
State | Accepted |
Delegated to: | Jeff Kirsher |
Headers | show |
Series | Bug fixes and minor feature updates for ice | expand |
> -----Original Message----- > From: Intel-wired-lan [mailto:intel-wired-lan-bounces@osuosl.org] On > Behalf Of Anirudh Venkataramanan > Sent: Tuesday, February 26, 2019 4:35 PM > To: intel-wired-lan@lists.osuosl.org > Subject: [Intel-wired-lan] [PATCH S13 v2 11/17] ice: Set LAN_EN for all > directional rules > > From: Yashaswini Raghuram Prathivadi Bhayankaram > <yashaswini.raghuram.prathivadi.bhayankaram@intel.com> > > The LAN_EN bit for a switch rule determines if the packet can go out on the > wire or not. Set the LAN_EN flag in the switch action for all directional rules. > > Signed-off-by: Yashaswini Raghuram Prathivadi Bhayankaram > <yashaswini.raghuram.prathivadi.bhayankaram@intel.com> > Signed-off-by: Anirudh Venkataramanan > <anirudh.venkataramanan@intel.com> > --- > [Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> cleaned > up commit message] > --- > drivers/net/ethernet/intel/ice/ice_switch.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c index b969a99b2a72..e52cf73b2a55 100644 --- a/drivers/net/ethernet/intel/ice/ice_switch.c +++ b/drivers/net/ethernet/intel/ice/ice_switch.c @@ -652,8 +652,10 @@ static void ice_fill_sw_info(struct ice_hw *hw, struct ice_fltr_info *fi) /* Set lan_en to TRUE if * 1. The switch is a VEB AND * 2 - * 2.1 The lookup is VLAN, OR - * 2.2 The lookup is default port mode, OR + * 2.1 The lookup is a directional lookup like ethertype, + * promiscuous, ethertype-mac, promiscuous-vlan + * and default-port OR + * 2.2 The lookup is VLAN, OR * 2.3 The lookup is MAC with mcast or bcast addr for MAC, OR * 2.4 The lookup is MAC_VLAN with mcast or bcast addr for MAC. * @@ -664,8 +666,12 @@ static void ice_fill_sw_info(struct ice_hw *hw, struct ice_fltr_info *fi) * In all other cases, the LAN enable has to be set to false. */ if (hw->evb_veb) { - if (fi->lkup_type == ICE_SW_LKUP_VLAN || + if (fi->lkup_type == ICE_SW_LKUP_ETHERTYPE || + fi->lkup_type == ICE_SW_LKUP_PROMISC || + fi->lkup_type == ICE_SW_LKUP_ETHERTYPE_MAC || + fi->lkup_type == ICE_SW_LKUP_PROMISC_VLAN || fi->lkup_type == ICE_SW_LKUP_DFLT || + fi->lkup_type == ICE_SW_LKUP_VLAN || (fi->lkup_type == ICE_SW_LKUP_MAC && !is_unicast_ether_addr(fi->l_data.mac.mac_addr)) || (fi->lkup_type == ICE_SW_LKUP_MAC_VLAN &&