• Era Mayflower's avatar
    macsec: Support XPN frame handling - IEEE 802.1AEbw · a21ecf0e
    Era Mayflower authored
    Support extended packet number cipher suites (802.1AEbw) frames handling.
    This does not include the needed netlink patches.
    
        * Added xpn boolean field to `struct macsec_secy`.
        * Added ssci field to `struct_macsec_tx_sa` (802.1AE figure 10-5).
        * Added ssci field to `struct_macsec_rx_sa` (802.1AE figure 10-5).
        * Added salt field to `struct macsec_key` (802.1AE 10.7 NOTE 1).
        * Created pn_t type for easy access to lower and upper halves.
        * Created salt_t type for easy access to the "ssci" and "pn" parts.
        * Created `macsec_fill_iv_xpn` function to create IV in XPN mode.
        * Support in PN recovery and preliminary replay check in XPN mode.
    
    In addition, according to IEEE 802.1AEbw figure 10-5, the PN of incoming
    frame can be 0 when XPN cipher suite is used, so fixed the function
    `macsec_validate_skb` to fail on PN=0 only if XPN is off.
    Signed-off-by: default avatarEra Mayflower <mayflowerera@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a21ecf0e
macsec.h 6.08 KB