1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-27 18:04:05 +03:00

basic/linux: update linux headers from v5.16-rc6

This commit is contained in:
Yu Watanabe 2021-12-24 11:14:54 +09:00
parent 8585b7ca65
commit d25cc8321c
11 changed files with 294 additions and 17 deletions

View File

@ -288,6 +288,7 @@ struct btrfs_ioctl_fs_info_args {
* first mount when booting older kernel versions. * first mount when booting older kernel versions.
*/ */
#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1) #define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1)
#define BTRFS_FEATURE_COMPAT_RO_VERITY (1ULL << 2)
#define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0) #define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0)
#define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1) #define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1)
@ -770,10 +771,16 @@ struct btrfs_ioctl_received_subvol_args {
*/ */
#define BTRFS_SEND_FLAG_OMIT_END_CMD 0x4 #define BTRFS_SEND_FLAG_OMIT_END_CMD 0x4
/*
* Read the protocol version in the structure
*/
#define BTRFS_SEND_FLAG_VERSION 0x8
#define BTRFS_SEND_FLAG_MASK \ #define BTRFS_SEND_FLAG_MASK \
(BTRFS_SEND_FLAG_NO_FILE_DATA | \ (BTRFS_SEND_FLAG_NO_FILE_DATA | \
BTRFS_SEND_FLAG_OMIT_STREAM_HEADER | \ BTRFS_SEND_FLAG_OMIT_STREAM_HEADER | \
BTRFS_SEND_FLAG_OMIT_END_CMD) BTRFS_SEND_FLAG_OMIT_END_CMD | \
BTRFS_SEND_FLAG_VERSION)
struct btrfs_ioctl_send_args { struct btrfs_ioctl_send_args {
__s64 send_fd; /* in */ __s64 send_fd; /* in */
@ -781,7 +788,8 @@ struct btrfs_ioctl_send_args {
__u64 *clone_sources; /* in */ __u64 *clone_sources; /* in */
__u64 parent_root; /* in */ __u64 parent_root; /* in */
__u64 flags; /* in */ __u64 flags; /* in */
__u64 reserved[4]; /* in */ __u32 version; /* in */
__u8 reserved[28]; /* in */
}; };
/* /*

View File

@ -118,6 +118,29 @@
#define BTRFS_INODE_REF_KEY 12 #define BTRFS_INODE_REF_KEY 12
#define BTRFS_INODE_EXTREF_KEY 13 #define BTRFS_INODE_EXTREF_KEY 13
#define BTRFS_XATTR_ITEM_KEY 24 #define BTRFS_XATTR_ITEM_KEY 24
/*
* fs verity items are stored under two different key types on disk.
* The descriptor items:
* [ inode objectid, BTRFS_VERITY_DESC_ITEM_KEY, offset ]
*
* At offset 0, we store a btrfs_verity_descriptor_item which tracks the size
* of the descriptor item and some extra data for encryption.
* Starting at offset 1, these hold the generic fs verity descriptor. The
* latter are opaque to btrfs, we just read and write them as a blob for the
* higher level verity code. The most common descriptor size is 256 bytes.
*
* The merkle tree items:
* [ inode objectid, BTRFS_VERITY_MERKLE_ITEM_KEY, offset ]
*
* These also start at offset 0, and correspond to the merkle tree bytes. When
* fsverity asks for page 0 of the merkle tree, we pull up one page starting at
* offset 0 for this key type. These are also opaque to btrfs, we're blindly
* storing whatever fsverity sends down.
*/
#define BTRFS_VERITY_DESC_ITEM_KEY 36
#define BTRFS_VERITY_MERKLE_ITEM_KEY 37
#define BTRFS_ORPHAN_ITEM_KEY 48 #define BTRFS_ORPHAN_ITEM_KEY 48
/* reserve 2-15 close to the inode for later flexibility */ /* reserve 2-15 close to the inode for later flexibility */
@ -991,4 +1014,16 @@ struct btrfs_qgroup_limit_item {
__le64 rsv_excl; __le64 rsv_excl;
} __attribute__ ((__packed__)); } __attribute__ ((__packed__));
struct btrfs_verity_descriptor_item {
/* Size of the verity descriptor in bytes */
__le64 size;
/*
* When we implement support for fscrypt, we will need to encrypt the
* Merkle tree for encrypted verity files. These 128 bits are for the
* eventual storage of an fscrypt initialization vector.
*/
__le64 reserved[2];
__u8 encryption;
} __attribute__ ((__packed__));
#endif /* _BTRFS_CTREE_H_ */ #endif /* _BTRFS_CTREE_H_ */

View File

@ -101,6 +101,8 @@ struct can_ctrlmode {
#define CAN_CTRLMODE_PRESUME_ACK 0x40 /* Ignore missing CAN ACKs */ #define CAN_CTRLMODE_PRESUME_ACK 0x40 /* Ignore missing CAN ACKs */
#define CAN_CTRLMODE_FD_NON_ISO 0x80 /* CAN FD in non-ISO mode */ #define CAN_CTRLMODE_FD_NON_ISO 0x80 /* CAN FD in non-ISO mode */
#define CAN_CTRLMODE_CC_LEN8_DLC 0x100 /* Classic CAN DLC option */ #define CAN_CTRLMODE_CC_LEN8_DLC 0x100 /* Classic CAN DLC option */
#define CAN_CTRLMODE_TDC_AUTO 0x200 /* CAN transiver automatically calculates TDCV */
#define CAN_CTRLMODE_TDC_MANUAL 0x400 /* TDCV is manually set up by user */
/* /*
* CAN device statistics * CAN device statistics
@ -134,10 +136,35 @@ enum {
IFLA_CAN_BITRATE_CONST, IFLA_CAN_BITRATE_CONST,
IFLA_CAN_DATA_BITRATE_CONST, IFLA_CAN_DATA_BITRATE_CONST,
IFLA_CAN_BITRATE_MAX, IFLA_CAN_BITRATE_MAX,
__IFLA_CAN_MAX IFLA_CAN_TDC,
/* add new constants above here */
__IFLA_CAN_MAX,
IFLA_CAN_MAX = __IFLA_CAN_MAX - 1
}; };
#define IFLA_CAN_MAX (__IFLA_CAN_MAX - 1) /*
* CAN FD Transmitter Delay Compensation (TDC)
*
* Please refer to struct can_tdc_const and can_tdc in
* include/linux/can/bittiming.h for further details.
*/
enum {
IFLA_CAN_TDC_UNSPEC,
IFLA_CAN_TDC_TDCV_MIN, /* u32 */
IFLA_CAN_TDC_TDCV_MAX, /* u32 */
IFLA_CAN_TDC_TDCO_MIN, /* u32 */
IFLA_CAN_TDC_TDCO_MAX, /* u32 */
IFLA_CAN_TDC_TDCF_MIN, /* u32 */
IFLA_CAN_TDC_TDCF_MAX, /* u32 */
IFLA_CAN_TDC_TDCV, /* u32 */
IFLA_CAN_TDC_TDCO, /* u32 */
IFLA_CAN_TDC_TDCF, /* u32 */
/* add new constants above here */
__IFLA_CAN_TDC,
IFLA_CAN_TDC_MAX = __IFLA_CAN_TDC - 1
};
/* u16 termination range: 1..65535 Ohms */ /* u16 termination range: 1..65535 Ohms */
#define CAN_TERMINATION_DISABLED 0 #define CAN_TERMINATION_DISABLED 0

View File

@ -479,16 +479,22 @@ enum {
/* flags used in BRIDGE_VLANDB_DUMP_FLAGS attribute to affect dumps */ /* flags used in BRIDGE_VLANDB_DUMP_FLAGS attribute to affect dumps */
#define BRIDGE_VLANDB_DUMPF_STATS (1 << 0) /* Include stats in the dump */ #define BRIDGE_VLANDB_DUMPF_STATS (1 << 0) /* Include stats in the dump */
#define BRIDGE_VLANDB_DUMPF_GLOBAL (1 << 1) /* Dump global vlan options only */
/* Bridge vlan RTM attributes /* Bridge vlan RTM attributes
* [BRIDGE_VLANDB_ENTRY] = { * [BRIDGE_VLANDB_ENTRY] = {
* [BRIDGE_VLANDB_ENTRY_INFO] * [BRIDGE_VLANDB_ENTRY_INFO]
* ... * ...
* } * }
* [BRIDGE_VLANDB_GLOBAL_OPTIONS] = {
* [BRIDGE_VLANDB_GOPTS_ID]
* ...
* }
*/ */
enum { enum {
BRIDGE_VLANDB_UNSPEC, BRIDGE_VLANDB_UNSPEC,
BRIDGE_VLANDB_ENTRY, BRIDGE_VLANDB_ENTRY,
BRIDGE_VLANDB_GLOBAL_OPTIONS,
__BRIDGE_VLANDB_MAX, __BRIDGE_VLANDB_MAX,
}; };
#define BRIDGE_VLANDB_MAX (__BRIDGE_VLANDB_MAX - 1) #define BRIDGE_VLANDB_MAX (__BRIDGE_VLANDB_MAX - 1)
@ -500,6 +506,7 @@ enum {
BRIDGE_VLANDB_ENTRY_STATE, BRIDGE_VLANDB_ENTRY_STATE,
BRIDGE_VLANDB_ENTRY_TUNNEL_INFO, BRIDGE_VLANDB_ENTRY_TUNNEL_INFO,
BRIDGE_VLANDB_ENTRY_STATS, BRIDGE_VLANDB_ENTRY_STATS,
BRIDGE_VLANDB_ENTRY_MCAST_ROUTER,
__BRIDGE_VLANDB_ENTRY_MAX, __BRIDGE_VLANDB_ENTRY_MAX,
}; };
#define BRIDGE_VLANDB_ENTRY_MAX (__BRIDGE_VLANDB_ENTRY_MAX - 1) #define BRIDGE_VLANDB_ENTRY_MAX (__BRIDGE_VLANDB_ENTRY_MAX - 1)
@ -538,6 +545,29 @@ enum {
}; };
#define BRIDGE_VLANDB_STATS_MAX (__BRIDGE_VLANDB_STATS_MAX - 1) #define BRIDGE_VLANDB_STATS_MAX (__BRIDGE_VLANDB_STATS_MAX - 1)
enum {
BRIDGE_VLANDB_GOPTS_UNSPEC,
BRIDGE_VLANDB_GOPTS_ID,
BRIDGE_VLANDB_GOPTS_RANGE,
BRIDGE_VLANDB_GOPTS_MCAST_SNOOPING,
BRIDGE_VLANDB_GOPTS_MCAST_IGMP_VERSION,
BRIDGE_VLANDB_GOPTS_MCAST_MLD_VERSION,
BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_CNT,
BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_CNT,
BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_INTVL,
BRIDGE_VLANDB_GOPTS_PAD,
BRIDGE_VLANDB_GOPTS_MCAST_MEMBERSHIP_INTVL,
BRIDGE_VLANDB_GOPTS_MCAST_QUERIER_INTVL,
BRIDGE_VLANDB_GOPTS_MCAST_QUERY_INTVL,
BRIDGE_VLANDB_GOPTS_MCAST_QUERY_RESPONSE_INTVL,
BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_INTVL,
BRIDGE_VLANDB_GOPTS_MCAST_QUERIER,
BRIDGE_VLANDB_GOPTS_MCAST_ROUTER_PORTS,
BRIDGE_VLANDB_GOPTS_MCAST_QUERIER_STATE,
__BRIDGE_VLANDB_GOPTS_MAX
};
#define BRIDGE_VLANDB_GOPTS_MAX (__BRIDGE_VLANDB_GOPTS_MAX - 1)
/* Bridge multicast database attributes /* Bridge multicast database attributes
* [MDBA_MDB] = { * [MDBA_MDB] = {
* [MDBA_MDB_ENTRY] = { * [MDBA_MDB_ENTRY] = {
@ -629,6 +659,7 @@ enum {
MDBA_ROUTER_PATTR_TYPE, MDBA_ROUTER_PATTR_TYPE,
MDBA_ROUTER_PATTR_INET_TIMER, MDBA_ROUTER_PATTR_INET_TIMER,
MDBA_ROUTER_PATTR_INET6_TIMER, MDBA_ROUTER_PATTR_INET6_TIMER,
MDBA_ROUTER_PATTR_VID,
__MDBA_ROUTER_PATTR_MAX __MDBA_ROUTER_PATTR_MAX
}; };
#define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1) #define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1)
@ -720,12 +751,14 @@ struct br_mcast_stats {
/* bridge boolean options /* bridge boolean options
* BR_BOOLOPT_NO_LL_LEARN - disable learning from link-local packets * BR_BOOLOPT_NO_LL_LEARN - disable learning from link-local packets
* BR_BOOLOPT_MCAST_VLAN_SNOOPING - control vlan multicast snooping
* *
* IMPORTANT: if adding a new option do not forget to handle * IMPORTANT: if adding a new option do not forget to handle
* it in br_boolopt_toggle/get and bridge sysfs * it in br_boolopt_toggle/get and bridge sysfs
*/ */
enum br_boolopt_id { enum br_boolopt_id {
BR_BOOLOPT_NO_LL_LEARN, BR_BOOLOPT_NO_LL_LEARN,
BR_BOOLOPT_MCAST_VLAN_SNOOPING,
BR_BOOLOPT_MAX BR_BOOLOPT_MAX
}; };
@ -738,4 +771,17 @@ struct br_boolopt_multi {
__u32 optval; __u32 optval;
__u32 optmask; __u32 optmask;
}; };
enum {
BRIDGE_QUERIER_UNSPEC,
BRIDGE_QUERIER_IP_ADDRESS,
BRIDGE_QUERIER_IP_PORT,
BRIDGE_QUERIER_IP_OTHER_TIMER,
BRIDGE_QUERIER_PAD,
BRIDGE_QUERIER_IPV6_ADDRESS,
BRIDGE_QUERIER_IPV6_PORT,
BRIDGE_QUERIER_IPV6_OTHER_TIMER,
__BRIDGE_QUERIER_MAX
};
#define BRIDGE_QUERIER_MAX (__BRIDGE_QUERIER_MAX - 1)
#endif /* _UAPI_LINUX_IF_BRIDGE_H */ #endif /* _UAPI_LINUX_IF_BRIDGE_H */

