Clarification of documentation for Align Packet Headers to 32-bit Boundaries option in TS-Ethernet
The Triple Speed Ethernet MAC core (UG-01008, 3/29/2019) has a feature which provides alignment of IP headers on 32-bit boundaries by inserting a 2-byte pad of 0x0000 at the beginning of the packet. The documentation is unclear on exactly how this works. The description of the feature (enabled with the IP editor) is:
Turn on this option to include logic that aligns all packet
headers to a 32-bit boundary. This helps reduce software
overhead processing in realignment of data buffers.
This option is available for MAC variations with 32 bits wide
internal FIFO buffers and MAC variations without internal FIFO
buffers.
You must turn on this option if you intend to use the Triple-
Speed Ethernet IP core with the Interniche TCP/IP protocol
stack.
The UG also states:
IP Payload Re-alignment
If you turn the Align packet headers to 32-bit boundaries option, the MAC
function removes the additional two bytes from the beginning of Ethernet frames.
What is not indicated here are the following:
- Does this apply to transmitted packets?
- Does this apply to received packets?
- Regarding the second item (IP Payload Re-Alignment), it does not specify if the additional two bytes are removed when the option is enabled, or when the option is disabled.
Also, are there any other compile-time (IP Editor) or run-time (configuration space register) settings that have an effect on this?
Thank you.