]> git.baikalelectronics.ru Git - kernel.git/commit
ice: fix adding different tunnels
authorMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
Mon, 22 Nov 2021 15:39:25 +0000 (16:39 +0100)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 7 Dec 2021 21:21:01 +0000 (13:21 -0800)
commit69e9bfa8984823f48ef8fc415ecfe4166ef31000
tree3486043a1dbf17df463f68c6aa915554a13357c4
parentd1d40a488d516f8756d9817769cf51e58de13ac4
ice: fix adding different tunnels

Adding filters with the same values inside for VXLAN and Geneve causes HW
error, because it looks exactly the same. To choose between different
type of tunnels new recipe is needed. Add storing tunnel types in
creating recipes function and start checking it in finding function.

Change getting open tunnels function to return port on correct tunnel
type. This is needed to copy correct port to dummy packet.

Block user from adding enc_dst_port via tc flower, because VXLAN and
Geneve filters can be created only with destination port which was
previously opened.

Fixes: c84cfc84ddfa5 ("ice: low level support for tunnels")
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
drivers/net/ethernet/intel/ice/ice_fdir.c
drivers/net/ethernet/intel/ice/ice_flex_pipe.c
drivers/net/ethernet/intel/ice/ice_flex_pipe.h
drivers/net/ethernet/intel/ice/ice_switch.c
drivers/net/ethernet/intel/ice/ice_tc_lib.c