View File

@ -86,6 +86,7 @@
* over Ethernet * over Ethernet
*/ */
#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */ #define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */
#define ETH_P_REALTEK 0x8899 /* Multiple proprietary protocols */
#define ETH_P_AOE 0x88A2 /* ATA over Ethernet */ #define ETH_P_AOE 0x88A2 /* ATA over Ethernet */
#define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */ #define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */
#define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */ #define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */
@ -116,7 +117,7 @@
#define ETH_P_IFE 0xED3E /* ForCES inter-FE LFB type */ #define ETH_P_IFE 0xED3E /* ForCES inter-FE LFB type */
#define ETH_P_AF_IUCV 0xFBFB /* IBM af_iucv [ NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_AF_IUCV 0xFBFB /* IBM af_iucv [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_802_3_MIN 0x0600 /* If the value in the ethernet type is less than this value #define ETH_P_802_3_MIN 0x0600 /* If the value in the ethernet type is more than this value
* then the frame is Ethernet II. Else it is 802.3 */ * then the frame is Ethernet II. Else it is 802.3 */
/* /*
@ -151,6 +152,9 @@
#define ETH_P_MAP 0x00F9 /* Qualcomm multiplexing and #define ETH_P_MAP 0x00F9 /* Qualcomm multiplexing and
* aggregation protocol * aggregation protocol
*/ */
#define ETH_P_MCTP 0x00FA /* Management component transport
* protocol packets
*/
/* /*
* This is an Ethernet frame header. * This is an Ethernet frame header.

View File

@ -417,6 +417,7 @@ enum {
IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */ IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */
IFLA_INET6_TOKEN, /* device token */ IFLA_INET6_TOKEN, /* device token */
IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */ IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */
IFLA_INET6_RA_MTU, /* mtu carried in the RA message */
__IFLA_INET6_MAX __IFLA_INET6_MAX
}; };
@ -479,6 +480,7 @@ enum {
IFLA_BR_MCAST_MLD_VERSION, IFLA_BR_MCAST_MLD_VERSION,
IFLA_BR_VLAN_STATS_PER_PORT, IFLA_BR_VLAN_STATS_PER_PORT,
IFLA_BR_MULTI_BOOLOPT, IFLA_BR_MULTI_BOOLOPT,
IFLA_BR_MCAST_QUERIER_STATE,
__IFLA_BR_MAX, __IFLA_BR_MAX,
}; };
@ -855,6 +857,7 @@ enum {
IFLA_BOND_AD_ACTOR_SYSTEM, IFLA_BOND_AD_ACTOR_SYSTEM,
IFLA_BOND_TLB_DYNAMIC_LB, IFLA_BOND_TLB_DYNAMIC_LB,
IFLA_BOND_PEER_NOTIF_DELAY, IFLA_BOND_PEER_NOTIF_DELAY,
IFLA_BOND_AD_LACP_ACTIVE,
__IFLA_BOND_MAX, __IFLA_BOND_MAX,
}; };
@ -1260,4 +1263,14 @@ struct ifla_rmnet_flags {
__u32 mask; __u32 mask;
}; };
/* MCTP section */
enum {
IFLA_MCTP_UNSPEC,
IFLA_MCTP_NET,
__IFLA_MCTP_MAX,
};
#define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1)
#endif /* _UAPI_LINUX_IF_LINK_H */ #endif /* _UAPI_LINUX_IF_LINK_H */

