A newer version of this document is available. Customers should click here to go to the newest version.
1. Introduction
2. Interface Overview
3. Parameters
4. Designing with the IP Core
5. MACsec Intel® FPGA IP Example Design
6. Functional Description
7. Configuration Registers for MACsec IP
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. Crypto RX Interface
2.2.1.8. Crypto TX Interface
2.2.1.9. Management Interface
2.2.1.10. Decrypt Port Mux Management Interface
2.2.1.11. Decrypt Port Demux Management Interface
2.2.1.12. Encrypt Port Mux Management Interface
2.2.1.13. Encrypt Port Demux Management Interface
2.2.1.14. Crypto IP Management Bus
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)
4.6. Switching Port Muxes between Store and Forward and Cut-Through Modes
As part of the MACsec Authentication procedure, the Port Muxes on both the Common Port and the Controlled Port must be switched from “Store and Forward” mode to “Cut-Through” mode. Following Authentication, the Port Muxes must be switched back to “Store and Forward” mode.
In addition, if you intend to send packets that are integrity-protected only on a particular port, that Port Mux must be configured to “Store and Forward” mode as well.
To do this, you must access each Port Mux’s CSR space.
The table below provides an overview of the address space for each Port Mux.
Mux Port Number | Mux Management Address Offset | Register Name |
---|---|---|
0 | 0x300 | P0_STORE_AND_FORWARD |
1 | 0x304 | P1_STORE_AND_FORWARD |
2 | 0x308 | P2_STORE_AND_FORWARD |
— | — | — |
63 | 0x3FC | P63_STORE_AND_FORWARD |
The register definition for the P<n>_STORE_AND_FORWARD register is shown below. Note that N can range from 0 to 63, depending on how many ports are enabled in your design.
Register | Description | Address | Bit Description | SW Access | Reset |
---|---|---|---|---|---|
P<N>_STORE_ AND_FORWARD |
Store and Forward Control Register | 0x300 + 4*N[63:1] | Reserved | Reserved | 63’h0 |
0x300 + 4*N[0] | Store and Forward Control Register
1’b0: Port is in Cut-Through Mode 1’b1: Port is in Store and Forward Mode |
Read-Write | 1’b1 |
The management interfaces that are used to access each port mux are shown below.
Interface Name | Port Mux |
---|---|
Decrypt Port Mux Management Interface | Common Port |
Encrypt Port Mux Management Interface | Controlled Port |
The procedure below illustrates how to change Port 2 of the Decrypt Port Mux to the “Cut Through” Mode:
- Using the “rx_mux_app_pp_lite*” management bus, write 64’h0 to address offset 0x308.
The procedure below illustrates how to change Port 1 of the Encrypt Port Mux to the “Store and Forward” Mode:
- Using the “tx_mux_app_pp_lite*” management bus, write 64’h1 to address offset 0x304.