| .. | .. |
|---|
| 22 | 22 | |
|---|
| 23 | 23 | #define MACSEC_KEYID_LEN 16 |
|---|
| 24 | 24 | |
|---|
| 25 | | -/* cipher IDs as per IEEE802.1AEbn-2011 */ |
|---|
| 25 | +/* cipher IDs as per IEEE802.1AE-2018 (Table 14-1) */ |
|---|
| 26 | 26 | #define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL |
|---|
| 27 | 27 | #define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL |
|---|
| 28 | +#define MACSEC_CIPHER_ID_GCM_AES_XPN_128 0x0080C20001000003ULL |
|---|
| 29 | +#define MACSEC_CIPHER_ID_GCM_AES_XPN_256 0x0080C20001000004ULL |
|---|
| 28 | 30 | |
|---|
| 29 | 31 | /* deprecated cipher ID for GCM-AES-128 */ |
|---|
| 30 | 32 | #define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL |
|---|
| .. | .. |
|---|
| 45 | 47 | MACSEC_ATTR_RXSC_LIST, /* dump, nested, macsec_rxsc_attrs for each RXSC */ |
|---|
| 46 | 48 | MACSEC_ATTR_TXSC_STATS, /* dump, nested, macsec_txsc_stats_attr */ |
|---|
| 47 | 49 | MACSEC_ATTR_SECY_STATS, /* dump, nested, macsec_secy_stats_attr */ |
|---|
| 50 | + MACSEC_ATTR_OFFLOAD, /* config, nested, macsec_offload_attrs */ |
|---|
| 48 | 51 | __MACSEC_ATTR_END, |
|---|
| 49 | 52 | NUM_MACSEC_ATTR = __MACSEC_ATTR_END, |
|---|
| 50 | 53 | MACSEC_ATTR_MAX = __MACSEC_ATTR_END - 1, |
|---|
| .. | .. |
|---|
| 87 | 90 | MACSEC_SA_ATTR_UNSPEC, |
|---|
| 88 | 91 | MACSEC_SA_ATTR_AN, /* config/dump, u8 0..3 */ |
|---|
| 89 | 92 | MACSEC_SA_ATTR_ACTIVE, /* config/dump, u8 0..1 */ |
|---|
| 90 | | - MACSEC_SA_ATTR_PN, /* config/dump, u32 */ |
|---|
| 93 | + MACSEC_SA_ATTR_PN, /* config/dump, u32/u64 (u64 if XPN) */ |
|---|
| 91 | 94 | MACSEC_SA_ATTR_KEY, /* config, data */ |
|---|
| 92 | 95 | MACSEC_SA_ATTR_KEYID, /* config/dump, 128-bit */ |
|---|
| 93 | 96 | MACSEC_SA_ATTR_STATS, /* dump, nested, macsec_sa_stats_attr */ |
|---|
| 94 | 97 | MACSEC_SA_ATTR_PAD, |
|---|
| 98 | + MACSEC_SA_ATTR_SSCI, /* config/dump, u32 - XPN only */ |
|---|
| 99 | + MACSEC_SA_ATTR_SALT, /* config, 96-bit - XPN only */ |
|---|
| 95 | 100 | __MACSEC_SA_ATTR_END, |
|---|
| 96 | 101 | NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END, |
|---|
| 97 | 102 | MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1, |
|---|
| 103 | +}; |
|---|
| 104 | + |
|---|
| 105 | +enum macsec_offload_attrs { |
|---|
| 106 | + MACSEC_OFFLOAD_ATTR_UNSPEC, |
|---|
| 107 | + MACSEC_OFFLOAD_ATTR_TYPE, /* config/dump, u8 0..2 */ |
|---|
| 108 | + MACSEC_OFFLOAD_ATTR_PAD, |
|---|
| 109 | + __MACSEC_OFFLOAD_ATTR_END, |
|---|
| 110 | + NUM_MACSEC_OFFLOAD_ATTR = __MACSEC_OFFLOAD_ATTR_END, |
|---|
| 111 | + MACSEC_OFFLOAD_ATTR_MAX = __MACSEC_OFFLOAD_ATTR_END - 1, |
|---|
| 98 | 112 | }; |
|---|
| 99 | 113 | |
|---|
| 100 | 114 | enum macsec_nl_commands { |
|---|
| .. | .. |
|---|
| 108 | 122 | MACSEC_CMD_ADD_RXSA, |
|---|
| 109 | 123 | MACSEC_CMD_DEL_RXSA, |
|---|
| 110 | 124 | MACSEC_CMD_UPD_RXSA, |
|---|
| 125 | + MACSEC_CMD_UPD_OFFLOAD, |
|---|
| 111 | 126 | }; |
|---|
| 112 | 127 | |
|---|
| 113 | 128 | /* u64 per-RXSC stats */ |
|---|