View File

@ -188,11 +188,22 @@ struct ip_mreq_source {
}; };
struct ip_msfilter { struct ip_msfilter {
__be32 imsf_multiaddr; union {
__be32 imsf_interface; struct {
__u32 imsf_fmode; __be32 imsf_multiaddr_aux;
__u32 imsf_numsrc; __be32 imsf_interface_aux;
__be32 imsf_slist[1]; __u32 imsf_fmode_aux;
__u32 imsf_numsrc_aux;
__be32 imsf_slist[1];
};
struct {
__be32 imsf_multiaddr;
__be32 imsf_interface;
__u32 imsf_fmode;
__u32 imsf_numsrc;
__be32 imsf_slist_flex[];
};
};
}; };
#define IP_MSFILTER_SIZE(numsrc) \ #define IP_MSFILTER_SIZE(numsrc) \
@ -211,11 +222,22 @@ struct group_source_req {
}; };
struct group_filter { struct group_filter {
__u32 gf_interface; /* interface index */ union {
struct __kernel_sockaddr_storage gf_group; /* multicast address */ struct {
__u32 gf_fmode; /* filter mode */ __u32 gf_interface_aux; /* interface index */
__u32 gf_numsrc; /* number of sources */ struct __kernel_sockaddr_storage gf_group_aux; /* multicast address */
struct __kernel_sockaddr_storage gf_slist[1]; /* interface index */ __u32 gf_fmode_aux; /* filter mode */
__u32 gf_numsrc_aux; /* number of sources */
struct __kernel_sockaddr_storage gf_slist[1]; /* interface index */
};
struct {
__u32 gf_interface; /* interface index */
struct __kernel_sockaddr_storage gf_group; /* multicast address */
__u32 gf_fmode; /* filter mode */
__u32 gf_numsrc; /* number of sources */
struct __kernel_sockaddr_storage gf_slist_flex[]; /* interface index */
};
};
}; };
#define GROUP_FILTER_SIZE(numsrc) \ #define GROUP_FILTER_SIZE(numsrc) \

