1. Introduction
2. Interface Overview
3. Parameters
4. Designing with the IP Core
5. Functional Description
6. Configuration Registers for MACsec IP
7. MACsec Intel® FPGA IP Example Design
8. MACsec Intel FPGA IP User Guide Archives
9. Document Revision History for the MACsec Intel FPGA IP User Guide
2.2.1.1. Common Port Mux Interface
2.2.1.2. Common Port Demux Interface
2.2.1.3. Controlled Port Mux Interface
2.2.1.4. Controlled Port Demux Interface
2.2.1.5. Uncontrolled Port RX Interface
2.2.1.6. Uncontrolled Port TX Interface
2.2.1.7. Management Interface
2.2.1.8. Decrypt Port Mux Management Interface
2.2.1.9. Decrypt Port Demux Management Interface
2.2.1.10. Encrypt Port Mux Management Interface
2.2.1.11. Encrypt Port Demux Management Interface
2.2.1.12. Crypto IP Management Bus
2.2.1.13. Miscellaneous Control Signals
2.2.2.1. Common Port Mux Interface Waveform
2.2.2.2. Common Port Demux Interface Waveform
2.2.2.3. Controlled Port Mux Interface Waveform
2.2.2.4. Controlled Port Demux Interface Waveform
2.2.2.5. Uncontrolled Port RX Interface Waveform
2.2.2.6. Uncontrolled Port TX Interface Waveform
2.2.2.7. Crypto RX Waveform
2.2.2.8. Crypto TX Waveform
2.2.2.9. MACsec Management Interface (Read)
2.2.2.10. MACsec Management Interface (Write)
5.7.2. Byte Order Swapping
The Crypto QHIP has little endian byte order. This means that for the key, IV and data, bits [7:0] contain the first byte of the corresponding string.
Below is an example of the Key and data byte order based on IEEE 802.1AE specification:
- For SCI, PN, IV and key, the register address order is illustrated previously. The leftmost byte is the MSB byte.
- Byte swapping is done in the MACsec IP for these CSRs before it is sent to the Crypto QHIP.
DA | 84C5D513D2AA |
SA | F6E5BBD27277 |
Ethertype | 88E5 |
SCI[63:0] | 0x7CFDE9F9E33724C6 |
PN[63:0] | 0x000000008932D612 |
IV: | 7CFDE9F9E33724C68932D612 |
Key[63:0] Key[127:64] Key[191:128] Key[255:192] |
0000000000000000 0000000000000000 866D0CBBC55A7A90 013FE00B5F11BE7F |
Plaintext | 08000F101112131415161718191A1B1C 1D1E1F202122232425262728292A2B2C 2D2E2F303132333435363738393A3B00 06 |
AAD | 84C5D513D2AAF6E5BBD2727788E52F00 8932D6127CFDE9F9E33724C6 |
Within 16B segment, IV is swapped before it is sent to the Crypto:
tdata[127:0] = 0x12D63289C62437E3F9E9FD7C
128b key is swapped before it is sent to the Crypto:
tdata[255:128] = 0x00000000000000000000000000000000
tdata[127:0] = 0x907A5AC5BB0C6D867FBE115F0BE03F01