Fixed HW timestamping of RX UDP P2P packets. #58
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.
The weird behavior is described in the added comment. I really don't understand the silly stuff happening in the card.
Without this fix, UDP P2P sync is broken because the AQC card is reporting SYNC, PDELAY_REQ and PDELAY_RESP packets which are 2 bytes shorter than they should be.
To test, connect a PTP slave computer to the AQC card's ethernet port and run the following on it:
And run the following on the computer with AQC107 which will be master:
You will observe that the slave computer will not be able to sync, because it is not receiving the PDELAY packets, which are swallowed by the network stack because of their wrong length.
Here's a screenshot of a malformed packet in Wireshark:
And captures with and without this PR:
p2p_capture.zip