View File

@ -145,6 +145,7 @@ struct in6_flowlabel_req {
#define IPV6_TLV_PADN 1 #define IPV6_TLV_PADN 1
#define IPV6_TLV_ROUTERALERT 5 #define IPV6_TLV_ROUTERALERT 5
#define IPV6_TLV_CALIPSO 7 /* RFC 5570 */ #define IPV6_TLV_CALIPSO 7 /* RFC 5570 */
#define IPV6_TLV_IOAM 49 /* TEMPORARY IANA allocation for IOAM */
#define IPV6_TLV_JUMBO 194 #define IPV6_TLV_JUMBO 194
#define IPV6_TLV_HAO 201 /* home address option */ #define IPV6_TLV_HAO 201 /* home address option */

View File

@ -753,11 +753,13 @@ enum nft_dynset_attributes {
* @NFT_PAYLOAD_LL_HEADER: link layer header * @NFT_PAYLOAD_LL_HEADER: link layer header
* @NFT_PAYLOAD_NETWORK_HEADER: network header * @NFT_PAYLOAD_NETWORK_HEADER: network header
* @NFT_PAYLOAD_TRANSPORT_HEADER: transport header * @NFT_PAYLOAD_TRANSPORT_HEADER: transport header
* @NFT_PAYLOAD_INNER_HEADER: inner header / payload
*/ */
enum nft_payload_bases { enum nft_payload_bases {
NFT_PAYLOAD_LL_HEADER, NFT_PAYLOAD_LL_HEADER,
NFT_PAYLOAD_NETWORK_HEADER, NFT_PAYLOAD_NETWORK_HEADER,
NFT_PAYLOAD_TRANSPORT_HEADER, NFT_PAYLOAD_TRANSPORT_HEADER,
NFT_PAYLOAD_INNER_HEADER,
}; };
/** /**
@ -896,7 +898,8 @@ enum nft_meta_keys {
NFT_META_OIF, NFT_META_OIF,
NFT_META_IIFNAME, NFT_META_IIFNAME,
NFT_META_OIFNAME, NFT_META_OIFNAME,
NFT_META_IIFTYPE, NFT_META_IFTYPE,
#define NFT_META_IIFTYPE NFT_META_IFTYPE
NFT_META_OIFTYPE, NFT_META_OIFTYPE,
NFT_META_SKUID, NFT_META_SKUID,
NFT_META_SKGID, NFT_META_SKGID,
@ -923,6 +926,7 @@ enum nft_meta_keys {
NFT_META_TIME_HOUR, NFT_META_TIME_HOUR,
NFT_META_SDIF, NFT_META_SDIF,
NFT_META_SDIFNAME, NFT_META_SDIFNAME,
__NFT_META_IIFTYPE,
}; };
/** /**

View File

@ -300,6 +300,29 @@
* the interface goes down. * the interface goes down.
*/ */
/**
* DOC: FILS shared key crypto offload
*
* This feature is applicable to drivers running in AP mode.
*
* FILS shared key crypto offload can be advertised by drivers by setting
* @NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD flag. The drivers that support
* FILS shared key crypto offload should be able to encrypt and decrypt
* association frames for FILS shared key authentication as per IEEE 802.11ai.
* With this capability, for FILS key derivation, drivers depend on userspace.
*
* After FILS key derivation, userspace shares the FILS AAD details with the
* driver and the driver stores the same to use in decryption of association
* request and in encryption of association response. The below parameters
* should be given to the driver in %NL80211_CMD_SET_FILS_AAD.
* %NL80211_ATTR_MAC - STA MAC address, used for storing FILS AAD per STA
* %NL80211_ATTR_FILS_KEK - Used for encryption or decryption
* %NL80211_ATTR_FILS_NONCES - Used for encryption or decryption
* (STA Nonce 16 bytes followed by AP Nonce 16 bytes)
*
* Once the association is done, the driver cleans the FILS AAD data.
*/
/** /**
* enum nl80211_commands - supported nl80211 commands * enum nl80211_commands - supported nl80211 commands
* *
@ -337,7 +360,10 @@
* @NL80211_CMD_DEL_INTERFACE: Virtual interface was deleted, has attributes * @NL80211_CMD_DEL_INTERFACE: Virtual interface was deleted, has attributes
* %NL80211_ATTR_IFINDEX and %NL80211_ATTR_WIPHY. Can also be sent from * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_WIPHY. Can also be sent from
* userspace to request deletion of a virtual interface, then requires * userspace to request deletion of a virtual interface, then requires
* attribute %NL80211_ATTR_IFINDEX. * attribute %NL80211_ATTR_IFINDEX. If multiple BSSID advertisements are
* enabled using %NL80211_ATTR_MBSSID_CONFIG, %NL80211_ATTR_MBSSID_ELEMS,
* and if this command is used for the transmitting interface, then all
* the non-transmitting interfaces are deleted as well.
* *
* @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified
* by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC.
@ -1200,6 +1226,12 @@
* @NL80211_CMD_COLOR_CHANGE_COMPLETED: Notify userland that the color change * @NL80211_CMD_COLOR_CHANGE_COMPLETED: Notify userland that the color change
* has completed * has completed
* *
* @NL80211_CMD_SET_FILS_AAD: Set FILS AAD data to the driver using -
* &NL80211_ATTR_MAC - for STA MAC address
* &NL80211_ATTR_FILS_KEK - for KEK
* &NL80211_ATTR_FILS_NONCES - for FILS Nonces
* (STA Nonce 16 bytes followed by AP Nonce 16 bytes)
*
* @NL80211_CMD_MAX: highest used command number * @NL80211_CMD_MAX: highest used command number
* @__NL80211_CMD_AFTER_LAST: internal use * @__NL80211_CMD_AFTER_LAST: internal use
*/ */
@ -1440,6 +1472,8 @@ enum nl80211_commands {
NL80211_CMD_COLOR_CHANGE_ABORTED, NL80211_CMD_COLOR_CHANGE_ABORTED,
NL80211_CMD_COLOR_CHANGE_COMPLETED, NL80211_CMD_COLOR_CHANGE_COMPLETED,
NL80211_CMD_SET_FILS_AAD,
/* add new commands above here */ /* add new commands above here */
/* used to define NL80211_CMD_MAX below */ /* used to define NL80211_CMD_MAX below */
@ -2593,6 +2627,18 @@ enum nl80211_commands {
* @NL80211_ATTR_COLOR_CHANGE_ELEMS: Nested set of attributes containing the IE * @NL80211_ATTR_COLOR_CHANGE_ELEMS: Nested set of attributes containing the IE
* information for the time while performing a color switch. * information for the time while performing a color switch.
* *
* @NL80211_ATTR_MBSSID_CONFIG: Nested attribute for multiple BSSID
* advertisements (MBSSID) parameters in AP mode.
* Kernel uses this attribute to indicate the driver's support for MBSSID
* and enhanced multi-BSSID advertisements (EMA AP) to the userspace.
* Userspace should use this attribute to configure per interface MBSSID
* parameters.
* See &enum nl80211_mbssid_config_attributes for details.
*
* @NL80211_ATTR_MBSSID_ELEMS: Nested parameter to pass multiple BSSID elements.
* Mandatory parameter for the transmitting interface to enable MBSSID.
* Optional for the non-transmitting interfaces.
*
* @NUM_NL80211_ATTR: total number of nl80211_attrs available * @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined * @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use * @__NL80211_ATTR_AFTER_LAST: internal use
@ -3096,6 +3142,9 @@ enum nl80211_attrs {
NL80211_ATTR_COLOR_CHANGE_COLOR, NL80211_ATTR_COLOR_CHANGE_COLOR,
NL80211_ATTR_COLOR_CHANGE_ELEMS, NL80211_ATTR_COLOR_CHANGE_ELEMS,
NL80211_ATTR_MBSSID_CONFIG,
NL80211_ATTR_MBSSID_ELEMS,
/* add attributes here, update the policy in nl80211.c */ /* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST, __NL80211_ATTR_AFTER_LAST,
@ -4929,6 +4978,7 @@ enum nl80211_txrate_gi {
* @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz) * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
* @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz) * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
* @NL80211_BAND_S1GHZ: around 900MHz, supported by S1G PHYs * @NL80211_BAND_S1GHZ: around 900MHz, supported by S1G PHYs
* @NL80211_BAND_LC: light communication band (placeholder)
* @NUM_NL80211_BANDS: number of bands, avoid using this in userspace * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
* since newer kernel versions may support more bands * since newer kernel versions may support more bands
*/ */
@ -4938,6 +4988,7 @@ enum nl80211_band {
NL80211_BAND_60GHZ, NL80211_BAND_60GHZ,
NL80211_BAND_6GHZ, NL80211_BAND_6GHZ,
NL80211_BAND_S1GHZ, NL80211_BAND_S1GHZ,
NL80211_BAND_LC,
NUM_NL80211_BANDS, NUM_NL80211_BANDS,
}; };
@ -5995,6 +6046,11 @@ enum nl80211_feature_flags {
* @NL80211_EXT_FEATURE_BSS_COLOR: The driver supports BSS color collision * @NL80211_EXT_FEATURE_BSS_COLOR: The driver supports BSS color collision
* detection and change announcemnts. * detection and change announcemnts.
* *
* @NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD: Driver running in AP mode supports
* FILS encryption and decryption for (Re)Association Request and Response
* frames. Userspace has to share FILS AAD details to the driver by using
* @NL80211_CMD_SET_FILS_AAD.
*
* @NUM_NL80211_EXT_FEATURES: number of extended features. * @NUM_NL80211_EXT_FEATURES: number of extended features.
* @MAX_NL80211_EXT_FEATURES: highest extended feature index. * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
*/ */
@ -6060,6 +6116,7 @@ enum nl80211_ext_feature_index {
NL80211_EXT_FEATURE_SECURE_RTT, NL80211_EXT_FEATURE_SECURE_RTT,
NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE, NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE,
NL80211_EXT_FEATURE_BSS_COLOR, NL80211_EXT_FEATURE_BSS_COLOR,
NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,
/* add new features before the definition below */ /* add new features before the definition below */
NUM_NL80211_EXT_FEATURES, NUM_NL80211_EXT_FEATURES,
@ -7349,4 +7406,60 @@ enum nl80211_sar_specs_attrs {
NL80211_SAR_ATTR_SPECS_MAX = __NL80211_SAR_ATTR_SPECS_LAST - 1, NL80211_SAR_ATTR_SPECS_MAX = __NL80211_SAR_ATTR_SPECS_LAST - 1,
}; };
/**
* enum nl80211_mbssid_config_attributes - multiple BSSID (MBSSID) and enhanced
* multi-BSSID advertisements (EMA) in AP mode.
* Kernel uses some of these attributes to advertise driver's support for
* MBSSID and EMA.
* Remaining attributes should be used by the userspace to configure the
* features.
*
* @__NL80211_MBSSID_CONFIG_ATTR_INVALID: Invalid
*
* @NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES: Used by the kernel to advertise
* the maximum number of MBSSID interfaces supported by the driver.
* Driver should indicate MBSSID support by setting
* wiphy->mbssid_max_interfaces to a value more than or equal to 2.
*
* @NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY: Used by the kernel
* to advertise the maximum profile periodicity supported by the driver
* if EMA is enabled. Driver should indicate EMA support to the userspace
* by setting wiphy->ema_max_profile_periodicity to
* a non-zero value.
*
* @NL80211_MBSSID_CONFIG_ATTR_INDEX: Mandatory parameter to pass the index of
* this BSS (u8) in the multiple BSSID set.
* Value must be set to 0 for the transmitting interface and non-zero for
* all non-transmitting interfaces. The userspace will be responsible
* for using unique indices for the interfaces.
* Range: 0 to wiphy->mbssid_max_interfaces-1.
*
* @NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX: Mandatory parameter for
* a non-transmitted profile which provides the interface index (u32) of
* the transmitted profile. The value must match one of the interface
* indices advertised by the kernel. Optional if the interface being set up
* is the transmitting one, however, if provided then the value must match
* the interface index of the same.
*
* @NL80211_MBSSID_CONFIG_ATTR_EMA: Flag used to enable EMA AP feature.
* Setting this flag is permitted only if the driver advertises EMA support
* by setting wiphy->ema_max_profile_periodicity to non-zero.
*
* @__NL80211_MBSSID_CONFIG_ATTR_LAST: Internal
* @NL80211_MBSSID_CONFIG_ATTR_MAX: highest attribute
*/
enum nl80211_mbssid_config_attributes {
__NL80211_MBSSID_CONFIG_ATTR_INVALID,
NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES,
NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY,
NL80211_MBSSID_CONFIG_ATTR_INDEX,
NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX,
NL80211_MBSSID_CONFIG_ATTR_EMA,
/* keep last */
__NL80211_MBSSID_CONFIG_ATTR_LAST,
NL80211_MBSSID_CONFIG_ATTR_MAX = __NL80211_MBSSID_CONFIG_ATTR_LAST - 1,
};
#endif /* __LINUX_NL80211_H */ #endif /* __LINUX_NL80211_H */

View File

@ -827,6 +827,8 @@ struct tc_codel_xstats {
/* FQ_CODEL */ /* FQ_CODEL */
#define FQ_CODEL_QUANTUM_MAX (1 << 20)
enum { enum {
TCA_FQ_CODEL_UNSPEC, TCA_FQ_CODEL_UNSPEC,
TCA_FQ_CODEL_TARGET, TCA_FQ_CODEL_TARGET,
@ -838,6 +840,8 @@ enum {
TCA_FQ_CODEL_CE_THRESHOLD, TCA_FQ_CODEL_CE_THRESHOLD,
TCA_FQ_CODEL_DROP_BATCH_SIZE, TCA_FQ_CODEL_DROP_BATCH_SIZE,
TCA_FQ_CODEL_MEMORY_LIMIT, TCA_FQ_CODEL_MEMORY_LIMIT,
TCA_FQ_CODEL_CE_THRESHOLD_SELECTOR,
TCA_FQ_CODEL_CE_THRESHOLD_MASK,
__TCA_FQ_CODEL_MAX __TCA_FQ_CODEL_MAX
}; };