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.4.2.2. Stream Interleaving
Traffic using MACsec profiles can interleave based on different streams. Packets between different streams do not follow an order, but packets within the same stream do follow an order, as shown in the example below. The soft crypto packet output format is slightly different from the Crypto QHIP, where idles can be inserted after the MAC and before the next packet, since the next packet doesn’t send in full 512 bits of data within that cycle. In this case, the next packet (Pkt 0) is pushed to the subsequent cycle to wait for full 512 bits of data before being processed in the soft Crypto.
TID[31:26] - Stream ID Packet 1 | X | 1 | 4 | X | 1 |
TID[25:16] - Channel Packet 1 | X | 22 | 77 | X | 22 |
TID[15:10] - Stream Packet 0 | 4 | 1 | 4 | 4 | 1 |
TID[9:0] - Channel Packet 0 | 77 | 23 | 44 | 44 | 23 |
Data[127:0] | IV + AAD_Len (Pkt 0) |
DATA (Pkt 1) | DATA (Pkt 1) | DATA (Pkt 0) | DATA (Pkt 0) |
Data[255:128] | DATA (Pkt 0) | DATA (Pkt 1) | IV + AAD_Len (Pkt 0) |
DATA (Pkt 0) | DATA (Pkt 0) |
Data[383:256] | DATA (Pkt 0) | IV + AAD_Len (Pkt 0) |
DATA (Pkt 0) | DATA (Pkt 0) | DATA (Pkt 0) |
Data[511:384] | DATA (Pkt 0) | DATA (Pkt 0) | DATA (Pkt 0) | DATA (Pkt 0) | DATA (Pkt 0, EOP) |
TID[31:26] - Stream ID Packet 1 | X | 4 | X | 1 | X |
TID[25:16] - Channel Packet 1 | X | 77 | X | 22 | X |
TID[15:10] - Stream Packet 0 | 4 | 4 | 4 | 1 | 1 |
TID[9:0] - Channel Packet 0 | 77 | 44 | 44 | 23 | 23 |
Data[127:0] | DATA (Pkt 0) | MAC (Pkt 1) | DATA (Pkt 0) | DATA (Pkt 0) | DATA (Pkt 0) |
Data[255:128] | DATA (Pkt 0) | DATA (Pkt 0) | DATA (Pkt 0) | MAC (Pkt 1) | DATA (Pkt 0) |
Data[383:256] | DATA (Pkt 0) | DATA (Pkt 0) | DATA (Pkt 0) | DATA (Pkt 0) | DATA (Pkt 0) |
Data[511:384] | DATA (Pkt 0) | DATA (Pkt 0) | MAC (Pkt 1) | DATA (Pkt 0) | MAC (Pkt 1) |