mv88e6xxx fixes for 1588 with trunked ports#261
Merged
gratian merged 2 commits intoni:nilrt/master/6.12from Oct 21, 2025
Merged
mv88e6xxx fixes for 1588 with trunked ports#261gratian merged 2 commits intoni:nilrt/master/6.12from
gratian merged 2 commits intoni:nilrt/master/6.12from
Conversation
Marvell's "Generation 3" and later PTP switches have support for embedding the switch timestamp counter into incoming packets, which eliminates timestamp overwrites/discards due to not being able to read timestamps out over SMI in time when receiving many packets at once. On applicable hardware, we configure the switch to embed the timestamp into the "reserved2" field. (Older switches have to read out the timestamp counter the current way.) We still need to queue the packet for a worker because we need to take the reg lock, but we can simplify down to only needing a single rx queue instead of splitting based on PTP packet type. Signed-off-by: Brenda Streiff <brenda.streiff@emerson.com>
…frames The mv88e6xxx driver uses the hardware's trunking capabilities in order to offload link aggregation. When packets ingress a trunked port, the DSA tag that is added has a trunk ID rather than a port ID. This is undesirable for when doing 1588 timestamping, because timestamping is port-centric, but when we receive a 1588 packet in a LAG, the DSA infrastructure doesn't know which port it came from and just delivers it to the bond/team interface. This behavior can be avoided by marking frames as being "management" in the ATU; therefore, define a set of "extra management DAs" to be configured with priority for every VLAN. This set currently includes destination addresses relevant for L2 and L4 1588. This is not needed for 802.1AS, because 802.1AS packets use a destination address of 01:80:c2:00:00:0e, which is already covered by the rsvd2cpu functionality. Signed-off-by: Brenda Streiff <brenda.streiff@emerson.com>
gratian
approved these changes
Oct 21, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[n.b.: this is #260, but targeted to 6.12, with one minor edit to a comment (IPv6 address of "
ff02::6b" instead of "ff0e::6b")]Two patches here, technically they're separate things but related.
struct mv88e6xxx_ptp_opsto indicate whether the switch chip has this capability.01:80:c2:00:00:0x. We do this for every VLAN, regardless of whether or not hardware timestamping is enabled.