diff options
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/linux/ethtool.h | 4 | ||||
| -rw-r--r-- | include/uapi/linux/if_bridge.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/if_link.h | 4 | ||||
| -rw-r--r-- | include/uapi/linux/in.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/ipv6.h | 7 | ||||
| -rw-r--r-- | include/uapi/linux/l2tp.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/libc-compat.h | 6 | ||||
| -rw-r--r-- | include/uapi/linux/neighbour.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/net_namespace.h | 23 | ||||
| -rw-r--r-- | include/uapi/linux/net_tstamp.h | 3 | ||||
| -rw-r--r-- | include/uapi/linux/nfc.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/nl80211.h | 207 | ||||
| -rw-r--r-- | include/uapi/linux/openvswitch.h | 53 | ||||
| -rw-r--r-- | include/uapi/linux/pkt_sched.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/rtnetlink.h | 8 | ||||
| -rw-r--r-- | include/uapi/linux/snmp.h | 6 | ||||
| -rw-r--r-- | include/uapi/linux/tc_act/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/linux/tc_act/tc_bpf.h | 31 | ||||
| -rw-r--r-- | include/uapi/linux/tc_act/tc_connmark.h | 22 | ||||
| -rw-r--r-- | include/uapi/linux/tipc_config.h | 20 |
21 files changed, 369 insertions, 35 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 00b100023c47..14b7b6e44c77 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -283,6 +283,7 @@ header-y += net.h | |||
| 283 | header-y += netlink_diag.h | 283 | header-y += netlink_diag.h |
| 284 | header-y += netlink.h | 284 | header-y += netlink.h |
| 285 | header-y += netrom.h | 285 | header-y += netrom.h |
| 286 | header-y += net_namespace.h | ||
| 286 | header-y += net_tstamp.h | 287 | header-y += net_tstamp.h |
| 287 | header-y += nfc.h | 288 | header-y += nfc.h |
| 288 | header-y += nfs2.h | 289 | header-y += nfs2.h |
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h index 5f66d9c2889d..2e49fc880d29 100644 --- a/include/uapi/linux/ethtool.h +++ b/include/uapi/linux/ethtool.h | |||
| @@ -139,6 +139,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep) | |||
| 139 | 139 | ||
| 140 | #define ETHTOOL_FWVERS_LEN 32 | 140 | #define ETHTOOL_FWVERS_LEN 32 |
| 141 | #define ETHTOOL_BUSINFO_LEN 32 | 141 | #define ETHTOOL_BUSINFO_LEN 32 |
| 142 | #define ETHTOOL_EROMVERS_LEN 32 | ||
| 142 | 143 | ||
| 143 | /** | 144 | /** |
| 144 | * struct ethtool_drvinfo - general driver and device information | 145 | * struct ethtool_drvinfo - general driver and device information |
| @@ -148,6 +149,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep) | |||
| 148 | * not be an empty string. | 149 | * not be an empty string. |
| 149 | * @version: Driver version string; may be an empty string | 150 | * @version: Driver version string; may be an empty string |
| 150 | * @fw_version: Firmware version string; may be an empty string | 151 | * @fw_version: Firmware version string; may be an empty string |
| 152 | * @erom_version: Expansion ROM version string; may be an empty string | ||
| 151 | * @bus_info: Device bus address. This should match the dev_name() | 153 | * @bus_info: Device bus address. This should match the dev_name() |
| 152 | * string for the underlying bus device, if there is one. May be | 154 | * string for the underlying bus device, if there is one. May be |
| 153 | * an empty string. | 155 | * an empty string. |
| @@ -176,7 +178,7 @@ struct ethtool_drvinfo { | |||
| 176 | char version[32]; | 178 | char version[32]; |
| 177 | char fw_version[ETHTOOL_FWVERS_LEN]; | 179 | char fw_version[ETHTOOL_FWVERS_LEN]; |
| 178 | char bus_info[ETHTOOL_BUSINFO_LEN]; | 180 | char bus_info[ETHTOOL_BUSINFO_LEN]; |
| 179 | char reserved1[32]; | 181 | char erom_version[ETHTOOL_EROMVERS_LEN]; |
| 180 | char reserved2[12]; | 182 | char reserved2[12]; |
| 181 | __u32 n_priv_flags; | 183 | __u32 n_priv_flags; |
| 182 | __u32 n_stats; | 184 | __u32 n_stats; |
diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h index b03ee8f62d3c..eaaea6208b42 100644 --- a/include/uapi/linux/if_bridge.h +++ b/include/uapi/linux/if_bridge.h | |||
| @@ -125,6 +125,8 @@ enum { | |||
| 125 | #define BRIDGE_VLAN_INFO_MASTER (1<<0) /* Operate on Bridge device as well */ | 125 | #define BRIDGE_VLAN_INFO_MASTER (1<<0) /* Operate on Bridge device as well */ |
| 126 | #define BRIDGE_VLAN_INFO_PVID (1<<1) /* VLAN is PVID, ingress untagged */ | 126 | #define BRIDGE_VLAN_INFO_PVID (1<<1) /* VLAN is PVID, ingress untagged */ |
| 127 | #define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) /* VLAN egresses untagged */ | 127 | #define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) /* VLAN egresses untagged */ |
| 128 | #define BRIDGE_VLAN_INFO_RANGE_BEGIN (1<<3) /* VLAN is start of vlan range */ | ||
| 129 | #define BRIDGE_VLAN_INFO_RANGE_END (1<<4) /* VLAN is end of vlan range */ | ||
| 128 | 130 | ||
| 129 | struct bridge_vlan_info { | 131 | struct bridge_vlan_info { |
| 130 | __u16 flags; | 132 | __u16 flags; |
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index f7d0d2d7173a..0deee3eeddbf 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h | |||
| @@ -146,6 +146,7 @@ enum { | |||
| 146 | IFLA_PHYS_PORT_ID, | 146 | IFLA_PHYS_PORT_ID, |
| 147 | IFLA_CARRIER_CHANGES, | 147 | IFLA_CARRIER_CHANGES, |
| 148 | IFLA_PHYS_SWITCH_ID, | 148 | IFLA_PHYS_SWITCH_ID, |
| 149 | IFLA_LINK_NETNSID, | ||
| 149 | __IFLA_MAX | 150 | __IFLA_MAX |
| 150 | }; | 151 | }; |
| 151 | 152 | ||
| @@ -370,6 +371,9 @@ enum { | |||
| 370 | IFLA_VXLAN_UDP_CSUM, | 371 | IFLA_VXLAN_UDP_CSUM, |
| 371 | IFLA_VXLAN_UDP_ZERO_CSUM6_TX, | 372 | IFLA_VXLAN_UDP_ZERO_CSUM6_TX, |
| 372 | IFLA_VXLAN_UDP_ZERO_CSUM6_RX, | 373 | IFLA_VXLAN_UDP_ZERO_CSUM6_RX, |
| 374 | IFLA_VXLAN_REMCSUM_TX, | ||
| 375 | IFLA_VXLAN_REMCSUM_RX, | ||
| 376 | IFLA_VXLAN_GBP, | ||
| 373 | __IFLA_VXLAN_MAX | 377 | __IFLA_VXLAN_MAX |
| 374 | }; | 378 | }; |
| 375 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) | 379 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) |
diff --git a/include/uapi/linux/in.h b/include/uapi/linux/in.h index c33a65e3d62c..589ced069e8a 100644 --- a/include/uapi/linux/in.h +++ b/include/uapi/linux/in.h | |||
| @@ -109,6 +109,7 @@ struct in_addr { | |||
| 109 | 109 | ||
| 110 | #define IP_MINTTL 21 | 110 | #define IP_MINTTL 21 |
| 111 | #define IP_NODEFRAG 22 | 111 | #define IP_NODEFRAG 22 |
| 112 | #define IP_CHECKSUM 23 | ||
| 112 | 113 | ||
| 113 | /* IP_MTU_DISCOVER values */ | 114 | /* IP_MTU_DISCOVER values */ |
| 114 | #define IP_PMTUDISC_DONT 0 /* Never send DF frames */ | 115 | #define IP_PMTUDISC_DONT 0 /* Never send DF frames */ |
diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h index e863d088b9a5..437a6a4b125a 100644 --- a/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | #ifndef _UAPI_IPV6_H | 1 | #ifndef _UAPI_IPV6_H |
| 2 | #define _UAPI_IPV6_H | 2 | #define _UAPI_IPV6_H |
| 3 | 3 | ||
| 4 | #include <linux/libc-compat.h> | ||
| 4 | #include <linux/types.h> | 5 | #include <linux/types.h> |
| 5 | #include <linux/in6.h> | 6 | #include <linux/in6.h> |
| 6 | #include <asm/byteorder.h> | 7 | #include <asm/byteorder.h> |
| @@ -15,16 +16,19 @@ | |||
| 15 | * *under construction* | 16 | * *under construction* |
| 16 | */ | 17 | */ |
| 17 | 18 | ||
| 18 | 19 | #if __UAPI_DEF_IN6_PKTINFO | |
| 19 | struct in6_pktinfo { | 20 | struct in6_pktinfo { |
| 20 | struct in6_addr ipi6_addr; | 21 | struct in6_addr ipi6_addr; |
| 21 | int ipi6_ifindex; | 22 | int ipi6_ifindex; |
| 22 | }; | 23 | }; |
| 24 | #endif | ||
| 23 | 25 | ||
| 26 | #if __UAPI_DEF_IP6_MTUINFO | ||
| 24 | struct ip6_mtuinfo { | 27 | struct ip6_mtuinfo { |
| 25 | struct sockaddr_in6 ip6m_addr; | 28 | struct sockaddr_in6 ip6m_addr; |
| 26 | __u32 ip6m_mtu; | 29 | __u32 ip6m_mtu; |
| 27 | }; | 30 | }; |
| 31 | #endif | ||
| 28 | 32 | ||
| 29 | struct in6_ifreq { | 33 | struct in6_ifreq { |
| 30 | struct in6_addr ifr6_addr; | 34 | struct in6_addr ifr6_addr; |
| @@ -165,6 +169,7 @@ enum { | |||
| 165 | DEVCONF_SUPPRESS_FRAG_NDISC, | 169 | DEVCONF_SUPPRESS_FRAG_NDISC, |
| 166 | DEVCONF_ACCEPT_RA_FROM_LOCAL, | 170 | DEVCONF_ACCEPT_RA_FROM_LOCAL, |
| 167 | DEVCONF_USE_OPTIMISTIC, | 171 | DEVCONF_USE_OPTIMISTIC, |
| 172 | DEVCONF_ACCEPT_RA_MTU, | ||
| 168 | DEVCONF_MAX | 173 | DEVCONF_MAX |
| 169 | }; | 174 | }; |
| 170 | 175 | ||
diff --git a/include/uapi/linux/l2tp.h b/include/uapi/linux/l2tp.h index 21caa2631c20..347ef22a964e 100644 --- a/include/uapi/linux/l2tp.h +++ b/include/uapi/linux/l2tp.h | |||
| @@ -178,5 +178,6 @@ enum l2tp_seqmode { | |||
| 178 | */ | 178 | */ |
| 179 | #define L2TP_GENL_NAME "l2tp" | 179 | #define L2TP_GENL_NAME "l2tp" |
| 180 | #define L2TP_GENL_VERSION 0x1 | 180 | #define L2TP_GENL_VERSION 0x1 |
| 181 | #define L2TP_GENL_MCGROUP "l2tp" | ||
| 181 | 182 | ||
| 182 | #endif /* _UAPI_LINUX_L2TP_H_ */ | 183 | #endif /* _UAPI_LINUX_L2TP_H_ */ |
diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h index e28807ad17fa..fa673e9cc040 100644 --- a/include/uapi/linux/libc-compat.h +++ b/include/uapi/linux/libc-compat.h | |||
| @@ -70,6 +70,8 @@ | |||
| 70 | #define __UAPI_DEF_IPV6_MREQ 0 | 70 | #define __UAPI_DEF_IPV6_MREQ 0 |
| 71 | #define __UAPI_DEF_IPPROTO_V6 0 | 71 | #define __UAPI_DEF_IPPROTO_V6 0 |
| 72 | #define __UAPI_DEF_IPV6_OPTIONS 0 | 72 | #define __UAPI_DEF_IPV6_OPTIONS 0 |
| 73 | #define __UAPI_DEF_IN6_PKTINFO 0 | ||
| 74 | #define __UAPI_DEF_IP6_MTUINFO 0 | ||
| 73 | 75 | ||
| 74 | #else | 76 | #else |
| 75 | 77 | ||
| @@ -84,6 +86,8 @@ | |||
| 84 | #define __UAPI_DEF_IPV6_MREQ 1 | 86 | #define __UAPI_DEF_IPV6_MREQ 1 |
| 85 | #define __UAPI_DEF_IPPROTO_V6 1 | 87 | #define __UAPI_DEF_IPPROTO_V6 1 |
| 86 | #define __UAPI_DEF_IPV6_OPTIONS 1 | 88 | #define __UAPI_DEF_IPV6_OPTIONS 1 |
| 89 | #define __UAPI_DEF_IN6_PKTINFO 1 | ||
| 90 | #define __UAPI_DEF_IP6_MTUINFO 1 | ||
| 87 | 91 | ||
| 88 | #endif /* _NETINET_IN_H */ | 92 | #endif /* _NETINET_IN_H */ |
| 89 | 93 | ||
| @@ -106,6 +110,8 @@ | |||
| 106 | #define __UAPI_DEF_IPV6_MREQ 1 | 110 | #define __UAPI_DEF_IPV6_MREQ 1 |
| 107 | #define __UAPI_DEF_IPPROTO_V6 1 | 111 | #define __UAPI_DEF_IPPROTO_V6 1 |
| 108 | #define __UAPI_DEF_IPV6_OPTIONS 1 | 112 | #define __UAPI_DEF_IPV6_OPTIONS 1 |
| 113 | #define __UAPI_DEF_IN6_PKTINFO 1 | ||
| 114 | #define __UAPI_DEF_IP6_MTUINFO 1 | ||
| 109 | 115 | ||
| 110 | /* Definitions for xattr.h */ | 116 | /* Definitions for xattr.h */ |
| 111 | #define __UAPI_DEF_XATTR 1 | 117 | #define __UAPI_DEF_XATTR 1 |
diff --git a/include/uapi/linux/neighbour.h b/include/uapi/linux/neighbour.h index f3d77f9f1e0b..3873a35509aa 100644 --- a/include/uapi/linux/neighbour.h +++ b/include/uapi/linux/neighbour.h | |||
| @@ -25,6 +25,7 @@ enum { | |||
| 25 | NDA_VNI, | 25 | NDA_VNI, |
| 26 | NDA_IFINDEX, | 26 | NDA_IFINDEX, |
| 27 | NDA_MASTER, | 27 | NDA_MASTER, |
| 28 | NDA_LINK_NETNSID, | ||
| 28 | __NDA_MAX | 29 | __NDA_MAX |
| 29 | }; | 30 | }; |
| 30 | 31 | ||
diff --git a/include/uapi/linux/net_namespace.h b/include/uapi/linux/net_namespace.h new file mode 100644 index 000000000000..778cd2c3ebf4 --- /dev/null +++ b/include/uapi/linux/net_namespace.h | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* Copyright (c) 2015 6WIND S.A. | ||
| 2 | * Author: Nicolas Dichtel <nicolas.dichtel@6wind.com> | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or modify it | ||
| 5 | * under the terms and conditions of the GNU General Public License, | ||
| 6 | * version 2, as published by the Free Software Foundation. | ||
| 7 | */ | ||
| 8 | #ifndef _UAPI_LINUX_NET_NAMESPACE_H_ | ||
| 9 | #define _UAPI_LINUX_NET_NAMESPACE_H_ | ||
| 10 | |||
| 11 | /* Attributes of RTM_NEWNSID/RTM_GETNSID messages */ | ||
| 12 | enum { | ||
| 13 | NETNSA_NONE, | ||
| 14 | #define NETNSA_NSID_NOT_ASSIGNED -1 | ||
| 15 | NETNSA_NSID, | ||
| 16 | NETNSA_PID, | ||
| 17 | NETNSA_FD, | ||
| 18 | __NETNSA_MAX, | ||
| 19 | }; | ||
| 20 | |||
| 21 | #define NETNSA_MAX (__NETNSA_MAX - 1) | ||
| 22 | |||
| 23 | #endif /* _UAPI_LINUX_NET_NAMESPACE_H_ */ | ||
diff --git a/include/uapi/linux/net_tstamp.h b/include/uapi/linux/net_tstamp.h index edbc888ceb51..6d1abea9746e 100644 --- a/include/uapi/linux/net_tstamp.h +++ b/include/uapi/linux/net_tstamp.h | |||
| @@ -24,8 +24,9 @@ enum { | |||
| 24 | SOF_TIMESTAMPING_TX_SCHED = (1<<8), | 24 | SOF_TIMESTAMPING_TX_SCHED = (1<<8), |
| 25 | SOF_TIMESTAMPING_TX_ACK = (1<<9), | 25 | SOF_TIMESTAMPING_TX_ACK = (1<<9), |
| 26 | SOF_TIMESTAMPING_OPT_CMSG = (1<<10), | 26 | SOF_TIMESTAMPING_OPT_CMSG = (1<<10), |
| 27 | SOF_TIMESTAMPING_OPT_TSONLY = (1<<11), | ||
| 27 | 28 | ||
| 28 | SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_CMSG, | 29 | SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TSONLY, |
| 29 | SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | | 30 | SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | |
| 30 | SOF_TIMESTAMPING_LAST | 31 | SOF_TIMESTAMPING_LAST |
| 31 | }; | 32 | }; |
diff --git a/include/uapi/linux/nfc.h b/include/uapi/linux/nfc.h index 8119255feae4..c1e2e63cf9b5 100644 --- a/include/uapi/linux/nfc.h +++ b/include/uapi/linux/nfc.h | |||
| @@ -183,6 +183,7 @@ enum nfc_attrs { | |||
| 183 | NFC_ATTR_SE_APDU, | 183 | NFC_ATTR_SE_APDU, |
| 184 | NFC_ATTR_TARGET_ISO15693_DSFID, | 184 | NFC_ATTR_TARGET_ISO15693_DSFID, |
| 185 | NFC_ATTR_TARGET_ISO15693_UID, | 185 | NFC_ATTR_TARGET_ISO15693_UID, |
| 186 | NFC_ATTR_SE_PARAMS, | ||
| 186 | /* private: internal use only */ | 187 | /* private: internal use only */ |
| 187 | __NFC_ATTR_AFTER_LAST | 188 | __NFC_ATTR_AFTER_LAST |
| 188 | }; | 189 | }; |
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index b37bd5a1cb82..68b294e83944 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h | |||
| @@ -29,6 +29,13 @@ | |||
| 29 | 29 | ||
| 30 | #define NL80211_GENL_NAME "nl80211" | 30 | #define NL80211_GENL_NAME "nl80211" |
| 31 | 31 | ||
| 32 | #define NL80211_MULTICAST_GROUP_CONFIG "config" | ||
| 33 | #define NL80211_MULTICAST_GROUP_SCAN "scan" | ||
| 34 | #define NL80211_MULTICAST_GROUP_REG "regulatory" | ||
| 35 | #define NL80211_MULTICAST_GROUP_MLME "mlme" | ||
| 36 | #define NL80211_MULTICAST_GROUP_VENDOR "vendor" | ||
| 37 | #define NL80211_MULTICAST_GROUP_TESTMODE "testmode" | ||
| 38 | |||
| 32 | /** | 39 | /** |
| 33 | * DOC: Station handling | 40 | * DOC: Station handling |
| 34 | * | 41 | * |
| @@ -173,8 +180,8 @@ | |||
| 173 | * %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME. | 180 | * %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME. |
| 174 | * | 181 | * |
| 175 | * @NL80211_CMD_GET_INTERFACE: Request an interface's configuration; | 182 | * @NL80211_CMD_GET_INTERFACE: Request an interface's configuration; |
| 176 | * either a dump request on a %NL80211_ATTR_WIPHY or a specific get | 183 | * either a dump request for all interfaces or a specific get with a |
| 177 | * on an %NL80211_ATTR_IFINDEX is supported. | 184 | * single %NL80211_ATTR_IFINDEX is supported. |
| 178 | * @NL80211_CMD_SET_INTERFACE: Set type of a virtual interface, requires | 185 | * @NL80211_CMD_SET_INTERFACE: Set type of a virtual interface, requires |
| 179 | * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE. | 186 | * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE. |
| 180 | * @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response | 187 | * @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response |
| @@ -252,7 +259,18 @@ | |||
| 252 | * %NL80211_ATTR_IFINDEX. | 259 | * %NL80211_ATTR_IFINDEX. |
| 253 | * | 260 | * |
| 254 | * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set | 261 | * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set |
| 255 | * regulatory domain. | 262 | * regulatory domain. If %NL80211_ATTR_WIPHY is specified and the device |
| 263 | * has a private regulatory domain, it will be returned. Otherwise, the | ||
| 264 | * global regdomain will be returned. | ||
| 265 | * A device will have a private regulatory domain if it uses the | ||
| 266 | * regulatory_hint() API. Even when a private regdomain is used the channel | ||
| 267 | * information will still be mended according to further hints from | ||
| 268 | * the regulatory core to help with compliance. A dump version of this API | ||
| 269 | * is now available which will returns the global regdomain as well as | ||
| 270 | * all private regdomains of present wiphys (for those that have it). | ||
| 271 | * If a wiphy is self-managed (%NL80211_ATTR_WIPHY_SELF_MANAGED_REG), then | ||
| 272 | * its private regdomain is the only valid one for it. The regulatory | ||
| 273 | * core is not used to help with compliance in this case. | ||
| 256 | * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command | 274 | * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command |
| 257 | * after being queried by the kernel. CRDA replies by sending a regulatory | 275 | * after being queried by the kernel. CRDA replies by sending a regulatory |
| 258 | * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our | 276 | * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our |
| @@ -306,7 +324,9 @@ | |||
| 306 | * if passed, define which channels should be scanned; if not | 324 | * if passed, define which channels should be scanned; if not |
| 307 | * passed, all channels allowed for the current regulatory domain | 325 | * passed, all channels allowed for the current regulatory domain |
| 308 | * are used. Extra IEs can also be passed from the userspace by | 326 | * are used. Extra IEs can also be passed from the userspace by |
| 309 | * using the %NL80211_ATTR_IE attribute. | 327 | * using the %NL80211_ATTR_IE attribute. The first cycle of the |
| 328 | * scheduled scan can be delayed by %NL80211_ATTR_SCHED_SCAN_DELAY | ||
| 329 | * is supplied. | ||
| 310 | * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT if | 330 | * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT if |
| 311 | * scheduled scan is not running. The caller may assume that as soon | 331 | * scheduled scan is not running. The caller may assume that as soon |
| 312 | * as the call returns, it is safe to start a new scheduled scan again. | 332 | * as the call returns, it is safe to start a new scheduled scan again. |
| @@ -774,6 +794,10 @@ | |||
| 774 | * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel | 794 | * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel |
| 775 | * when this command completes. | 795 | * when this command completes. |
| 776 | * | 796 | * |
| 797 | * @NL80211_CMD_WIPHY_REG_CHANGE: Similar to %NL80211_CMD_REG_CHANGE, but used | ||
| 798 | * as an event to indicate changes for devices with wiphy-specific regdom | ||
| 799 | * management. | ||
| 800 | * | ||
| 777 | * @NL80211_CMD_MAX: highest used command number | 801 | * @NL80211_CMD_MAX: highest used command number |
| 778 | * @__NL80211_CMD_AFTER_LAST: internal use | 802 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 779 | */ | 803 | */ |
| @@ -958,6 +982,8 @@ enum nl80211_commands { | |||
| 958 | NL80211_CMD_TDLS_CHANNEL_SWITCH, | 982 | NL80211_CMD_TDLS_CHANNEL_SWITCH, |
| 959 | NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH, | 983 | NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH, |
| 960 | 984 | ||
| 985 | NL80211_CMD_WIPHY_REG_CHANGE, | ||
| 986 | |||
| 961 | /* add new commands above here */ | 987 | /* add new commands above here */ |
| 962 | 988 | ||
| 963 | /* used to define NL80211_CMD_MAX below */ | 989 | /* used to define NL80211_CMD_MAX below */ |
| @@ -1655,6 +1681,9 @@ enum nl80211_commands { | |||
| 1655 | * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface | 1681 | * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface |
| 1656 | * creation then the new interface will be owned by the netlink socket | 1682 | * creation then the new interface will be owned by the netlink socket |
| 1657 | * that created it and will be destroyed when the socket is closed. | 1683 | * that created it and will be destroyed when the socket is closed. |
| 1684 | * If set during scheduled scan start then the new scan req will be | ||
| 1685 | * owned by the netlink socket that created it and the scheduled scan will | ||
| 1686 | * be stopped when the socket is closed. | ||
| 1658 | * | 1687 | * |
| 1659 | * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is | 1688 | * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is |
| 1660 | * the TDLS link initiator. | 1689 | * the TDLS link initiator. |
| @@ -1688,6 +1717,29 @@ enum nl80211_commands { | |||
| 1688 | * | 1717 | * |
| 1689 | * @NL80211_ATTR_MAC_MASK: MAC address mask | 1718 | * @NL80211_ATTR_MAC_MASK: MAC address mask |
| 1690 | * | 1719 | * |
| 1720 | * @NL80211_ATTR_WIPHY_SELF_MANAGED_REG: flag attribute indicating this device | ||
| 1721 | * is self-managing its regulatory information and any regulatory domain | ||
| 1722 | * obtained from it is coming from the device's wiphy and not the global | ||
| 1723 | * cfg80211 regdomain. | ||
| 1724 | * | ||
| 1725 | * @NL80211_ATTR_EXT_FEATURES: extended feature flags contained in a byte | ||
| 1726 | * array. The feature flags are identified by their bit index (see &enum | ||
| 1727 | * nl80211_ext_feature_index). The bit index is ordered starting at the | ||
| 1728 | * least-significant bit of the first byte in the array, ie. bit index 0 | ||
| 1729 | * is located at bit 0 of byte 0. bit index 25 would be located at bit 1 | ||
| 1730 | * of byte 3 (u8 array). | ||
| 1731 | * | ||
| 1732 | * @NL80211_ATTR_SURVEY_RADIO_STATS: Request overall radio statistics to be | ||
| 1733 | * returned along with other survey data. If set, @NL80211_CMD_GET_SURVEY | ||
| 1734 | * may return a survey entry without a channel indicating global radio | ||
| 1735 | * statistics (only some values are valid and make sense.) | ||
| 1736 | * For devices that don't return such an entry even then, the information | ||
| 1737 | * should be contained in the result as the sum of the respective counters | ||
| 1738 | * over all channels. | ||
| 1739 | * | ||
| 1740 | * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before a scheduled scan (or a | ||
| 1741 | * WoWLAN net-detect scan) is started, u32 in seconds. | ||
| 1742 | * | ||
| 1691 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available | 1743 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 1692 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1744 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1693 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1745 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -2045,6 +2097,16 @@ enum nl80211_attrs { | |||
| 2045 | 2097 | ||
| 2046 | NL80211_ATTR_MAC_MASK, | 2098 | NL80211_ATTR_MAC_MASK, |
| 2047 | 2099 | ||
| 2100 | NL80211_ATTR_WIPHY_SELF_MANAGED_REG, | ||
| 2101 | |||
| 2102 | NL80211_ATTR_EXT_FEATURES, | ||
| 2103 | |||
| 2104 | NL80211_ATTR_SURVEY_RADIO_STATS, | ||
| 2105 | |||
| 2106 | NL80211_ATTR_NETNS_FD, | ||
| 2107 | |||
| 2108 | NL80211_ATTR_SCHED_SCAN_DELAY, | ||
| 2109 | |||
| 2048 | /* add attributes here, update the policy in nl80211.c */ | 2110 | /* add attributes here, update the policy in nl80211.c */ |
| 2049 | 2111 | ||
| 2050 | __NL80211_ATTR_AFTER_LAST, | 2112 | __NL80211_ATTR_AFTER_LAST, |
| @@ -2085,7 +2147,7 @@ enum nl80211_attrs { | |||
| 2085 | 2147 | ||
| 2086 | #define NL80211_MAX_SUPP_RATES 32 | 2148 | #define NL80211_MAX_SUPP_RATES 32 |
| 2087 | #define NL80211_MAX_SUPP_HT_RATES 77 | 2149 | #define NL80211_MAX_SUPP_HT_RATES 77 |
| 2088 | #define NL80211_MAX_SUPP_REG_RULES 32 | 2150 | #define NL80211_MAX_SUPP_REG_RULES 64 |
| 2089 | #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 | 2151 | #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 |
| 2090 | #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 | 2152 | #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 |
| 2091 | #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 | 2153 | #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 |
| @@ -2225,8 +2287,15 @@ struct nl80211_sta_flag_update { | |||
| 2225 | * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8) | 2287 | * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8) |
| 2226 | * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8) | 2288 | * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8) |
| 2227 | * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate | 2289 | * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate |
| 2228 | * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate | 2290 | * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: unused - 80+80 is treated the |
| 2291 | * same as 160 for purposes of the bitrates | ||
| 2229 | * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate | 2292 | * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate |
| 2293 | * @NL80211_RATE_INFO_10_MHZ_WIDTH: 10 MHz width - note that this is | ||
| 2294 | * a legacy rate and will be reported as the actual bitrate, i.e. | ||
| 2295 | * half the base (20 MHz) rate | ||
| 2296 | * @NL80211_RATE_INFO_5_MHZ_WIDTH: 5 MHz width - note that this is | ||
| 2297 | * a legacy rate and will be reported as the actual bitrate, i.e. | ||
| 2298 | * a quarter of the base (20 MHz) rate | ||
| 2230 | * @__NL80211_RATE_INFO_AFTER_LAST: internal use | 2299 | * @__NL80211_RATE_INFO_AFTER_LAST: internal use |
| 2231 | */ | 2300 | */ |
| 2232 | enum nl80211_rate_info { | 2301 | enum nl80211_rate_info { |
| @@ -2241,6 +2310,8 @@ enum nl80211_rate_info { | |||
| 2241 | NL80211_RATE_INFO_80_MHZ_WIDTH, | 2310 | NL80211_RATE_INFO_80_MHZ_WIDTH, |
| 2242 | NL80211_RATE_INFO_80P80_MHZ_WIDTH, | 2311 | NL80211_RATE_INFO_80P80_MHZ_WIDTH, |
| 2243 | NL80211_RATE_INFO_160_MHZ_WIDTH, | 2312 | NL80211_RATE_INFO_160_MHZ_WIDTH, |
| 2313 | NL80211_RATE_INFO_10_MHZ_WIDTH, | ||
| 2314 | NL80211_RATE_INFO_5_MHZ_WIDTH, | ||
| 2244 | 2315 | ||
| 2245 | /* keep last */ | 2316 | /* keep last */ |
| 2246 | __NL80211_RATE_INFO_AFTER_LAST, | 2317 | __NL80211_RATE_INFO_AFTER_LAST, |
| @@ -2285,18 +2356,24 @@ enum nl80211_sta_bss_param { | |||
| 2285 | * | 2356 | * |
| 2286 | * @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved | 2357 | * @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved |
| 2287 | * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs) | 2358 | * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs) |
| 2288 | * @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station) | 2359 | * @NL80211_STA_INFO_RX_BYTES: total received bytes (MPDU length) |
| 2289 | * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station) | 2360 | * (u32, from this station) |
| 2290 | * @NL80211_STA_INFO_RX_BYTES64: total received bytes (u64, from this station) | 2361 | * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (MPDU length) |
| 2291 | * @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (u64, to this station) | 2362 | * (u32, to this station) |
| 2363 | * @NL80211_STA_INFO_RX_BYTES64: total received bytes (MPDU length) | ||
| 2364 | * (u64, from this station) | ||
| 2365 | * @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (MPDU length) | ||
| 2366 | * (u64, to this station) | ||
| 2292 | * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) | 2367 | * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) |
| 2293 | * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute | 2368 | * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute |
| 2294 | * containing info as possible, see &enum nl80211_rate_info | 2369 | * containing info as possible, see &enum nl80211_rate_info |
| 2295 | * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station) | 2370 | * @NL80211_STA_INFO_RX_PACKETS: total received packet (MSDUs and MMPDUs) |
| 2296 | * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this | 2371 | * (u32, from this station) |
| 2297 | * station) | 2372 | * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (MSDUs and MMPDUs) |
| 2298 | * @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station) | 2373 | * (u32, to this station) |
| 2299 | * @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station) | 2374 | * @NL80211_STA_INFO_TX_RETRIES: total retries (MPDUs) (u32, to this station) |
| 2375 | * @NL80211_STA_INFO_TX_FAILED: total failed packets (MPDUs) | ||
| 2376 | * (u32, to this station) | ||
| 2300 | * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm) | 2377 | * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm) |
| 2301 | * @NL80211_STA_INFO_LLID: the station's mesh LLID | 2378 | * @NL80211_STA_INFO_LLID: the station's mesh LLID |
| 2302 | * @NL80211_STA_INFO_PLID: the station's mesh PLID | 2379 | * @NL80211_STA_INFO_PLID: the station's mesh PLID |
| @@ -2320,6 +2397,16 @@ enum nl80211_sta_bss_param { | |||
| 2320 | * Same format as NL80211_STA_INFO_CHAIN_SIGNAL. | 2397 | * Same format as NL80211_STA_INFO_CHAIN_SIGNAL. |
| 2321 | * @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the | 2398 | * @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the |
| 2322 | * 802.11 header (u32, kbps) | 2399 | * 802.11 header (u32, kbps) |
| 2400 | * @NL80211_STA_INFO_RX_DROP_MISC: RX packets dropped for unspecified reasons | ||
| 2401 | * (u64) | ||
| 2402 | * @NL80211_STA_INFO_BEACON_RX: number of beacons received from this peer (u64) | ||
| 2403 | * @NL80211_STA_INFO_BEACON_SIGNAL_AVG: signal strength average | ||
| 2404 | * for beacons only (u8, dBm) | ||
| 2405 | * @NL80211_STA_INFO_TID_STATS: per-TID statistics (see &enum nl80211_tid_stats) | ||
| 2406 | * This is a nested attribute where each the inner attribute number is the | ||
| 2407 | * TID+1 and the special TID 16 (i.e. value 17) is used for non-QoS frames; | ||
| 2408 | * each one of those is again nested with &enum nl80211_tid_stats | ||
| 2409 | * attributes carrying the actual values. | ||
| 2323 | * @__NL80211_STA_INFO_AFTER_LAST: internal | 2410 | * @__NL80211_STA_INFO_AFTER_LAST: internal |
| 2324 | * @NL80211_STA_INFO_MAX: highest possible station info attribute | 2411 | * @NL80211_STA_INFO_MAX: highest possible station info attribute |
| 2325 | */ | 2412 | */ |
| @@ -2352,6 +2439,10 @@ enum nl80211_sta_info { | |||
| 2352 | NL80211_STA_INFO_CHAIN_SIGNAL, | 2439 | NL80211_STA_INFO_CHAIN_SIGNAL, |
| 2353 | NL80211_STA_INFO_CHAIN_SIGNAL_AVG, | 2440 | NL80211_STA_INFO_CHAIN_SIGNAL_AVG, |
| 2354 | NL80211_STA_INFO_EXPECTED_THROUGHPUT, | 2441 | NL80211_STA_INFO_EXPECTED_THROUGHPUT, |
| 2442 | NL80211_STA_INFO_RX_DROP_MISC, | ||
| 2443 | NL80211_STA_INFO_BEACON_RX, | ||
| 2444 | NL80211_STA_INFO_BEACON_SIGNAL_AVG, | ||
| 2445 | NL80211_STA_INFO_TID_STATS, | ||
| 2355 | 2446 | ||
| 2356 | /* keep last */ | 2447 | /* keep last */ |
| 2357 | __NL80211_STA_INFO_AFTER_LAST, | 2448 | __NL80211_STA_INFO_AFTER_LAST, |
| @@ -2359,6 +2450,31 @@ enum nl80211_sta_info { | |||
| 2359 | }; | 2450 | }; |
| 2360 | 2451 | ||
| 2361 | /** | 2452 | /** |
| 2453 | * enum nl80211_tid_stats - per TID statistics attributes | ||
| 2454 | * @__NL80211_TID_STATS_INVALID: attribute number 0 is reserved | ||
| 2455 | * @NL80211_TID_STATS_RX_MSDU: number of MSDUs received (u64) | ||
| 2456 | * @NL80211_TID_STATS_TX_MSDU: number of MSDUs transmitted (or | ||
| 2457 | * attempted to transmit; u64) | ||
| 2458 | * @NL80211_TID_STATS_TX_MSDU_RETRIES: number of retries for | ||
| 2459 | * transmitted MSDUs (not counting the first attempt; u64) | ||
| 2460 | * @NL80211_TID_STATS_TX_MSDU_FAILED: number of failed transmitted | ||
| 2461 | * MSDUs (u64) | ||
| 2462 | * @NUM_NL80211_TID_STATS: number of attributes here | ||
| 2463 | * @NL80211_TID_STATS_MAX: highest numbered attribute here | ||
| 2464 | */ | ||
| 2465 | enum nl80211_tid_stats { | ||
| 2466 | __NL80211_TID_STATS_INVALID, | ||
| 2467 | NL80211_TID_STATS_RX_MSDU, | ||
| 2468 | NL80211_TID_STATS_TX_MSDU, | ||
| 2469 | NL80211_TID_STATS_TX_MSDU_RETRIES, | ||
| 2470 | NL80211_TID_STATS_TX_MSDU_FAILED, | ||
| 2471 | |||
| 2472 | /* keep last */ | ||
| 2473 | NUM_NL80211_TID_STATS, | ||
| 2474 | NL80211_TID_STATS_MAX = NUM_NL80211_TID_STATS - 1 | ||
| 2475 | }; | ||
| 2476 | |||
| 2477 | /** | ||
| 2362 | * enum nl80211_mpath_flags - nl80211 mesh path flags | 2478 | * enum nl80211_mpath_flags - nl80211 mesh path flags |
| 2363 | * | 2479 | * |
| 2364 | * @NL80211_MPATH_FLAG_ACTIVE: the mesh path is active | 2480 | * @NL80211_MPATH_FLAG_ACTIVE: the mesh path is active |
| @@ -2772,16 +2888,18 @@ enum nl80211_user_reg_hint_type { | |||
| 2772 | * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel | 2888 | * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel |
| 2773 | * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm) | 2889 | * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm) |
| 2774 | * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used | 2890 | * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used |
| 2775 | * @NL80211_SURVEY_INFO_CHANNEL_TIME: amount of time (in ms) that the radio | 2891 | * @NL80211_SURVEY_INFO_TIME: amount of time (in ms) that the radio |
| 2776 | * spent on this channel | 2892 | * was turned on (on channel or globally) |
| 2777 | * @NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY: amount of the time the primary | 2893 | * @NL80211_SURVEY_INFO_TIME_BUSY: amount of the time the primary |
| 2778 | * channel was sensed busy (either due to activity or energy detect) | 2894 | * channel was sensed busy (either due to activity or energy detect) |
| 2779 | * @NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY: amount of time the extension | 2895 | * @NL80211_SURVEY_INFO_TIME_EXT_BUSY: amount of time the extension |
| 2780 | * channel was sensed busy | 2896 | * channel was sensed busy |
| 2781 | * @NL80211_SURVEY_INFO_CHANNEL_TIME_RX: amount of time the radio spent | 2897 | * @NL80211_SURVEY_INFO_TIME_RX: amount of time the radio spent |
| 2782 | * receiving data | 2898 | * receiving data (on channel or globally) |
| 2783 | * @NL80211_SURVEY_INFO_CHANNEL_TIME_TX: amount of time the radio spent | 2899 | * @NL80211_SURVEY_INFO_TIME_TX: amount of time the radio spent |
| 2784 | * transmitting data | 2900 | * transmitting data (on channel or globally) |
| 2901 | * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan | ||
| 2902 | * (on this channel or globally) | ||
| 2785 | * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number | 2903 | * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number |
| 2786 | * currently defined | 2904 | * currently defined |
| 2787 | * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use | 2905 | * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use |
| @@ -2791,17 +2909,25 @@ enum nl80211_survey_info { | |||
| 2791 | NL80211_SURVEY_INFO_FREQUENCY, | 2909 | NL80211_SURVEY_INFO_FREQUENCY, |
| 2792 | NL80211_SURVEY_INFO_NOISE, | 2910 | NL80211_SURVEY_INFO_NOISE, |
| 2793 | NL80211_SURVEY_INFO_IN_USE, | 2911 | NL80211_SURVEY_INFO_IN_USE, |
| 2794 | NL80211_SURVEY_INFO_CHANNEL_TIME, | 2912 | NL80211_SURVEY_INFO_TIME, |
| 2795 | NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY, | 2913 | NL80211_SURVEY_INFO_TIME_BUSY, |
| 2796 | NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY, | 2914 | NL80211_SURVEY_INFO_TIME_EXT_BUSY, |
| 2797 | NL80211_SURVEY_INFO_CHANNEL_TIME_RX, | 2915 | NL80211_SURVEY_INFO_TIME_RX, |
| 2798 | NL80211_SURVEY_INFO_CHANNEL_TIME_TX, | 2916 | NL80211_SURVEY_INFO_TIME_TX, |
| 2917 | NL80211_SURVEY_INFO_TIME_SCAN, | ||
| 2799 | 2918 | ||
| 2800 | /* keep last */ | 2919 | /* keep last */ |
| 2801 | __NL80211_SURVEY_INFO_AFTER_LAST, | 2920 | __NL80211_SURVEY_INFO_AFTER_LAST, |
| 2802 | NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1 | 2921 | NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1 |
| 2803 | }; | 2922 | }; |
| 2804 | 2923 | ||
| 2924 | /* keep old names for compatibility */ | ||
| 2925 | #define NL80211_SURVEY_INFO_CHANNEL_TIME NL80211_SURVEY_INFO_TIME | ||
| 2926 | #define NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY NL80211_SURVEY_INFO_TIME_BUSY | ||
| 2927 | #define NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY NL80211_SURVEY_INFO_TIME_EXT_BUSY | ||
| 2928 | #define NL80211_SURVEY_INFO_CHANNEL_TIME_RX NL80211_SURVEY_INFO_TIME_RX | ||
| 2929 | #define NL80211_SURVEY_INFO_CHANNEL_TIME_TX NL80211_SURVEY_INFO_TIME_TX | ||
| 2930 | |||
| 2805 | /** | 2931 | /** |
| 2806 | * enum nl80211_mntr_flags - monitor configuration flags | 2932 | * enum nl80211_mntr_flags - monitor configuration flags |
| 2807 | * | 2933 | * |
| @@ -3238,6 +3364,9 @@ enum nl80211_bss { | |||
| 3238 | /** | 3364 | /** |
| 3239 | * enum nl80211_bss_status - BSS "status" | 3365 | * enum nl80211_bss_status - BSS "status" |
| 3240 | * @NL80211_BSS_STATUS_AUTHENTICATED: Authenticated with this BSS. | 3366 | * @NL80211_BSS_STATUS_AUTHENTICATED: Authenticated with this BSS. |
| 3367 | * Note that this is no longer used since cfg80211 no longer | ||
| 3368 | * keeps track of whether or not authentication was done with | ||
| 3369 | * a given BSS. | ||
| 3241 | * @NL80211_BSS_STATUS_ASSOCIATED: Associated with this BSS. | 3370 | * @NL80211_BSS_STATUS_ASSOCIATED: Associated with this BSS. |
| 3242 | * @NL80211_BSS_STATUS_IBSS_JOINED: Joined to this IBSS. | 3371 | * @NL80211_BSS_STATUS_IBSS_JOINED: Joined to this IBSS. |
| 3243 | * | 3372 | * |
| @@ -3621,9 +3750,12 @@ struct nl80211_pattern_support { | |||
| 3621 | * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network | 3750 | * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network |
| 3622 | * is detected. This is a nested attribute that contains the | 3751 | * is detected. This is a nested attribute that contains the |
| 3623 | * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It | 3752 | * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It |
| 3624 | * specifies how the scan is performed (e.g. the interval and the | 3753 | * specifies how the scan is performed (e.g. the interval, the |
| 3625 | * channels to scan) as well as the scan results that will | 3754 | * channels to scan and the initial delay) as well as the scan |
| 3626 | * trigger a wake (i.e. the matchsets). | 3755 | * results that will trigger a wake (i.e. the matchsets). This |
| 3756 | * attribute is also sent in a response to | ||
| 3757 | * @NL80211_CMD_GET_WIPHY, indicating the number of match sets | ||
| 3758 | * supported by the driver (u32). | ||
| 3627 | * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute | 3759 | * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute |
| 3628 | * containing an array with information about what triggered the | 3760 | * containing an array with information about what triggered the |
| 3629 | * wake up. If no elements are present in the array, it means | 3761 | * wake up. If no elements are present in the array, it means |
| @@ -4194,6 +4326,19 @@ enum nl80211_feature_flags { | |||
| 4194 | }; | 4326 | }; |
| 4195 | 4327 | ||
| 4196 | /** | 4328 | /** |
| 4329 | * enum nl80211_ext_feature_index - bit index of extended features. | ||
| 4330 | * | ||
| 4331 | * @NUM_NL80211_EXT_FEATURES: number of extended features. | ||
| 4332 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. | ||
| 4333 | */ | ||
| 4334 | enum nl80211_ext_feature_index { | ||
| 4335 | |||
| 4336 | /* add new features before the definition below */ | ||
| 4337 | NUM_NL80211_EXT_FEATURES, | ||
| 4338 | MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1 | ||
| 4339 | }; | ||
| 4340 | |||
| 4341 | /** | ||
| 4197 | * enum nl80211_probe_resp_offload_support_attr - optional supported | 4342 | * enum nl80211_probe_resp_offload_support_attr - optional supported |
| 4198 | * protocols for probe-response offloading by the driver/FW. | 4343 | * protocols for probe-response offloading by the driver/FW. |
| 4199 | * To be used with the %NL80211_ATTR_PROBE_RESP_OFFLOAD attribute. | 4344 | * To be used with the %NL80211_ATTR_PROBE_RESP_OFFLOAD attribute. |
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index f714e8633352..bbd49a0c46c7 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
| @@ -252,11 +252,21 @@ enum ovs_vport_attr { | |||
| 252 | 252 | ||
| 253 | #define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) | 253 | #define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) |
| 254 | 254 | ||
| 255 | enum { | ||
| 256 | OVS_VXLAN_EXT_UNSPEC, | ||
| 257 | OVS_VXLAN_EXT_GBP, /* Flag or __u32 */ | ||
| 258 | __OVS_VXLAN_EXT_MAX, | ||
| 259 | }; | ||
| 260 | |||
| 261 | #define OVS_VXLAN_EXT_MAX (__OVS_VXLAN_EXT_MAX - 1) | ||
| 262 | |||
| 263 | |||
| 255 | /* OVS_VPORT_ATTR_OPTIONS attributes for tunnels. | 264 | /* OVS_VPORT_ATTR_OPTIONS attributes for tunnels. |
| 256 | */ | 265 | */ |
| 257 | enum { | 266 | enum { |
| 258 | OVS_TUNNEL_ATTR_UNSPEC, | 267 | OVS_TUNNEL_ATTR_UNSPEC, |
| 259 | OVS_TUNNEL_ATTR_DST_PORT, /* 16-bit UDP port, used by L4 tunnels. */ | 268 | OVS_TUNNEL_ATTR_DST_PORT, /* 16-bit UDP port, used by L4 tunnels. */ |
| 269 | OVS_TUNNEL_ATTR_EXTENSION, | ||
| 260 | __OVS_TUNNEL_ATTR_MAX | 270 | __OVS_TUNNEL_ATTR_MAX |
| 261 | }; | 271 | }; |
| 262 | 272 | ||
| @@ -328,6 +338,7 @@ enum ovs_tunnel_key_attr { | |||
| 328 | OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */ | 338 | OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */ |
| 329 | OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */ | 339 | OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */ |
| 330 | OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */ | 340 | OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */ |
| 341 | OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS, /* Nested OVS_VXLAN_EXT_* */ | ||
| 331 | __OVS_TUNNEL_KEY_ATTR_MAX | 342 | __OVS_TUNNEL_KEY_ATTR_MAX |
| 332 | }; | 343 | }; |
| 333 | 344 | ||
| @@ -448,6 +459,14 @@ struct ovs_key_nd { | |||
| 448 | * a wildcarded match. Omitting attribute is treated as wildcarding all | 459 | * a wildcarded match. Omitting attribute is treated as wildcarding all |
| 449 | * corresponding fields. Optional for all requests. If not present, | 460 | * corresponding fields. Optional for all requests. If not present, |
| 450 | * all flow key bits are exact match bits. | 461 | * all flow key bits are exact match bits. |
| 462 | * @OVS_FLOW_ATTR_UFID: A value between 1-16 octets specifying a unique | ||
| 463 | * identifier for the flow. Causes the flow to be indexed by this value rather | ||
| 464 | * than the value of the %OVS_FLOW_ATTR_KEY attribute. Optional for all | ||
| 465 | * requests. Present in notifications if the flow was created with this | ||
| 466 | * attribute. | ||
| 467 | * @OVS_FLOW_ATTR_UFID_FLAGS: A 32-bit value of OR'd %OVS_UFID_F_* | ||
| 468 | * flags that provide alternative semantics for flow installation and | ||
| 469 | * retrieval. Optional for all requests. | ||
| 451 | * | 470 | * |
| 452 | * These attributes follow the &struct ovs_header within the Generic Netlink | 471 | * These attributes follow the &struct ovs_header within the Generic Netlink |
| 453 | * payload for %OVS_FLOW_* commands. | 472 | * payload for %OVS_FLOW_* commands. |
| @@ -463,12 +482,24 @@ enum ovs_flow_attr { | |||
| 463 | OVS_FLOW_ATTR_MASK, /* Sequence of OVS_KEY_ATTR_* attributes. */ | 482 | OVS_FLOW_ATTR_MASK, /* Sequence of OVS_KEY_ATTR_* attributes. */ |
| 464 | OVS_FLOW_ATTR_PROBE, /* Flow operation is a feature probe, error | 483 | OVS_FLOW_ATTR_PROBE, /* Flow operation is a feature probe, error |
| 465 | * logging should be suppressed. */ | 484 | * logging should be suppressed. */ |
| 485 | OVS_FLOW_ATTR_UFID, /* Variable length unique flow identifier. */ | ||
| 486 | OVS_FLOW_ATTR_UFID_FLAGS,/* u32 of OVS_UFID_F_*. */ | ||
| 466 | __OVS_FLOW_ATTR_MAX | 487 | __OVS_FLOW_ATTR_MAX |
| 467 | }; | 488 | }; |
| 468 | 489 | ||
| 469 | #define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1) | 490 | #define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1) |
| 470 | 491 | ||
| 471 | /** | 492 | /** |
| 493 | * Omit attributes for notifications. | ||
| 494 | * | ||
| 495 | * If a datapath request contains an %OVS_UFID_F_OMIT_* flag, then the datapath | ||
| 496 | * may omit the corresponding %OVS_FLOW_ATTR_* from the response. | ||
| 497 | */ | ||
| 498 | #define OVS_UFID_F_OMIT_KEY (1 << 0) | ||
| 499 | #define OVS_UFID_F_OMIT_MASK (1 << 1) | ||
| 500 | #define OVS_UFID_F_OMIT_ACTIONS (1 << 2) | ||
| 501 | |||
| 502 | /** | ||
| 472 | * enum ovs_sample_attr - Attributes for %OVS_ACTION_ATTR_SAMPLE action. | 503 | * enum ovs_sample_attr - Attributes for %OVS_ACTION_ATTR_SAMPLE action. |
| 473 | * @OVS_SAMPLE_ATTR_PROBABILITY: 32-bit fraction of packets to sample with | 504 | * @OVS_SAMPLE_ATTR_PROBABILITY: 32-bit fraction of packets to sample with |
| 474 | * @OVS_ACTION_ATTR_SAMPLE. A value of 0 samples no packets, a value of | 505 | * @OVS_ACTION_ATTR_SAMPLE. A value of 0 samples no packets, a value of |
| @@ -568,6 +599,12 @@ struct ovs_action_hash { | |||
| 568 | * @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header. The | 599 | * @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header. The |
| 569 | * single nested %OVS_KEY_ATTR_* attribute specifies a header to modify and its | 600 | * single nested %OVS_KEY_ATTR_* attribute specifies a header to modify and its |
| 570 | * value. | 601 | * value. |
| 602 | * @OVS_ACTION_ATTR_SET_MASKED: Replaces the contents of an existing header. A | ||
| 603 | * nested %OVS_KEY_ATTR_* attribute specifies a header to modify, its value, | ||
| 604 | * and a mask. For every bit set in the mask, the corresponding bit value | ||
| 605 | * is copied from the value to the packet header field, rest of the bits are | ||
| 606 | * left unchanged. The non-masked value bits must be passed in as zeroes. | ||
| 607 | * Masking is not supported for the %OVS_KEY_ATTR_TUNNEL attribute. | ||
| 571 | * @OVS_ACTION_ATTR_PUSH_VLAN: Push a new outermost 802.1Q header onto the | 608 | * @OVS_ACTION_ATTR_PUSH_VLAN: Push a new outermost 802.1Q header onto the |
| 572 | * packet. | 609 | * packet. |
| 573 | * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet. | 610 | * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet. |
| @@ -586,6 +623,9 @@ struct ovs_action_hash { | |||
| 586 | * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all | 623 | * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all |
| 587 | * fields within a header are modifiable, e.g. the IPv4 protocol and fragment | 624 | * fields within a header are modifiable, e.g. the IPv4 protocol and fragment |
| 588 | * type may not be changed. | 625 | * type may not be changed. |
| 626 | * | ||
| 627 | * @OVS_ACTION_ATTR_SET_TO_MASKED: Kernel internal masked set action translated | ||
| 628 | * from the @OVS_ACTION_ATTR_SET. | ||
| 589 | */ | 629 | */ |
| 590 | 630 | ||
| 591 | enum ovs_action_attr { | 631 | enum ovs_action_attr { |
| @@ -600,8 +640,19 @@ enum ovs_action_attr { | |||
| 600 | OVS_ACTION_ATTR_HASH, /* struct ovs_action_hash. */ | 640 | OVS_ACTION_ATTR_HASH, /* struct ovs_action_hash. */ |
| 601 | OVS_ACTION_ATTR_PUSH_MPLS, /* struct ovs_action_push_mpls. */ | 641 | OVS_ACTION_ATTR_PUSH_MPLS, /* struct ovs_action_push_mpls. */ |
| 602 | OVS_ACTION_ATTR_POP_MPLS, /* __be16 ethertype. */ | 642 | OVS_ACTION_ATTR_POP_MPLS, /* __be16 ethertype. */ |
| 643 | OVS_ACTION_ATTR_SET_MASKED, /* One nested OVS_KEY_ATTR_* including | ||
| 644 | * data immediately followed by a mask. | ||
| 645 | * The data must be zero for the unmasked | ||
| 646 | * bits. */ | ||
| 603 | 647 | ||
| 604 | __OVS_ACTION_ATTR_MAX | 648 | __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted |
| 649 | * from userspace. */ | ||
| 650 | |||
| 651 | #ifdef __KERNEL__ | ||
| 652 | OVS_ACTION_ATTR_SET_TO_MASKED, /* Kernel module internal masked | ||
| 653 | * set action converted from | ||
| 654 | * OVS_ACTION_ATTR_SET. */ | ||
| 655 | #endif | ||
| 605 | }; | 656 | }; |
| 606 | 657 | ||
| 607 | #define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1) | 658 | #define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1) |
diff --git a/include/uapi/linux/pkt_sched.h b/include/uapi/linux/pkt_sched.h index d62316baae94..534b84710745 100644 --- a/include/uapi/linux/pkt_sched.h +++ b/include/uapi/linux/pkt_sched.h | |||
| @@ -774,6 +774,8 @@ enum { | |||
| 774 | 774 | ||
| 775 | TCA_FQ_FLOW_REFILL_DELAY, /* flow credit refill delay in usec */ | 775 | TCA_FQ_FLOW_REFILL_DELAY, /* flow credit refill delay in usec */ |
| 776 | 776 | ||
| 777 | TCA_FQ_ORPHAN_MASK, /* mask applied to orphaned skb hashes */ | ||
| 778 | |||
| 777 | __TCA_FQ_MAX | 779 | __TCA_FQ_MAX |
| 778 | }; | 780 | }; |
| 779 | 781 | ||
diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h index 9c9b8b4480cd..5cc5d66bf519 100644 --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h | |||
| @@ -132,6 +132,11 @@ enum { | |||
| 132 | RTM_GETMDB = 86, | 132 | RTM_GETMDB = 86, |
| 133 | #define RTM_GETMDB RTM_GETMDB | 133 | #define RTM_GETMDB RTM_GETMDB |
| 134 | 134 | ||
| 135 | RTM_NEWNSID = 88, | ||
| 136 | #define RTM_NEWNSID RTM_NEWNSID | ||
| 137 | RTM_GETNSID = 90, | ||
| 138 | #define RTM_GETNSID RTM_GETNSID | ||
| 139 | |||
| 135 | __RTM_MAX, | 140 | __RTM_MAX, |
| 136 | #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) | 141 | #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) |
| 137 | }; | 142 | }; |
| @@ -389,6 +394,8 @@ enum { | |||
| 389 | #define RTAX_INITRWND RTAX_INITRWND | 394 | #define RTAX_INITRWND RTAX_INITRWND |
| 390 | RTAX_QUICKACK, | 395 | RTAX_QUICKACK, |
| 391 | #define RTAX_QUICKACK RTAX_QUICKACK | 396 | #define RTAX_QUICKACK RTAX_QUICKACK |
| 397 | RTAX_CC_ALGO, | ||
| 398 | #define RTAX_CC_ALGO RTAX_CC_ALGO | ||
| 392 | __RTAX_MAX | 399 | __RTAX_MAX |
| 393 | }; | 400 | }; |
| 394 | 401 | ||
| @@ -634,6 +641,7 @@ struct tcamsg { | |||
| 634 | /* New extended info filters for IFLA_EXT_MASK */ | 641 | /* New extended info filters for IFLA_EXT_MASK */ |
| 635 | #define RTEXT_FILTER_VF (1 << 0) | 642 | #define RTEXT_FILTER_VF (1 << 0) |
| 636 | #define RTEXT_FILTER_BRVLAN (1 << 1) | 643 | #define RTEXT_FILTER_BRVLAN (1 << 1) |
| 644 | #define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2) | ||
| 637 | 645 | ||
| 638 | /* End of information exported to user level */ | 646 | /* End of information exported to user level */ |
| 639 | 647 | ||
diff --git a/include/uapi/linux/snmp.h b/include/uapi/linux/snmp.h index b22224100011..6a6fb747c78d 100644 --- a/include/uapi/linux/snmp.h +++ b/include/uapi/linux/snmp.h | |||
| @@ -270,6 +270,12 @@ enum | |||
| 270 | LINUX_MIB_TCPHYSTARTTRAINCWND, /* TCPHystartTrainCwnd */ | 270 | LINUX_MIB_TCPHYSTARTTRAINCWND, /* TCPHystartTrainCwnd */ |
| 271 | LINUX_MIB_TCPHYSTARTDELAYDETECT, /* TCPHystartDelayDetect */ | 271 | LINUX_MIB_TCPHYSTARTDELAYDETECT, /* TCPHystartDelayDetect */ |
| 272 | LINUX_MIB_TCPHYSTARTDELAYCWND, /* TCPHystartDelayCwnd */ | 272 | LINUX_MIB_TCPHYSTARTDELAYCWND, /* TCPHystartDelayCwnd */ |
| 273 | LINUX_MIB_TCPACKSKIPPEDSYNRECV, /* TCPACKSkippedSynRecv */ | ||
| 274 | LINUX_MIB_TCPACKSKIPPEDPAWS, /* TCPACKSkippedPAWS */ | ||
| 275 | LINUX_MIB_TCPACKSKIPPEDSEQ, /* TCPACKSkippedSeq */ | ||
| 276 | LINUX_MIB_TCPACKSKIPPEDFINWAIT2, /* TCPACKSkippedFinWait2 */ | ||
| 277 | LINUX_MIB_TCPACKSKIPPEDTIMEWAIT, /* TCPACKSkippedTimeWait */ | ||
| 278 | LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */ | ||
| 273 | __LINUX_MIB_MAX | 279 | __LINUX_MIB_MAX |
| 274 | }; | 280 | }; |
| 275 | 281 | ||
diff --git a/include/uapi/linux/tc_act/Kbuild b/include/uapi/linux/tc_act/Kbuild index b057da2b87a4..19d5219b0b99 100644 --- a/include/uapi/linux/tc_act/Kbuild +++ b/include/uapi/linux/tc_act/Kbuild | |||
| @@ -8,3 +8,4 @@ header-y += tc_nat.h | |||
| 8 | header-y += tc_pedit.h | 8 | header-y += tc_pedit.h |
| 9 | header-y += tc_skbedit.h | 9 | header-y += tc_skbedit.h |
| 10 | header-y += tc_vlan.h | 10 | header-y += tc_vlan.h |
| 11 | header-y += tc_bpf.h | ||
diff --git a/include/uapi/linux/tc_act/tc_bpf.h b/include/uapi/linux/tc_act/tc_bpf.h new file mode 100644 index 000000000000..5288bd77e63b --- /dev/null +++ b/include/uapi/linux/tc_act/tc_bpf.h | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us> | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or modify | ||
| 5 | * it under the terms of the GNU General Public License as published by | ||
| 6 | * the Free Software Foundation; either version 2 of the License, or | ||
| 7 | * (at your option) any later version. | ||
| 8 | */ | ||
| 9 | |||
| 10 | #ifndef __LINUX_TC_BPF_H | ||
| 11 | #define __LINUX_TC_BPF_H | ||
| 12 | |||
| 13 | #include <linux/pkt_cls.h> | ||
| 14 | |||
| 15 | #define TCA_ACT_BPF 13 | ||
| 16 | |||
| 17 | struct tc_act_bpf { | ||
| 18 | tc_gen; | ||
| 19 | }; | ||
| 20 | |||
| 21 | enum { | ||
| 22 | TCA_ACT_BPF_UNSPEC, | ||
| 23 | TCA_ACT_BPF_TM, | ||
| 24 | TCA_ACT_BPF_PARMS, | ||
| 25 | TCA_ACT_BPF_OPS_LEN, | ||
| 26 | TCA_ACT_BPF_OPS, | ||
| 27 | __TCA_ACT_BPF_MAX, | ||
| 28 | }; | ||
| 29 | #define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1) | ||
| 30 | |||
| 31 | #endif | ||
diff --git a/include/uapi/linux/tc_act/tc_connmark.h b/include/uapi/linux/tc_act/tc_connmark.h new file mode 100644 index 000000000000..994b0971bce2 --- /dev/null +++ b/include/uapi/linux/tc_act/tc_connmark.h | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | #ifndef __UAPI_TC_CONNMARK_H | ||
| 2 | #define __UAPI_TC_CONNMARK_H | ||
| 3 | |||
| 4 | #include <linux/types.h> | ||
| 5 | #include <linux/pkt_cls.h> | ||
| 6 | |||
| 7 | #define TCA_ACT_CONNMARK 14 | ||
| 8 | |||
| 9 | struct tc_connmark { | ||
| 10 | tc_gen; | ||
| 11 | __u16 zone; | ||
| 12 | }; | ||
| 13 | |||
| 14 | enum { | ||
| 15 | TCA_CONNMARK_UNSPEC, | ||
| 16 | TCA_CONNMARK_PARMS, | ||
| 17 | TCA_CONNMARK_TM, | ||
| 18 | __TCA_CONNMARK_MAX | ||
| 19 | }; | ||
| 20 | #define TCA_CONNMARK_MAX (__TCA_CONNMARK_MAX - 1) | ||
| 21 | |||
| 22 | #endif | ||
diff --git a/include/uapi/linux/tipc_config.h b/include/uapi/linux/tipc_config.h index 876d0a14863c..087b0ef82c07 100644 --- a/include/uapi/linux/tipc_config.h +++ b/include/uapi/linux/tipc_config.h | |||
| @@ -272,6 +272,26 @@ static inline int TLV_CHECK(const void *tlv, __u16 space, __u16 exp_type) | |||
| 272 | (ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type); | 272 | (ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type); |
| 273 | } | 273 | } |
| 274 | 274 | ||
| 275 | static inline int TLV_GET_LEN(struct tlv_desc *tlv) | ||
| 276 | { | ||
| 277 | return ntohs(tlv->tlv_len); | ||
| 278 | } | ||
| 279 | |||
| 280 | static inline void TLV_SET_LEN(struct tlv_desc *tlv, __u16 len) | ||
| 281 | { | ||
| 282 | tlv->tlv_len = htons(len); | ||
| 283 | } | ||
| 284 | |||
| 285 | static inline int TLV_CHECK_TYPE(struct tlv_desc *tlv, __u16 type) | ||
| 286 | { | ||
| 287 | return (ntohs(tlv->tlv_type) == type); | ||
| 288 | } | ||
| 289 | |||
| 290 | static inline void TLV_SET_TYPE(struct tlv_desc *tlv, __u16 type) | ||
| 291 | { | ||
| 292 | tlv->tlv_type = htons(type); | ||
| 293 | } | ||
| 294 | |||
| 275 | static inline int TLV_SET(void *tlv, __u16 type, void *data, __u16 len) | 295 | static inline int TLV_SET(void *tlv, __u16 type, void *data, __u16 len) |
| 276 | { | 296 | { |
| 277 | struct tlv_desc *tlv_ptr; | 297 | struct tlv_desc *tlv_ptr; |
