linux/drivers/net
Ong Boon Leong e48cb313fd net: stmmac: add tc flower filter for EtherType matching
This patch adds basic support for EtherType RX frame steering for
LLDP and PTP using the hardware offload capabilities.

Example steps for setting up RX frame steering for LLDP and PTP:
$ IFDEVNAME=eth0
$ tc qdisc add dev $IFDEVNAME ingress
$ tc qdisc add dev $IFDEVNAME root mqprio num_tc 8 \
     map 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 \
     queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 hw 0

For LLDP
$ tc filter add dev $IFDEVNAME parent ffff: protocol 0x88cc \
     flower hw_tc 5
OR
$ tc filter add dev $IFDEVNAME parent ffff: protocol LLDP \
     flower hw_tc 5

For PTP
$ tc filter add dev $IFDEVNAME parent ffff: protocol 0x88f7 \
     flower hw_tc 6

Show tc ingress filter
$ tc filter show dev $IFDEVNAME ingress

v1->v2:
 Thanks to Kurt's and Sebastian's suggestion.
 - change from __be16 to u16 etype
 - change ETHER_TYPE_FULL_MASK to use cpu_to_be16() macro

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-12-23 11:20:49 +00:00
..
appletalk
arcnet
bonding Bonding: force user to add HWTSTAMP_FLAG_BONDED_PHC_INDEX when get/set HWTSTAMP 2021-12-14 12:28:24 +00:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-09 13:23:02 -08:00
dsa flow_offload: add index to flow_action_entry structure 2021-12-19 14:08:47 +00:00
ethernet net: stmmac: add tc flower filter for EtherType matching 2021-12-23 11:20:49 +00:00
fddi net: fddi: use swap() to make code cleaner 2021-11-15 14:19:17 +00:00
fjes
hamradio hamradio: fix macro redefine warning 2021-11-23 11:38:13 +00:00
hippi
hyperv hv_netvsc: Use bitmap_zalloc() when applicable 2021-11-22 14:32:54 +00:00
ieee802154
ipa net: ipa: fix IPA v4.5 interconnect data 2021-12-13 12:49:26 +00:00
ipvlan ipvlan: Remove redundant if statements 2021-12-02 13:07:38 +00:00
mctp mctp: serial: remove unnecessary ldisc data check 2021-11-25 19:40:39 -08:00
mdio net: mdio: mscc-miim: Add depend of REGMAP_MMIO on MDIO_MSCC_MIIM 2021-12-01 18:46:54 -08:00
netdevsim Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-16 16:13:19 -08:00
pcs
phy net: phy: micrel: Adding interrupt support for Link up/Link down in LAN8814 Quad phy 2021-12-21 16:57:25 -08:00
plip
ppp ppp: add netns refcount tracker 2021-12-10 06:38:27 -08:00
slip slip: fix macro redefine warning 2021-11-23 11:38:13 +00:00
team
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-16 16:13:19 -08:00
vmxnet3 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-09 13:23:02 -08:00
wan net: ixp4xx_hss: drop kfree for memory allocated with devm_kzalloc 2021-11-30 12:40:22 +00:00
wireguard Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-02 11:44:56 -08:00
wireless codel: remove unnecessary pkt_sched.h include 2021-12-22 15:03:51 -08:00
wwan net: wwan: iosm: correct open parenthesis alignment 2021-12-10 20:53:56 -08:00
xen-netback
Kconfig vmxnet3: Use generic Kconfig option for page size limit 2021-11-27 14:34:41 -08:00
LICENSE.SRC
Makefile amt: add control plane of amt interface 2021-11-01 13:36:08 +00:00
Space.c
amt.c amt: cancel delayed_work synchronously in amt_fini() 2021-11-16 19:14:12 -08:00
bareudp.c bareudp: Add extack support to bareudp_configure() 2021-12-14 12:39:17 +00:00
dummy.c
eql.c net: eql: add net device refcount tracker 2021-12-07 20:44:58 -08:00
geneve.c gro: remove rcu_read_lock/rcu_read_unlock from gro_complete handlers 2021-11-24 17:21:42 -08:00
gtp.c
ifb.c net: ifb: support ethtools stats 2021-11-29 20:15:03 -08:00
loopback.c
macsec.c
macvlan.c net: remove .ndo_change_proto_down 2021-11-23 12:18:48 +00:00
macvtap.c
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c netpoll: add net device refcount tracker to struct netpoll 2021-12-06 16:06:02 -08:00
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
sungem_phy.c net: sungem_phy: fix code indentation 2021-11-09 11:45:54 +00:00
tap.c
thunderbolt.c net: thunderbolt: use eth_hw_addr_set() 2021-10-27 17:13:36 -07:00
tun.c tun: fix bonding active backup with arp monitoring 2021-11-15 13:00:26 +00:00
veth.c veth: use ethtool_sprintf instead of snprintf 2021-11-25 19:15:12 -08:00
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-16 16:13:19 -08:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-09 13:23:02 -08:00
vsockmon.c
vxlan.c net: vxlan: add macro definition for number of IANA VXLAN-GPE port 2021-11-29 12:19:53 +00:00
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-28 10:43:58 -07:00