bianbu-linux-6.6/drivers/net
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
..
appletalk
arcnet
bonding pull-request: bpf-next 2023-08-03 2023-08-03 15:34:36 -07:00
caif
can can: esd_usb: Add support for esd CAN-USB/3 2023-08-03 09:24:30 +02:00
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
ethernet ice: Add direction metadata 2023-08-07 13:01:29 -07:00
fddi
fjes
hamradio
hippi
hyperv eth: add missing xdp.h includes in drivers 2023-08-03 08:38:07 -07:00
ieee802154 net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
ipa net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
ipvlan Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-06-27 09:45:22 -07:00
mctp mctp i2c: Switch back to use struct i2c_driver's .probe() 2023-06-13 20:46:20 -07:00
mdio net: mdio: Remove unnecessary (void*) conversions 2023-07-18 19:00:47 -07:00
netdevsim netdevsim: add dummy macsec offload 2023-07-14 09:16:53 +01:00
pcs net: phy/pcs: Explicitly include correct DT includes 2023-07-26 21:55:37 -07:00
phy net: sfp: Remove unused function declaration sfp_link_configure() 2023-08-07 08:53:55 +01:00
plip
ppp net: ppp: Remove unnecessary (void*) conversions 2023-07-18 19:00:47 -07:00
pse-pd
slip
team team: Remove NULL check before dev_{put, hold} 2023-07-29 16:58:00 +01:00
thunderbolt
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
vmxnet3
vxlan Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-07-27 15:22:46 -07:00
wan net: lapbether: only support ethernet devices 2023-06-15 08:55:22 +01:00
wireguard wireguard: timers: move to using timer_delete_sync 2023-07-03 09:17:52 +01:00
wireless wireless-next patches for v6.6 2023-08-04 18:34:25 -07:00
wwan net: wwan: t7xx: Add AP CLDMA 2023-07-12 17:16:56 -07:00
xen-netback asm-generic updates for 6.5 2023-07-06 10:06:04 -07:00
amt.c
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c gtp: Set TOS and routing scope independently for fib lookups. 2023-07-19 12:32:07 +01:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c net: macsec: fix double free of percpu stats 2023-06-15 11:41:01 +01:00
macvlan.c net: macvlan: convert to ndo_hwtstamp_get() / ndo_hwtstamp_set() 2023-08-02 19:11:06 -07:00
macvtap.c
Makefile
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c netconsole: Use kstrtobool() instead of kstrtoint() 2023-07-24 16:06:20 -07:00
nlmon.c
ntb_netdev.c ntb_netdev: Fix module_init problem 2023-07-08 11:03:53 -04:00
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c pull-request: bpf-next 2023-08-03 2023-08-03 15:34:36 -07:00
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
veth.c
virtio_net.c pull-request: bpf-next 2023-08-03 2023-08-03 15:34:36 -07:00
vrf.c vrf: Fix lockdep splat in output path 2023-07-18 12:49:57 +02:00
vsockmon.c
xen-netfront.c