Message ID | 20240315110821.511321-3-michal.swiatkowski@linux.intel.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | ice: two fixes for tc code | expand |
On Fri, Mar 15, 2024 at 12:08:21PM +0100, Michal Swiatkowski wrote: > The check for flags is done to not pass empty lookups to adding switch > rule functions. Since metadata is always added to lookups there is no > need to check against the flag. > > It is also fixing the problem with such rule: > $ tc filter add dev gtp_dev ingress protocol ip prio 0 flower \ > enc_dst_port 2123 action drop > Switch block in case of GTP can't parse the destination port, because it > should always be set to GTP specific value. The same with ethertype. The > result is that there is no other matching criteria than GTP tunnel. In > this case flags is 0, rule can't be added only because of defensive > check against flags. > > Fixes: 9a225f81f540 ("ice: Support GTP-U and GTP-C offload in switchdev") > Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> > Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> Reviewed-by: Simon Horman <horms@kernel.org>
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Michal Swiatkowski > Sent: Friday, March 15, 2024 4:38 PM > To: intel-wired-lan@lists.osuosl.org > Cc: netdev@vger.kernel.org; Drewek, Wojciech > <wojciech.drewek@intel.com>; Michal Swiatkowski > <michal.swiatkowski@linux.intel.com> > Subject: [Intel-wired-lan] [iwl-net v1 2/2] ice: tc: allow zero flags in parsing tc > flower > > The check for flags is done to not pass empty lookups to adding switch rule > functions. Since metadata is always added to lookups there is no need to > check against the flag. > > It is also fixing the problem with such rule: > $ tc filter add dev gtp_dev ingress protocol ip prio 0 flower \ > enc_dst_port 2123 action drop > Switch block in case of GTP can't parse the destination port, because it > should always be set to GTP specific value. The same with ethertype. The > result is that there is no other matching criteria than GTP tunnel. In this case > flags is 0, rule can't be added only because of defensive check against flags. > > Fixes: 9a225f81f540 ("ice: Support GTP-U and GTP-C offload in switchdev") > Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> > Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> > --- > drivers/net/ethernet/intel/ice/ice_tc_lib.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
diff --git a/drivers/net/ethernet/intel/ice/ice_tc_lib.c b/drivers/net/ethernet/intel/ice/ice_tc_lib.c index a8c686ecd1a0..f8df93e1a9de 100644 --- a/drivers/net/ethernet/intel/ice/ice_tc_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_tc_lib.c @@ -779,7 +779,7 @@ ice_eswitch_add_tc_fltr(struct ice_vsi *vsi, struct ice_tc_flower_fltr *fltr) int ret; int i; - if (!flags || (flags & ICE_TC_FLWR_FIELD_ENC_SRC_L4_PORT)) { + if (flags & ICE_TC_FLWR_FIELD_ENC_SRC_L4_PORT) { NL_SET_ERR_MSG_MOD(fltr->extack, "Unsupported encap field(s)"); return -EOPNOTSUPP; }