Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _UAPI_MACSEC_H
     20 #define _UAPI_MACSEC_H
     21 #include <linux/types.h>
     22 #define MACSEC_GENL_NAME "macsec"
     23 #define MACSEC_GENL_VERSION 1
     24 #define MACSEC_MAX_KEY_LEN 128
     25 #define MACSEC_KEYID_LEN 16
     26 #define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL
     27 #define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL
     28 #define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL
     29 #define MACSEC_DEFAULT_CIPHER_ALT MACSEC_CIPHER_ID_GCM_AES_128
     30 #define MACSEC_MIN_ICV_LEN 8
     31 #define MACSEC_MAX_ICV_LEN 32
     32 #define MACSEC_STD_ICV_LEN 16
     33 enum macsec_attrs {
     34   MACSEC_ATTR_UNSPEC,
     35   MACSEC_ATTR_IFINDEX,
     36   MACSEC_ATTR_RXSC_CONFIG,
     37   MACSEC_ATTR_SA_CONFIG,
     38   MACSEC_ATTR_SECY,
     39   MACSEC_ATTR_TXSA_LIST,
     40   MACSEC_ATTR_RXSC_LIST,
     41   MACSEC_ATTR_TXSC_STATS,
     42   MACSEC_ATTR_SECY_STATS,
     43   __MACSEC_ATTR_END,
     44   NUM_MACSEC_ATTR = __MACSEC_ATTR_END,
     45   MACSEC_ATTR_MAX = __MACSEC_ATTR_END - 1,
     46 };
     47 enum macsec_secy_attrs {
     48   MACSEC_SECY_ATTR_UNSPEC,
     49   MACSEC_SECY_ATTR_SCI,
     50   MACSEC_SECY_ATTR_ENCODING_SA,
     51   MACSEC_SECY_ATTR_WINDOW,
     52   MACSEC_SECY_ATTR_CIPHER_SUITE,
     53   MACSEC_SECY_ATTR_ICV_LEN,
     54   MACSEC_SECY_ATTR_PROTECT,
     55   MACSEC_SECY_ATTR_REPLAY,
     56   MACSEC_SECY_ATTR_OPER,
     57   MACSEC_SECY_ATTR_VALIDATE,
     58   MACSEC_SECY_ATTR_ENCRYPT,
     59   MACSEC_SECY_ATTR_INC_SCI,
     60   MACSEC_SECY_ATTR_ES,
     61   MACSEC_SECY_ATTR_SCB,
     62   MACSEC_SECY_ATTR_PAD,
     63   __MACSEC_SECY_ATTR_END,
     64   NUM_MACSEC_SECY_ATTR = __MACSEC_SECY_ATTR_END,
     65   MACSEC_SECY_ATTR_MAX = __MACSEC_SECY_ATTR_END - 1,
     66 };
     67 enum macsec_rxsc_attrs {
     68   MACSEC_RXSC_ATTR_UNSPEC,
     69   MACSEC_RXSC_ATTR_SCI,
     70   MACSEC_RXSC_ATTR_ACTIVE,
     71   MACSEC_RXSC_ATTR_SA_LIST,
     72   MACSEC_RXSC_ATTR_STATS,
     73   MACSEC_RXSC_ATTR_PAD,
     74   __MACSEC_RXSC_ATTR_END,
     75   NUM_MACSEC_RXSC_ATTR = __MACSEC_RXSC_ATTR_END,
     76   MACSEC_RXSC_ATTR_MAX = __MACSEC_RXSC_ATTR_END - 1,
     77 };
     78 enum macsec_sa_attrs {
     79   MACSEC_SA_ATTR_UNSPEC,
     80   MACSEC_SA_ATTR_AN,
     81   MACSEC_SA_ATTR_ACTIVE,
     82   MACSEC_SA_ATTR_PN,
     83   MACSEC_SA_ATTR_KEY,
     84   MACSEC_SA_ATTR_KEYID,
     85   MACSEC_SA_ATTR_STATS,
     86   MACSEC_SA_ATTR_PAD,
     87   __MACSEC_SA_ATTR_END,
     88   NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END,
     89   MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1,
     90 };
     91 enum macsec_nl_commands {
     92   MACSEC_CMD_GET_TXSC,
     93   MACSEC_CMD_ADD_RXSC,
     94   MACSEC_CMD_DEL_RXSC,
     95   MACSEC_CMD_UPD_RXSC,
     96   MACSEC_CMD_ADD_TXSA,
     97   MACSEC_CMD_DEL_TXSA,
     98   MACSEC_CMD_UPD_TXSA,
     99   MACSEC_CMD_ADD_RXSA,
    100   MACSEC_CMD_DEL_RXSA,
    101   MACSEC_CMD_UPD_RXSA,
    102 };
    103 enum macsec_rxsc_stats_attr {
    104   MACSEC_RXSC_STATS_ATTR_UNSPEC,
    105   MACSEC_RXSC_STATS_ATTR_IN_OCTETS_VALIDATED,
    106   MACSEC_RXSC_STATS_ATTR_IN_OCTETS_DECRYPTED,
    107   MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNCHECKED,
    108   MACSEC_RXSC_STATS_ATTR_IN_PKTS_DELAYED,
    109   MACSEC_RXSC_STATS_ATTR_IN_PKTS_OK,
    110   MACSEC_RXSC_STATS_ATTR_IN_PKTS_INVALID,
    111   MACSEC_RXSC_STATS_ATTR_IN_PKTS_LATE,
    112   MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_VALID,
    113   MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_USING_SA,
    114   MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNUSED_SA,
    115   MACSEC_RXSC_STATS_ATTR_PAD,
    116   __MACSEC_RXSC_STATS_ATTR_END,
    117   NUM_MACSEC_RXSC_STATS_ATTR = __MACSEC_RXSC_STATS_ATTR_END,
    118   MACSEC_RXSC_STATS_ATTR_MAX = __MACSEC_RXSC_STATS_ATTR_END - 1,
    119 };
    120 enum macsec_sa_stats_attr {
    121   MACSEC_SA_STATS_ATTR_UNSPEC,
    122   MACSEC_SA_STATS_ATTR_IN_PKTS_OK,
    123   MACSEC_SA_STATS_ATTR_IN_PKTS_INVALID,
    124   MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_VALID,
    125   MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_USING_SA,
    126   MACSEC_SA_STATS_ATTR_IN_PKTS_UNUSED_SA,
    127   MACSEC_SA_STATS_ATTR_OUT_PKTS_PROTECTED,
    128   MACSEC_SA_STATS_ATTR_OUT_PKTS_ENCRYPTED,
    129   __MACSEC_SA_STATS_ATTR_END,
    130   NUM_MACSEC_SA_STATS_ATTR = __MACSEC_SA_STATS_ATTR_END,
    131   MACSEC_SA_STATS_ATTR_MAX = __MACSEC_SA_STATS_ATTR_END - 1,
    132 };
    133 enum macsec_txsc_stats_attr {
    134   MACSEC_TXSC_STATS_ATTR_UNSPEC,
    135   MACSEC_TXSC_STATS_ATTR_OUT_PKTS_PROTECTED,
    136   MACSEC_TXSC_STATS_ATTR_OUT_PKTS_ENCRYPTED,
    137   MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_PROTECTED,
    138   MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_ENCRYPTED,
    139   MACSEC_TXSC_STATS_ATTR_PAD,
    140   __MACSEC_TXSC_STATS_ATTR_END,
    141   NUM_MACSEC_TXSC_STATS_ATTR = __MACSEC_TXSC_STATS_ATTR_END,
    142   MACSEC_TXSC_STATS_ATTR_MAX = __MACSEC_TXSC_STATS_ATTR_END - 1,
    143 };
    144 enum macsec_secy_stats_attr {
    145   MACSEC_SECY_STATS_ATTR_UNSPEC,
    146   MACSEC_SECY_STATS_ATTR_OUT_PKTS_UNTAGGED,
    147   MACSEC_SECY_STATS_ATTR_IN_PKTS_UNTAGGED,
    148   MACSEC_SECY_STATS_ATTR_OUT_PKTS_TOO_LONG,
    149   MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_TAG,
    150   MACSEC_SECY_STATS_ATTR_IN_PKTS_BAD_TAG,
    151   MACSEC_SECY_STATS_ATTR_IN_PKTS_UNKNOWN_SCI,
    152   MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_SCI,
    153   MACSEC_SECY_STATS_ATTR_IN_PKTS_OVERRUN,
    154   MACSEC_SECY_STATS_ATTR_PAD,
    155   __MACSEC_SECY_STATS_ATTR_END,
    156   NUM_MACSEC_SECY_STATS_ATTR = __MACSEC_SECY_STATS_ATTR_END,
    157   MACSEC_SECY_STATS_ATTR_MAX = __MACSEC_SECY_STATS_ATTR_END - 1,
    158 };
    159 #endif
    160