History

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next

Pull networking updates from David Miller: 1) More iov_iter conversion work from Al Viro. [ The "crypto: switch af_alg_make_sg() to iov_iter" commit was wrong, and this pull actually adds an extra commit on top of the branch I'm pulling to fix that up, so that the pre-merge state is ok. - Linus ] 2) Various optimizations to the ipv4 forwarding information base trie lookup implementation. From Alexander Duyck. 3) Remove sock_iocb altogether, from CHristoph Hellwig. 4) Allow congestion control algorithm selection via routing metrics. From Daniel Borkmann. 5) Make ipv4 uncached route list per-cpu, from Eric Dumazet. 6) Handle rfs hash collisions more gracefully, also from Eric Dumazet. 7) Add xmit_more support to r8169, e1000, and e1000e drivers. From Florian Westphal. 8) Transparent Ethernet Bridging support for GRO, from Jesse Gross. 9) Add BPF packet actions to packet scheduler, from Jiri Pirko. 10) Add support for uniqu flow IDs to openvswitch, from Joe Stringer. 11) New NetCP ethernet driver, from Muralidharan Karicheri and Wingman Kwok. 12) More sanely handle out-of-window dupacks, which can result in serious ACK storms. From Neal Cardwell. 13) Various rhashtable bug fixes and enhancements, from Herbert Xu, Patrick McHardy, and Thomas Graf. 14) Support xmit_more in be2net, from Sathya Perla. 15) Group Policy extensions for vxlan, from Thomas Graf. 16) Remove Checksum Offload support for vxlan, from Tom Herbert. 17) Like ipv4, support lockless transmit over ipv6 UDP sockets. From Vlad Yasevich. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1494+1 commits) crypto: fix af_alg_make_sg() conversion to iov_iter ipv4: Namespecify TCP PMTU mechanism i40e: Fix for stats init function call in Rx setup tcp: don't include Fast Open option in SYN-ACK on pure SYN-data openvswitch: Only set TUNNEL_VXLAN_OPT if VXLAN-GBP metadata is set ipv6: Make __ipv6_select_ident static ipv6: Fix fragment id assignment on LE arches. bridge: Fix inability to add non-vlan fdb entry net: Mellanox: Delete unnecessary checks before the function call "vunmap" cxgb4: Add support in cxgb4 to get expansion rom version via ethtool ethtool: rename reserved1 memeber in ethtool_drvinfo for expansion ROM version net: dsa: Remove redundant phy_attach() IB/mlx4: Reset flow support for IB kernel ULPs IB/mlx4: Always use the correct port for mirrored multicast attachments net/bonding: Fix potential bad memory access during bonding events tipc: remove tipc_snprintf tipc: nl compat add noop and remove legacy nl framework tipc: convert legacy nl stats show to nl compat tipc: convert legacy nl net id get to nl compat tipc: convert legacy nl net id set to nl compat ...

Linus Torvalds committed 11 years ago

Commit c5ce28d2 parents 29afc4e 9399f0c1236 files · +72067 −29395Browse files

Showing the changes to include/uapi/linux (21 of 1236 files). Show all

Unified · Split

21 files
  1. include/uapi/linux/Kbuild +1 −0
  2. include/uapi/linux/ethtool.h +3 −1
  3. include/uapi/linux/if_bridge.h +2 −0
  4. include/uapi/linux/if_link.h +4 −0
  5. include/uapi/linux/in.h +1 −0
  6. include/uapi/linux/ipv6.h +6 −1
  7. include/uapi/linux/l2tp.h +1 −0
  8. include/uapi/linux/libc-compat.h +6 −0
  9. include/uapi/linux/neighbour.h +1 −0
  10. include/uapi/linux/net_namespace.h +23 −0
  11. include/uapi/linux/net_tstamp.h +2 −1
  12. include/uapi/linux/nfc.h +1 −0
  13. include/uapi/linux/nl80211.h +176 −31
  14. include/uapi/linux/openvswitch.h +52 −1
  15. include/uapi/linux/pkt_sched.h +2 −0
  16. include/uapi/linux/rtnetlink.h +8 −0
  17. include/uapi/linux/snmp.h +6 −0
  18. include/uapi/linux/tc_act/Kbuild +1 −0
  19. include/uapi/linux/tc_act/tc_bpf.h +31 −0
  20. include/uapi/linux/tc_act/tc_connmark.h +22 −0
  21. include/uapi/linux/tipc_config.h +20 −0
include/uapi/linux/Kbuild+1−0
@@ -283,6 +283,7 @@ header-y += net.h · 282 unmodified lines
283header-y += netlink_diag.h283header-y += netlink_diag.h
284header-y += netlink.h284header-y += netlink.h
285header-y += netrom.h285header-y += netrom.h
286header-y += net_namespace.h
286header-y += net_tstamp.h287header-y += net_tstamp.h
287header-y += nfc.h288header-y += nfc.h
288header-y += nfs2.h289header-y += nfs2.h
include/uapi/linux/ethtool.h+3−1
@@ -139,6 +139,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep) · 138 unmodified lines
139 139
140#define ETHTOOL_FWVERS_LEN 32140#define ETHTOOL_FWVERS_LEN 32
141#define ETHTOOL_BUSINFO_LEN 32141#define ETHTOOL_BUSINFO_LEN 32
142#define ETHTOOL_EROMVERS_LEN 32
142 143
143/**144/**
144 * struct ethtool_drvinfo - general driver and device information145 * struct ethtool_drvinfo - general driver and device information
@@ -148,6 +149,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep) · 3 unmodified lines
148 * not be an empty string.149 * not be an empty string.
149 * @version: Driver version string; may be an empty string150 * @version: Driver version string; may be an empty string
150 * @fw_version: Firmware version string; may be an empty string151 * @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 be154 * 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 { · 22 unmodified lines
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;
include/uapi/linux/if_bridge.h+2−0
@@ -125,6 +125,8 @@ enum { · 124 unmodified lines
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
129struct bridge_vlan_info {131struct bridge_vlan_info {
130 __u16 flags;132 __u16 flags;
include/uapi/linux/if_link.h+4−0
@@ -146,6 +146,7 @@ enum { · 145 unmodified lines
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_MAX150 __IFLA_MAX
150};151};
151 152
@@ -370,6 +371,9 @@ enum { · 218 unmodified lines
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_MAX377 __IFLA_VXLAN_MAX
374};378};
375#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)379#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
include/uapi/linux/in.h+1−0
@@ -109,6 +109,7 @@ struct in_addr { · 108 unmodified lines
109 109
110#define IP_MINTTL 21110#define IP_MINTTL 21
111#define IP_NODEFRAG 22111#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 */
include/uapi/linux/ipv6.h+6−1
@@ -1,6 +1,7 @@
1#ifndef _UAPI_IPV6_H1#ifndef _UAPI_IPV6_H
2#define _UAPI_IPV6_H2#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 @@ · 8 unmodified lines
15 * *under construction*16 * *under construction*
16 */17 */
17 18
18 19#if __UAPI_DEF_IN6_PKTINFO
19struct in6_pktinfo {20struct 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
24struct ip6_mtuinfo {27struct 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
29struct in6_ifreq {33struct in6_ifreq {
30 struct in6_addr ifr6_addr;34 struct in6_addr ifr6_addr;
@@ -165,6 +169,7 @@ enum { · 134 unmodified lines
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_MAX173 DEVCONF_MAX
169};174};
170 175
include/uapi/linux/l2tp.h+1−0
@@ -178,5 +178,6 @@ enum l2tp_seqmode { · 177 unmodified lines
178 */178 */
179#define L2TP_GENL_NAME "l2tp"179#define L2TP_GENL_NAME "l2tp"
180#define L2TP_GENL_VERSION 0x1180#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_ */
include/uapi/linux/libc-compat.h+6−0
@@ -70,6 +70,8 @@ · 69 unmodified lines
70#define __UAPI_DEF_IPV6_MREQ 070#define __UAPI_DEF_IPV6_MREQ 0
71#define __UAPI_DEF_IPPROTO_V6 071#define __UAPI_DEF_IPPROTO_V6 0
72#define __UAPI_DEF_IPV6_OPTIONS 072#define __UAPI_DEF_IPV6_OPTIONS 0
73#define __UAPI_DEF_IN6_PKTINFO 0
74#define __UAPI_DEF_IP6_MTUINFO 0
73 75
74#else76#else
75 77
@@ -84,6 +86,8 @@ · 8 unmodified lines
84#define __UAPI_DEF_IPV6_MREQ 186#define __UAPI_DEF_IPV6_MREQ 1
85#define __UAPI_DEF_IPPROTO_V6 187#define __UAPI_DEF_IPPROTO_V6 1
86#define __UAPI_DEF_IPV6_OPTIONS 188#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 @@ · 16 unmodified lines
106#define __UAPI_DEF_IPV6_MREQ 1110#define __UAPI_DEF_IPV6_MREQ 1
107#define __UAPI_DEF_IPPROTO_V6 1111#define __UAPI_DEF_IPPROTO_V6 1
108#define __UAPI_DEF_IPV6_OPTIONS 1112#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 1117#define __UAPI_DEF_XATTR 1
include/uapi/linux/neighbour.h+1−0
@@ -25,6 +25,7 @@ enum { · 24 unmodified lines
25 NDA_VNI,25 NDA_VNI,
26 NDA_IFINDEX,26 NDA_IFINDEX,
27 NDA_MASTER,27 NDA_MASTER,
28 NDA_LINK_NETNSID,
28 __NDA_MAX29 __NDA_MAX
29};30};
30 31
include/uapi/linux/net_namespace.h+23−0
@@ -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 */
12enum {
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_ */
include/uapi/linux/net_tstamp.h+2−1
@@ -24,8 +24,9 @@ enum { · 23 unmodified lines
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_LAST31 SOF_TIMESTAMPING_LAST
31};32};
include/uapi/linux/nfc.h+1−0
@@ -183,6 +183,7 @@ enum nfc_attrs { · 182 unmodified lines
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_LAST188 __NFC_ATTR_AFTER_LAST
188};189};
include/uapi/linux/nl80211.h+176−31
@@ -29,6 +29,13 @@ · 28 unmodified lines
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 handling40 * DOC: Station handling
34 *41 *
@@ -173,8 +180,8 @@ · 138 unmodified lines
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 get183 * 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, requires185 * @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 response187 * @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response
@@ -252,7 +259,18 @@ · 71 unmodified lines
252 * %NL80211_ATTR_IFINDEX.259 * %NL80211_ATTR_IFINDEX.
253 *260 *
254 * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set261 * @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 command274 * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command
257 * after being queried by the kernel. CRDA replies by sending a regulatory275 * after being queried by the kernel. CRDA replies by sending a regulatory
258 * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our276 * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our
@@ -306,7 +324,9 @@ · 47 unmodified lines
306 * if passed, define which channels should be scanned; if not324 * if passed, define which channels should be scanned; if not
307 * passed, all channels allowed for the current regulatory domain325 * passed, all channels allowed for the current regulatory domain
308 * are used. Extra IEs can also be passed from the userspace by326 * 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 if330 * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT if
311 * scheduled scan is not running. The caller may assume that as soon331 * 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 @@ · 461 unmodified lines
774 * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel794 * 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 number801 * @NL80211_CMD_MAX: highest used command number
778 * @__NL80211_CMD_AFTER_LAST: internal use802 * @__NL80211_CMD_AFTER_LAST: internal use
779 */803 */
@@ -958,6 +982,8 @@ enum nl80211_commands { · 178 unmodified lines
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 { · 691 unmodified lines
1655 * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface1681 * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface
1656 * creation then the new interface will be owned by the netlink socket1682 * 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 is1688 * @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 { · 27 unmodified lines
1688 *1717 *
1689 * @NL80211_ATTR_MAC_MASK: MAC address mask1718 * @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 available1743 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
1692 * @NL80211_ATTR_MAX: highest attribute number currently defined1744 * @NL80211_ATTR_MAX: highest attribute number currently defined
1693 * @__NL80211_ATTR_AFTER_LAST: internal use1745 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2045,6 +2097,16 @@ enum nl80211_attrs { · 351 unmodified lines
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 { · 34 unmodified lines
2085 2147
2086#define NL80211_MAX_SUPP_RATES 322148#define NL80211_MAX_SUPP_RATES 32
2087#define NL80211_MAX_SUPP_HT_RATES 772149#define NL80211_MAX_SUPP_HT_RATES 77
2088#define NL80211_MAX_SUPP_REG_RULES 322150#define NL80211_MAX_SUPP_REG_RULES 64
2089#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 02151#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
2090#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 162152#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
2091#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 242153#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
@@ -2225,8 +2287,15 @@ struct nl80211_sta_flag_update { · 133 unmodified lines
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 rate2289 * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate
2228 * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate2290 * @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 rate2292 * @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 use2299 * @__NL80211_RATE_INFO_AFTER_LAST: internal use
2231 */2300 */
2232enum nl80211_rate_info {2301enum nl80211_rate_info {
@@ -2241,6 +2310,8 @@ enum nl80211_rate_info { · 8 unmodified lines
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 { · 38 unmodified lines
2285 *2356 *
2286 * @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved2357 * @__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 attribute2368 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
2294 * containing info as possible, see &enum nl80211_rate_info2369 * 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 this2371 * (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 LLID2378 * @NL80211_STA_INFO_LLID: the station's mesh LLID
2302 * @NL80211_STA_INFO_PLID: the station's mesh PLID2379 * @NL80211_STA_INFO_PLID: the station's mesh PLID
@@ -2320,6 +2397,16 @@ enum nl80211_sta_bss_param { · 17 unmodified lines
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 the2398 * @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: internal2410 * @__NL80211_STA_INFO_AFTER_LAST: internal
2324 * @NL80211_STA_INFO_MAX: highest possible station info attribute2411 * @NL80211_STA_INFO_MAX: highest possible station info attribute
2325 */2412 */
@@ -2352,12 +2439,41 @@ enum nl80211_sta_info { · 26 unmodified lines
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,
2358 NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 12449 NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1
2359};2450};
2360 2451
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 */
2465enum 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
2361/**2477/**
2362 * enum nl80211_mpath_flags - nl80211 mesh path flags2478 * enum nl80211_mpath_flags - nl80211 mesh path flags
2363 *2479 *
@@ -2772,16 +2888,18 @@ enum nl80211_user_reg_hint_type { · 408 unmodified lines
2772 * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel2888 * @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 used2890 * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used
2775 * @NL80211_SURVEY_INFO_CHANNEL_TIME: amount of time (in ms) that the radio2891 * @NL80211_SURVEY_INFO_TIME: amount of time (in ms) that the radio
2776 * spent on this channel2892 * was turned on (on channel or globally)
2777 * @NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY: amount of the time the primary2893 * @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 extension2895 * @NL80211_SURVEY_INFO_TIME_EXT_BUSY: amount of time the extension
2780 * channel was sensed busy2896 * channel was sensed busy
2781 * @NL80211_SURVEY_INFO_CHANNEL_TIME_RX: amount of time the radio spent2897 * @NL80211_SURVEY_INFO_TIME_RX: amount of time the radio spent
2782 * receiving data2898 * receiving data (on channel or globally)
2783 * @NL80211_SURVEY_INFO_CHANNEL_TIME_TX: amount of time the radio spent2899 * @NL80211_SURVEY_INFO_TIME_TX: amount of time the radio spent
2784 * transmitting data2900 * 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 number2903 * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
2786 * currently defined2904 * currently defined
2787 * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use2905 * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
@@ -2791,17 +2909,25 @@ enum nl80211_survey_info { · 3 unmodified lines
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 - 12921 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 flags2932 * enum nl80211_mntr_flags - monitor configuration flags
2807 *2933 *
@@ -3238,6 +3364,9 @@ enum nl80211_bss { · 430 unmodified lines
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 { · 377 unmodified lines
3621 * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network3750 * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network
3622 * is detected. This is a nested attribute that contains the3751 * is detected. This is a nested attribute that contains the
3623 * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It3752 * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It
3624 * specifies how the scan is performed (e.g. the interval and the3753 * specifies how the scan is performed (e.g. the interval, the
3625 * channels to scan) as well as the scan results that will3754 * 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 attribute3759 * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute
3628 * containing an array with information about what triggered the3760 * containing an array with information about what triggered the
3629 * wake up. If no elements are present in the array, it means3761 * wake up. If no elements are present in the array, it means
@@ -4193,6 +4325,19 @@ enum nl80211_feature_flags { · 563 unmodified lines
4193 NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31,4325 NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31,
4194};4326};
4195 4327
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 */
4334enum 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
4196/**4341/**
4197 * enum nl80211_probe_resp_offload_support_attr - optional supported4342 * 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.
include/uapi/linux/openvswitch.h+52−1
@@ -252,11 +252,21 @@ enum ovs_vport_attr { · 251 unmodified lines
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
255enum {
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 */
257enum {266enum {
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_MAX270 __OVS_TUNNEL_ATTR_MAX
261};271};
262 272
@@ -328,6 +338,7 @@ enum ovs_tunnel_key_attr { · 65 unmodified lines
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_MAX342 __OVS_TUNNEL_KEY_ATTR_MAX
332};343};
333 344
@@ -448,6 +459,14 @@ struct ovs_key_nd { · 114 unmodified lines
448 * a wildcarded match. Omitting attribute is treated as wildcarding all459 * 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 Netlink471 * These attributes follow the &struct ovs_header within the Generic Netlink
453 * payload for %OVS_FLOW_* commands.472 * payload for %OVS_FLOW_* commands.
@@ -463,11 +482,23 @@ enum ovs_flow_attr { · 9 unmodified lines
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, error483 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_MAX487 __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
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
471/**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 with504 * @OVS_SAMPLE_ATTR_PROBABILITY: 32-bit fraction of packets to sample with
@@ -568,6 +599,12 @@ struct ovs_action_hash { · 94 unmodified lines
568 * @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header. The599 * @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 its600 * 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 the608 * @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 { · 12 unmodified lines
586 * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all623 * 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 fragment624 * 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
591enum ovs_action_attr {631enum ovs_action_attr {
@@ -600,8 +640,19 @@ enum ovs_action_attr { · 8 unmodified lines
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_MAX648 __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)
include/uapi/linux/pkt_sched.h+2−0
@@ -774,6 +774,8 @@ enum { · 773 unmodified lines
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_MAX779 __TCA_FQ_MAX
778};780};
779 781
include/uapi/linux/rtnetlink.h+8−0
@@ -132,6 +132,11 @@ enum { · 131 unmodified lines
132 RTM_GETMDB = 86,132 RTM_GETMDB = 86,
133#define RTM_GETMDB RTM_GETMDB133#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 { · 251 unmodified lines
389#define RTAX_INITRWND RTAX_INITRWND394#define RTAX_INITRWND RTAX_INITRWND
390 RTAX_QUICKACK,395 RTAX_QUICKACK,
391#define RTAX_QUICKACK RTAX_QUICKACK396#define RTAX_QUICKACK RTAX_QUICKACK
397 RTAX_CC_ALGO,
398#define RTAX_CC_ALGO RTAX_CC_ALGO
392 __RTAX_MAX399 __RTAX_MAX
393};400};
394 401
@@ -634,6 +641,7 @@ struct tcamsg { · 239 unmodified lines
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
include/uapi/linux/snmp.h+6−0
@@ -270,6 +270,12 @@ enum · 269 unmodified lines
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_MAX279 __LINUX_MIB_MAX
274};280};
275 281
include/uapi/linux/tc_act/Kbuild+1−0
@@ -8,3 +8,4 @@ header-y += tc_nat.h · 7 unmodified lines
8header-y += tc_pedit.h8header-y += tc_pedit.h
9header-y += tc_skbedit.h9header-y += tc_skbedit.h
10header-y += tc_vlan.h10header-y += tc_vlan.h
11header-y += tc_bpf.h
include/uapi/linux/tc_act/tc_bpf.h+31−0
@@ -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
17struct tc_act_bpf {
18 tc_gen;
19};
20
21enum {
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
include/uapi/linux/tc_act/tc_connmark.h+22−0
@@ -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
9struct tc_connmark {
10 tc_gen;
11 __u16 zone;
12};
13
14enum {
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
include/uapi/linux/tipc_config.h+20−0
@@ -272,6 +272,26 @@ static inline int TLV_CHECK(const void *tlv, __u16 space, __u16 exp_type) · 271 unmodified lines
272 (ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type);272 (ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type);
273}273}
274 274
275static inline int TLV_GET_LEN(struct tlv_desc *tlv)
276{
277 return ntohs(tlv->tlv_len);
278}
279
280static inline void TLV_SET_LEN(struct tlv_desc *tlv, __u16 len)
281{
282 tlv->tlv_len = htons(len);
283}
284
285static inline int TLV_CHECK_TYPE(struct tlv_desc *tlv, __u16 type)
286{
287 return (ntohs(tlv->tlv_type) == type);
288}
289
290static inline void TLV_SET_TYPE(struct tlv_desc *tlv, __u16 type)
291{
292 tlv->tlv_type = htons(type);
293}
294
275static inline int TLV_SET(void *tlv, __u16 type, void *data, __u16 len)295static 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;