linux/drivers/net/ethernet/mscc
Vladimir Oltean 59085208e4 net: mscc: ocelot: fix all IP traffic getting trapped to CPU with PTP over IP
The filters for the PTP trap keys are incorrectly configured, in the
sense that is2_entry_set() only looks at trap->key.ipv4.dport or
trap->key.ipv6.dport if trap->key.ipv4.proto or trap->key.ipv6.proto is
set to IPPROTO_TCP or IPPROTO_UDP.

But we don't do that, so is2_entry_set() goes through the "else" branch
of the IP protocol check, and ends up installing a rule for "Any IP
protocol match" (because msk is also 0). The UDP port is ignored.

This means that when we run "ptp4l -i swp0 -4", all IP traffic is
trapped to the CPU, which hinders bridging.

Fix this by specifying the IP protocol in the VCAP IS2 filters for PTP
over UDP.

Fixes: 96ca08c058 ("net: mscc: ocelot: set up traps for PTP packets")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-02-05 15:27:01 +00:00
..
Kconfig of: net: move of_net under net/ 2021-10-07 13:39:51 +01:00
Makefile net: ocelot: add FDMA support 2021-12-10 20:56:58 -08:00
ocelot.c net: mscc: ocelot: fix all IP traffic getting trapped to CPU with PTP over IP 2022-02-05 15:27:01 +00:00
ocelot.h net: ocelot: add support for ndo_change_mtu 2021-12-10 20:56:57 -08:00
ocelot_devlink.c net: update NXP copyright text 2021-09-17 13:52:17 +01:00
ocelot_fdma.c net: ocelot: use dma_unmap_addr to get tx buffer dma_addr 2021-12-13 14:51:21 +00:00
ocelot_fdma.h net: ocelot: add FDMA support 2021-12-10 20:56:58 -08:00
ocelot_flower.c net: mscc: ocelot: fix using match before it is set 2022-01-19 14:34:43 +00:00
ocelot_io.c net: mscc: Fix non-GPL export of regmap APIs 2021-08-12 09:44:31 +01:00
ocelot_mrp.c net: mscc: ocelot: add the local station MAC addresses in VID 0 2021-10-21 12:14:29 +01:00
ocelot_net.c net: ocelot: Fix the call to switchdev_bridge_port_offload 2022-01-17 13:04:25 +00:00
ocelot_police.c
ocelot_police.h
ocelot_ptp.c time64.h: Consolidated PSEC_PER_SEC definition 2021-04-06 16:32:17 -07:00
ocelot_qs.h
ocelot_rew.h
ocelot_vcap.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-11-26 13:45:19 -08:00
ocelot_vcap.h net: dsa: felix: perform switch setup for tag_8021q 2021-01-29 21:25:27 -08:00
ocelot_vsc7514.c net: ocelot: add FDMA support 2021-12-10 20:56:58 -08:00
vsc7514_regs.c net: mscc: ocelot: split register definitions to a separate file 2021-12-07 21:44:49 -08:00