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_DEFAULT_CIPHER_ID 0x0080020001000001ULL
     27 #define MACSEC_DEFAULT_CIPHER_ALT 0x0080C20001000001ULL
     28 #define MACSEC_MIN_ICV_LEN 8
     29 #define MACSEC_MAX_ICV_LEN 32
     30 #define MACSEC_STD_ICV_LEN 16
     31 enum macsec_attrs {
     32   MACSEC_ATTR_UNSPEC,
     33   MACSEC_ATTR_IFINDEX,
     34   MACSEC_ATTR_RXSC_CONFIG,
     35   MACSEC_ATTR_SA_CONFIG,
     36   MACSEC_ATTR_SECY,
     37   MACSEC_ATTR_TXSA_LIST,
     38   MACSEC_ATTR_RXSC_LIST,
     39   MACSEC_ATTR_TXSC_STATS,
     40   MACSEC_ATTR_SECY_STATS,
     41   __MACSEC_ATTR_END,
     42   NUM_MACSEC_ATTR = __MACSEC_ATTR_END,
     43   MACSEC_ATTR_MAX = __MACSEC_ATTR_END - 1,
     44 };
     45 enum macsec_secy_attrs {
     46   MACSEC_SECY_ATTR_UNSPEC,
     47   MACSEC_SECY_ATTR_SCI,
     48   MACSEC_SECY_ATTR_ENCODING_SA,
     49   MACSEC_SECY_ATTR_WINDOW,
     50   MACSEC_SECY_ATTR_CIPHER_SUITE,
     51   MACSEC_SECY_ATTR_ICV_LEN,
     52   MACSEC_SECY_ATTR_PROTECT,
     53   MACSEC_SECY_ATTR_REPLAY,
     54   MACSEC_SECY_ATTR_OPER,
     55   MACSEC_SECY_ATTR_VALIDATE,
     56   MACSEC_SECY_ATTR_ENCRYPT,
     57   MACSEC_SECY_ATTR_INC_SCI,
     58   MACSEC_SECY_ATTR_ES,
     59   MACSEC_SECY_ATTR_SCB,
     60   MACSEC_SECY_ATTR_PAD,
     61   __MACSEC_SECY_ATTR_END,
     62   NUM_MACSEC_SECY_ATTR = __MACSEC_SECY_ATTR_END,
     63   MACSEC_SECY_ATTR_MAX = __MACSEC_SECY_ATTR_END - 1,
     64 };
     65 enum macsec_rxsc_attrs {
     66   MACSEC_RXSC_ATTR_UNSPEC,
     67   MACSEC_RXSC_ATTR_SCI,
     68   MACSEC_RXSC_ATTR_ACTIVE,
     69   MACSEC_RXSC_ATTR_SA_LIST,
     70   MACSEC_RXSC_ATTR_STATS,
     71   MACSEC_RXSC_ATTR_PAD,
     72   __MACSEC_RXSC_ATTR_END,
     73   NUM_MACSEC_RXSC_ATTR = __MACSEC_RXSC_ATTR_END,
     74   MACSEC_RXSC_ATTR_MAX = __MACSEC_RXSC_ATTR_END - 1,
     75 };
     76 enum macsec_sa_attrs {
     77   MACSEC_SA_ATTR_UNSPEC,
     78   MACSEC_SA_ATTR_AN,
     79   MACSEC_SA_ATTR_ACTIVE,
     80   MACSEC_SA_ATTR_PN,
     81   MACSEC_SA_ATTR_KEY,
     82   MACSEC_SA_ATTR_KEYID,
     83   MACSEC_SA_ATTR_STATS,
     84   MACSEC_SA_ATTR_PAD,
     85   __MACSEC_SA_ATTR_END,
     86   NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END,
     87   MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1,
     88 };
     89 enum macsec_nl_commands {
     90   MACSEC_CMD_GET_TXSC,
     91   MACSEC_CMD_ADD_RXSC,
     92   MACSEC_CMD_DEL_RXSC,
     93   MACSEC_CMD_UPD_RXSC,
     94   MACSEC_CMD_ADD_TXSA,
     95   MACSEC_CMD_DEL_TXSA,
     96   MACSEC_CMD_UPD_TXSA,
     97   MACSEC_CMD_ADD_RXSA,
     98   MACSEC_CMD_DEL_RXSA,
     99   MACSEC_CMD_UPD_RXSA,
    100 };
    101 enum macsec_rxsc_stats_attr {
    102   MACSEC_RXSC_STATS_ATTR_UNSPEC,
    103   MACSEC_RXSC_STATS_ATTR_IN_OCTETS_VALIDATED,
    104   MACSEC_RXSC_STATS_ATTR_IN_OCTETS_DECRYPTED,
    105   MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNCHECKED,
    106   MACSEC_RXSC_STATS_ATTR_IN_PKTS_DELAYED,
    107   MACSEC_RXSC_STATS_ATTR_IN_PKTS_OK,
    108   MACSEC_RXSC_STATS_ATTR_IN_PKTS_INVALID,
    109   MACSEC_RXSC_STATS_ATTR_IN_PKTS_LATE,
    110   MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_VALID,
    111   MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_USING_SA,
    112   MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNUSED_SA,
    113   MACSEC_RXSC_STATS_ATTR_PAD,
    114   __MACSEC_RXSC_STATS_ATTR_END,
    115   NUM_MACSEC_RXSC_STATS_ATTR = __MACSEC_RXSC_STATS_ATTR_END,
    116   MACSEC_RXSC_STATS_ATTR_MAX = __MACSEC_RXSC_STATS_ATTR_END - 1,
    117 };
    118 enum macsec_sa_stats_attr {
    119   MACSEC_SA_STATS_ATTR_UNSPEC,
    120   MACSEC_SA_STATS_ATTR_IN_PKTS_OK,
    121   MACSEC_SA_STATS_ATTR_IN_PKTS_INVALID,
    122   MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_VALID,
    123   MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_USING_SA,
    124   MACSEC_SA_STATS_ATTR_IN_PKTS_UNUSED_SA,
    125   MACSEC_SA_STATS_ATTR_OUT_PKTS_PROTECTED,
    126   MACSEC_SA_STATS_ATTR_OUT_PKTS_ENCRYPTED,
    127   __MACSEC_SA_STATS_ATTR_END,
    128   NUM_MACSEC_SA_STATS_ATTR = __MACSEC_SA_STATS_ATTR_END,
    129   MACSEC_SA_STATS_ATTR_MAX = __MACSEC_SA_STATS_ATTR_END - 1,
    130 };
    131 enum macsec_txsc_stats_attr {
    132   MACSEC_TXSC_STATS_ATTR_UNSPEC,
    133   MACSEC_TXSC_STATS_ATTR_OUT_PKTS_PROTECTED,
    134   MACSEC_TXSC_STATS_ATTR_OUT_PKTS_ENCRYPTED,
    135   MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_PROTECTED,
    136   MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_ENCRYPTED,
    137   MACSEC_TXSC_STATS_ATTR_PAD,
    138   __MACSEC_TXSC_STATS_ATTR_END,
    139   NUM_MACSEC_TXSC_STATS_ATTR = __MACSEC_TXSC_STATS_ATTR_END,
    140   MACSEC_TXSC_STATS_ATTR_MAX = __MACSEC_TXSC_STATS_ATTR_END - 1,
    141 };
    142 enum macsec_secy_stats_attr {
    143   MACSEC_SECY_STATS_ATTR_UNSPEC,
    144   MACSEC_SECY_STATS_ATTR_OUT_PKTS_UNTAGGED,
    145   MACSEC_SECY_STATS_ATTR_IN_PKTS_UNTAGGED,
    146   MACSEC_SECY_STATS_ATTR_OUT_PKTS_TOO_LONG,
    147   MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_TAG,
    148   MACSEC_SECY_STATS_ATTR_IN_PKTS_BAD_TAG,
    149   MACSEC_SECY_STATS_ATTR_IN_PKTS_UNKNOWN_SCI,
    150   MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_SCI,
    151   MACSEC_SECY_STATS_ATTR_IN_PKTS_OVERRUN,
    152   MACSEC_SECY_STATS_ATTR_PAD,
    153   __MACSEC_SECY_STATS_ATTR_END,
    154   NUM_MACSEC_SECY_STATS_ATTR = __MACSEC_SECY_STATS_ATTR_END,
    155   MACSEC_SECY_STATS_ATTR_MAX = __MACSEC_SECY_STATS_ATTR_END - 1,
    156 };
    157 #endif
    158