bianbu-linux-6.6/drivers/net/ethernet
Marcin Szycik 0960a27bd4 ice: Add direction metadata
Currently it is possible to create a filter which breaks TX traffic, e.g.:

tc filter add dev $PF1 ingress protocol ip prio 1 flower ip_proto udp
dst_port $PORT action mirred egress redirect dev $VF1_PR

This adds a rule which might match both TX and RX traffic, and in TX path
the PF will actually receive the traffic, which breaks communication.

To fix this, add a match on direction metadata flag when adding a tc rule.

Because of the way metadata is currently handled, a duplicate lookup word
would appear if VLAN metadata is also added. The lookup would still work
correctly, but one word would be wasted. To prevent it, lookup 0 now always
contains all metadata. When any metadata needs to be added, it is added to
lookup 0 and lookup count is not incremented. This way, two flags residing
in the same word will take up one word, instead of two.

Note: the drop action is also affected, i.e. it will now only work in one
direction.

Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2023-08-07 13:01:29 -07:00
..
3com 3c589_cs: Fix an error handling path in tc589_probe() 2023-05-22 19:17:58 -07:00
8390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-05-18 14:39:34 -07:00
actions
adaptec
adi net: ethernet: adi: adin1110: use eth_broadcast_addr() to assign broadcast address 2023-08-06 13:22:47 +01:00
aeroflex net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
agere
alacritech net: ethernet: slicoss: remove redundant increment of pointer data 2023-07-28 15:37:08 -07:00
allwinner
alteon
altera net: altera_tse: explicitly disable autoscan on the regmap-mdio bus 2023-06-07 13:30:12 -07:00
amazon eth: add missing xdp.h includes in drivers 2023-08-03 08:38:07 -07:00
amd pds_core: Fix documentation for pds_client_register 2023-08-02 12:28:32 -07:00
apm drivers: net: xgene: Do not check for 0 return after calling platform_get_irq() 2023-08-03 14:50:15 +02:00
apple net/macmace: Replace zero-length array with DECLARE_FLEX_ARRAY() helper 2023-08-01 14:46:21 -07:00
aquantia net: atlantic: Remove unnecessary (void*) conversions 2023-07-18 19:00:47 -07:00
arc net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
asix
atheros net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
brocade Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-07-20 15:52:55 -07:00
cadence net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
calxeda
cavium Networking changes for 6.5. 2023-06-28 16:43:10 -07:00
chelsio net: flow_dissector: Use 64bits for used_keys 2023-07-31 09:11:24 +01:00
cirrus cirrus: cs89x0: fix the return value handle and remove redundant dev_warn() for platform_get_irq() 2023-08-02 12:10:39 -07:00
cisco
cortina net: gemini: Do not check for 0 return after calling platform_get_irq() 2023-08-03 14:50:28 +02:00
davicom
dec
dlink
emulex benet: fix return value check in be_lancer_xmit_workarounds() 2023-07-27 10:31:38 +02:00
engleder eth: add missing xdp.h includes in drivers 2023-08-03 08:38:07 -07:00
ezchip net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
faraday net: ftgmac100: support getting MAC address from NVMEM 2023-07-18 09:15:40 +02:00
freescale eth: dpaa: add missing net/xdp.h include 2023-08-03 16:17:34 -07:00
fujitsu
fungible eth: add missing xdp.h includes in drivers 2023-08-03 08:38:07 -07:00
google gve: RX path for DQO-QPL 2023-08-06 08:34:36 +01:00
hisilicon net: hns3: Remove unused function declarations 2023-08-04 15:33:27 -07:00
huawei
i825xx
ibm ibmvnic: remove unused rc variable 2023-08-06 13:20:44 +01:00
intel ice: Add direction metadata 2023-08-07 13:01:29 -07:00
litex net: ethernet: litex: add support for 64 bit stats 2023-06-15 22:56:46 -07:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
mediatek net: ethernet: mtk_eth_soc: support per-flow accounting on MT7988 2023-08-03 11:28:37 +02:00
mellanox mlxsw: spectrum: Remove unused function declarations 2023-08-04 18:03:05 -07:00
micrel
microchip net: lan966x: Do not check 0 for platform_get_irq_byname() 2023-08-04 11:10:33 +01:00
microsoft net: mana: Add page pool for RX buffers 2023-08-06 08:36:06 +01:00
moxa
mscc net: flow_dissector: Use 64bits for used_keys 2023-07-31 09:11:24 +01:00
myricom net: move gso declarations and functions to their own files 2023-06-10 00:11:41 -07:00
natsemi
neterion
netronome net: flow_dissector: Use 64bits for used_keys 2023-07-31 09:11:24 +01:00
ni net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
nvidia forcedeth: Fix an error handling path in nv_probe() 2023-05-22 19:17:28 -07:00
nxp
oki-semi net: pch_gbe: Allow build on MIPS_GENERIC kernel 2023-06-08 19:18:32 -07:00
packetengines
pasemi
pensando ionic: add FLR recovery support 2023-07-24 10:42:34 +01:00
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
qualcomm net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
rdc
realtek Revert "r8169: disable ASPM during NAPI poll" 2023-07-19 21:09:11 -07:00
renesas net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
rocker
samsung
seeq
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
sgi
silan
sis
smsc net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
socionext Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
stmicro pull-request: bpf-next 2023-08-03 2023-08-03 15:34:36 -07:00
sun net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
sunplus
synopsys
tehuti
ti pull-request: bpf-next 2023-08-03 2023-08-03 15:34:36 -07:00
toshiba
tundra
vertexcom
via net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
wangxun Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-07-20 15:52:55 -07:00
wiznet
xilinx Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig
korina.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
lantiq_etop.c
lantiq_xrx200.c
Makefile