Visible to Intel only — GUID: goy1655257954096
Ixiasoft
Visible to Intel only — GUID: goy1655257954096
Ixiasoft
6.3.1.3.1. PDU Validation
A received MPDU is valid if and only if it comprises a valid SecTAG, one or more octets of Secure Data, and an ICV. For example:
- It comprises at least 17 octets.
- Octets 1 and 2 compose the MACsec EtherType.
- The V bit in the TCI is clear.
- If the ES or the SCB bit in the TCI is set, then the SC bit is clear.
- Bits 7 and 8 of octet 4 of the SecTAG are clear.
- If the C and SC bits in the TCI are clear, the MPDU comprises 24 octets plus the number of octets indicated by the SL field if that is non-zero and at least 72 octets otherwise.
- If the C bit is clear and the SC bit is set, then the MPDU comprises 32 octets plus the number of octets indicated by the SL field if that is non-zero and at least 80 octets otherwise.
- If the C bit is set and the SC bit is clear, then the MPDU comprises 8 octets plus the minimum length of the ICV as determined by the Cipher Suite in use at the receiving SecY, plus the number of octets indicated by the SL field if that is non-zero and at least 48 additional octets otherwise.
- If the C and SC bits are both set, the frame comprises at least 16 octets plus the minimum length of the ICV as determined by the Cipher Suite in use at the receiving SecY, plus the number of octets indicated by the SL field if that is non-zero and at least 48 additional octets otherwise.
If the C and SC bits are both set, the frame comprises at least 16 octets plus the minimum length of the ICV as determined by the Cipher Suite in use at the receiving SecY, plus the number of octets indicated by the SL field if that is non-zero and at least 48 additional octets otherwise.
Items 1 and 6-9 do not have explicit logic implemented in the MACsec IP to check for these conditions. Instead when these conditions are violated, the ICV comparison fails and the IP drops the packet.
- If the frame is not valid and validateFrames is set to Check, InPktsInvalid; otherwise,
- If the received PN is less than the lowest acceptable PN (treating a 32-bit PN value of zero as 2^32 and a 64-bit PN value of zero as 2^64), InPktsDelayed; otherwise,
- If the frame is not valid, InPktsUnchecked; otherwise,
- InPktsOK