|
|
Log in / Subscribe / Register

Support PTP over UDP with the ocelot-8021q DSA tagging protocol

From:  Vladimir Oltean <vladimir.oltean-AT-nxp.com>
To:  netdev-AT-vger.kernel.org
Subject:  [PATCH net-next 00/11] Support PTP over UDP with the ocelot-8021q DSA tagging protocol
Date:  Wed, 16 Feb 2022 16:30:03 +0200
Message-ID:  <20220216143014.2603461-1-vladimir.oltean@nxp.com>
Cc:  "David S. Miller" <davem-AT-davemloft.net>, Jakub Kicinski <kuba-AT-kernel.org>, Andrew Lunn <andrew-AT-lunn.ch>, Vivien Didelot <vivien.didelot-AT-gmail.com>, Florian Fainelli <f.fainelli-AT-gmail.com>, Claudiu Manoil <claudiu.manoil-AT-nxp.com>, Alexandre Belloni <alexandre.belloni-AT-bootlin.com>, Horatiu Vultur <horatiu.vultur-AT-microchip.com>, UNGLinuxDriver-AT-microchip.com, Xiaoliang Yang <xiaoliang.yang_1-AT-nxp.com>, Yangbo Lu <yangbo.lu-AT-nxp.com>, Michael Walle <michael-AT-walle.cc>
Archive-link:  Article

The alternative tag_8021q-based tagger for Ocelot switches, added here:
https://patchwork.kernel.org/project/netdevbpf/cover/2021...

gained support for PTP over L2 here:
https://patchwork.kernel.org/project/netdevbpf/cover/2021...

mostly as a minimum viable requirement. That PTP support was mostly
self-contained code that installed some rules to replicate PTP packets
on the CPU queue, in felix_setup_mmio_filtering().

However ocelot-8021q starts to look more interesting for general purpose
usage, so it is now time to reduce the technical debt by integrating the
PTP traps used by Felix for tag_8021q with the rest of the Ocelot driver.

There is further consolidation of traps to be done. The cookies used by
MRP traps overlap with the cookies used for tag_8021q PTP traps, so
those features could not be used at the same time.

Vladimir Oltean (11):
  net: mscc: ocelot: use a consistent cookie for MRP traps
  net: mscc: ocelot: consolidate cookie allocation for private VCAP
    rules
  net: mscc: ocelot: delete OCELOT_MRP_CPUQ
  net: mscc: ocelot: use a single VCAP filter for all MRP traps
  net: mscc: ocelot: avoid overlap in VCAP IS2 between PTP and MRP traps
  net: dsa: felix: use DSA port iteration helpers
  net: mscc: ocelot: keep traps in a list
  net: mscc: ocelot: annotate which traps need PTP timestamping
  net: dsa: felix: remove dead code in felix_setup_mmio_filtering()
  net: dsa: felix: update destinations of existing traps with
    ocelot-8021q
  net: dsa: tag_ocelot_8021q: calculate TX checksum in software for
    deferred packets

 drivers/net/dsa/ocelot/felix.c            | 272 +++++++++-------------
 drivers/net/ethernet/mscc/ocelot.c        |  50 ++--
 drivers/net/ethernet/mscc/ocelot.h        |   6 +
 drivers/net/ethernet/mscc/ocelot_flower.c |   3 +
 drivers/net/ethernet/mscc/ocelot_mrp.c    |  56 ++---
 drivers/net/ethernet/mscc/ocelot_vcap.c   |   1 +
 include/soc/mscc/ocelot.h                 |   3 +-
 include/soc/mscc/ocelot_vcap.h            |  16 ++
 net/dsa/tag_ocelot_8021q.c                |   7 +
 9 files changed, 194 insertions(+), 220 deletions(-)

-- 
2.25.1



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds