History

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

Pull networking updates from David Millar: "Here are some highlights from the 2065 networking commits that happened this development cycle: 1) XDP support for IXGBE (John Fastabend) and thunderx (Sunil Kowuri) 2) Add a generic XDP driver, so that anyone can test XDP even if they lack a networking device whose driver has explicit XDP support (me). 3) Sparc64 now has an eBPF JIT too (me) 4) Add a BPF program testing framework via BPF_PROG_TEST_RUN (Alexei Starovoitov) 5) Make netfitler network namespace teardown less expensive (Florian Westphal) 6) Add symmetric hashing support to nft_hash (Laura Garcia Liebana) 7) Implement NAPI and GRO in netvsc driver (Stephen Hemminger) 8) Support TC flower offload statistics in mlxsw (Arkadi Sharshevsky) 9) Multiqueue support in stmmac driver (Joao Pinto) 10) Remove TCP timewait recycling, it never really could possibly work well in the real world and timestamp randomization really zaps any hint of usability this feature had (Soheil Hassas Yeganeh) 11) Support level3 vs level4 ECMP route hashing in ipv4 (Nikolay Aleksandrov) 12) Add socket busy poll support to epoll (Sridhar Samudrala) 13) Netlink extended ACK support (Johannes Berg, Pablo Neira Ayuso, and several others) 14) IPSEC hw offload infrastructure (Steffen Klassert)" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2065 commits) tipc: refactor function tipc_sk_recv_stream() tipc: refactor function tipc_sk_recvmsg() net: thunderx: Optimize page recycling for XDP net: thunderx: Support for XDP header adjustment net: thunderx: Add support for XDP_TX net: thunderx: Add support for XDP_DROP net: thunderx: Add basic XDP support net: thunderx: Cleanup receive buffer allocation net: thunderx: Optimize CQE_TX handling net: thunderx: Optimize RBDR descriptor handling net: thunderx: Support for page recycling ipx: call ipxitf_put() in ioctl error path net: sched: add helpers to handle extended actions qed*: Fix issues in the ptp filter config implementation. qede: Fix concurrency issue in PTP Tx path processing. stmmac: Add support for SIMATIC IOT2000 platform net: hns: fix ethtool_get_strings overflow in hns driver tcp: fix wraparound issue in tcp_lp bpf, arm64: fix jit branch offset related to ldimm64 bpf, arm64: implement jiting of BPF_XADD ...

Linus Torvalds committed 9 years ago

Commit 8d65b082 parents 5a0387a 5d15af61690 files · +108404 −45694Browse files

Showing the changes to include/uapi/linux (26 of 1690 files). Show all

Unified · Split

26 files
  1. include/uapi/linux/Kbuild +1 −0
  2. include/uapi/linux/bpf.h +30 −1
  3. include/uapi/linux/can/vxcan.h +12 −0
  4. include/uapi/linux/devlink.h +73 −1
  5. include/uapi/linux/ethtool.h +1 −0
  6. include/uapi/linux/gtp.h +2 −1
  7. include/uapi/linux/if_arp.h +1 −0
  8. include/uapi/linux/if_link.h +11 −1
  9. include/uapi/linux/if_packet.h +1 −0
  10. include/uapi/linux/if_tunnel.h +3 −0
  11. include/uapi/linux/ipv6.h +2 −0
  12. include/uapi/linux/mpls_iptunnel.h +2 −0
  13. include/uapi/linux/netfilter/nf_conntrack_common.h +7 −2
  14. include/uapi/linux/netfilter/nf_tables.h +27 −1
  15. include/uapi/linux/netlink.h +42 −6
  16. include/uapi/linux/netlink_diag.h +10 −0
  17. include/uapi/linux/nl80211.h +111 −5
  18. include/uapi/linux/openvswitch.h +27 −0
  19. include/uapi/linux/pkt_cls.h +19 −1
  20. include/uapi/linux/pkt_sched.h +8 −0
  21. include/uapi/linux/rtnetlink.h +4 −0
  22. include/uapi/linux/sctp.h +32 −0
  23. include/uapi/linux/snmp.h +1 −1
  24. include/uapi/linux/sysctl.h +1 −0
  25. include/uapi/linux/vsockmon.h +60 −0
  26. include/uapi/linux/xfrm.h +8 −0
include/uapi/linux/Kbuild+1−0
@@ -477,6 +477,7 @@ header-y += virtio_types.h · 476 unmodified lines
477header-y += virtio_vsock.h477header-y += virtio_vsock.h
478header-y += virtio_crypto.h478header-y += virtio_crypto.h
479header-y += vm_sockets.h479header-y += vm_sockets.h
480header-y += vsockmon.h
480header-y += vt.h481header-y += vt.h
481header-y += vtpm_proxy.h482header-y += vtpm_proxy.h
482header-y += wait.h483header-y += wait.h
include/uapi/linux/bpf.h+30−1
@@ -81,6 +81,7 @@ enum bpf_cmd { · 80 unmodified lines
81 BPF_OBJ_GET,81 BPF_OBJ_GET,
82 BPF_PROG_ATTACH,82 BPF_PROG_ATTACH,
83 BPF_PROG_DETACH,83 BPF_PROG_DETACH,
84 BPF_PROG_TEST_RUN,
84};85};
85 86
86enum bpf_map_type {87enum bpf_map_type {
@@ -96,6 +97,8 @@ enum bpf_map_type { · 9 unmodified lines
96 BPF_MAP_TYPE_LRU_HASH,97 BPF_MAP_TYPE_LRU_HASH,
97 BPF_MAP_TYPE_LRU_PERCPU_HASH,98 BPF_MAP_TYPE_LRU_PERCPU_HASH,
98 BPF_MAP_TYPE_LPM_TRIE,99 BPF_MAP_TYPE_LPM_TRIE,
100 BPF_MAP_TYPE_ARRAY_OF_MAPS,
101 BPF_MAP_TYPE_HASH_OF_MAPS,
99};102};
100 103
101enum bpf_prog_type {104enum bpf_prog_type {
@@ -152,6 +155,7 @@ union bpf_attr { · 50 unmodified lines
152 __u32 value_size; /* size of value in bytes */155 __u32 value_size; /* size of value in bytes */
153 __u32 max_entries; /* max number of entries in a map */156 __u32 max_entries; /* max number of entries in a map */
154 __u32 map_flags; /* prealloc or not */157 __u32 map_flags; /* prealloc or not */
158 __u32 inner_map_fd; /* fd pointing to the inner map */
155 };159 };
156 160
157 struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */161 struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */
@@ -186,6 +190,17 @@ union bpf_attr { · 28 unmodified lines
186 __u32 attach_type;190 __u32 attach_type;
187 __u32 attach_flags;191 __u32 attach_flags;
188 };192 };
193
194 struct { /* anonymous struct used by BPF_PROG_TEST_RUN command */
195 __u32 prog_fd;
196 __u32 retval;
197 __u32 data_size_in;
198 __u32 data_size_out;
199 __aligned_u64 data_in;
200 __aligned_u64 data_out;
201 __u32 repeat;
202 __u32 duration;
203 } test;
189} __attribute__((aligned(8)));204} __attribute__((aligned(8)));
190 205
191/* BPF helper function descriptions:206/* BPF helper function descriptions:
@@ -456,6 +471,17 @@ union bpf_attr { · 264 unmodified lines
456 * Return:471 * Return:
457 * > 0 length of the string including the trailing NUL on success472 * > 0 length of the string including the trailing NUL on success
458 * < 0 error473 * < 0 error
474 *
475 * u64 bpf_get_socket_cookie(skb)
476 * Get the cookie for the socket stored inside sk_buff.
477 * @skb: pointer to skb
478 * Return: 8 Bytes non-decreasing number on success or 0 if the socket
479 * field is missing inside sk_buff
480 *
481 * u32 bpf_get_socket_uid(skb)
482 * Get the owner uid of the socket stored inside sk_buff.
483 * @skb: pointer to skb
484 * Return: uid of the socket owner on success or overflowuid if failed.
459 */485 */
460#define __BPF_FUNC_MAPPER(FN) \486#define __BPF_FUNC_MAPPER(FN) \
461 FN(unspec), \487 FN(unspec), \
@@ -503,7 +529,9 @@ union bpf_attr { · 41 unmodified lines
503 FN(get_numa_node_id), \529 FN(get_numa_node_id), \
504 FN(skb_change_head), \530 FN(skb_change_head), \
505 FN(xdp_adjust_head), \531 FN(xdp_adjust_head), \
506 FN(probe_read_str),532 FN(probe_read_str), \
533 FN(get_socket_cookie), \
534 FN(get_socket_uid),
507 535
508/* integer value in 'imm' field of BPF_CALL instruction selects which helper536/* integer value in 'imm' field of BPF_CALL instruction selects which helper
509 * function eBPF program intends to call537 * function eBPF program intends to call
@@ -574,6 +602,7 @@ struct __sk_buff { · 64 unmodified lines
574 __u32 tc_classid;602 __u32 tc_classid;
575 __u32 data;603 __u32 data;
576 __u32 data_end;604 __u32 data_end;
605 __u32 napi_id;
577};606};
578 607
579struct bpf_tunnel_key {608struct bpf_tunnel_key {
include/uapi/linux/can/vxcan.h+12−0
@@ -0,0 +1,12 @@
1#ifndef _UAPI_CAN_VXCAN_H
2#define _UAPI_CAN_VXCAN_H
3
4enum {
5 VXCAN_INFO_UNSPEC,
6 VXCAN_INFO_PEER,
7
8 __VXCAN_INFO_MAX
9#define VXCAN_INFO_MAX (__VXCAN_INFO_MAX - 1)
10};
11
12#endif
include/uapi/linux/devlink.h+73−1
@@ -65,8 +65,12 @@ enum devlink_command { · 64 unmodified lines
65#define DEVLINK_CMD_ESWITCH_MODE_SET /* obsolete, never use this! */ \65#define DEVLINK_CMD_ESWITCH_MODE_SET /* obsolete, never use this! */ \
66 DEVLINK_CMD_ESWITCH_SET66 DEVLINK_CMD_ESWITCH_SET
67 67
68 /* add new commands above here */68 DEVLINK_CMD_DPIPE_TABLE_GET,
69 DEVLINK_CMD_DPIPE_ENTRIES_GET,
70 DEVLINK_CMD_DPIPE_HEADERS_GET,
71 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET,
69 72
73 /* add new commands above here */
70 __DEVLINK_CMD_MAX,74 __DEVLINK_CMD_MAX,
71 DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 175 DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
72};76};
@@ -115,6 +119,11 @@ enum devlink_eswitch_inline_mode { · 42 unmodified lines
115 DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT,119 DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT,
116};120};
117 121
122enum devlink_eswitch_encap_mode {
123 DEVLINK_ESWITCH_ENCAP_MODE_NONE,
124 DEVLINK_ESWITCH_ENCAP_MODE_BASIC,
125};
126
118enum devlink_attr {127enum devlink_attr {
119 /* don't change the order or add anything between, this is ABI! */128 /* don't change the order or add anything between, this is ABI! */
120 DEVLINK_ATTR_UNSPEC,129 DEVLINK_ATTR_UNSPEC,
@@ -148,10 +157,73 @@ enum devlink_attr { · 27 unmodified lines
148 DEVLINK_ATTR_ESWITCH_MODE, /* u16 */157 DEVLINK_ATTR_ESWITCH_MODE, /* u16 */
149 DEVLINK_ATTR_ESWITCH_INLINE_MODE, /* u8 */158 DEVLINK_ATTR_ESWITCH_INLINE_MODE, /* u8 */
150 159
160 DEVLINK_ATTR_DPIPE_TABLES, /* nested */
161 DEVLINK_ATTR_DPIPE_TABLE, /* nested */
162 DEVLINK_ATTR_DPIPE_TABLE_NAME, /* string */
163 DEVLINK_ATTR_DPIPE_TABLE_SIZE, /* u64 */
164 DEVLINK_ATTR_DPIPE_TABLE_MATCHES, /* nested */
165 DEVLINK_ATTR_DPIPE_TABLE_ACTIONS, /* nested */
166 DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED, /* u8 */
167
168 DEVLINK_ATTR_DPIPE_ENTRIES, /* nested */
169 DEVLINK_ATTR_DPIPE_ENTRY, /* nested */
170 DEVLINK_ATTR_DPIPE_ENTRY_INDEX, /* u64 */
171 DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES, /* nested */
172 DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES, /* nested */
173 DEVLINK_ATTR_DPIPE_ENTRY_COUNTER, /* u64 */
174
175 DEVLINK_ATTR_DPIPE_MATCH, /* nested */
176 DEVLINK_ATTR_DPIPE_MATCH_VALUE, /* nested */
177 DEVLINK_ATTR_DPIPE_MATCH_TYPE, /* u32 */
178
179 DEVLINK_ATTR_DPIPE_ACTION, /* nested */
180 DEVLINK_ATTR_DPIPE_ACTION_VALUE, /* nested */
181 DEVLINK_ATTR_DPIPE_ACTION_TYPE, /* u32 */
182
183 DEVLINK_ATTR_DPIPE_VALUE,
184 DEVLINK_ATTR_DPIPE_VALUE_MASK,
185 DEVLINK_ATTR_DPIPE_VALUE_MAPPING, /* u32 */
186
187 DEVLINK_ATTR_DPIPE_HEADERS, /* nested */
188 DEVLINK_ATTR_DPIPE_HEADER, /* nested */
189 DEVLINK_ATTR_DPIPE_HEADER_NAME, /* string */
190 DEVLINK_ATTR_DPIPE_HEADER_ID, /* u32 */
191 DEVLINK_ATTR_DPIPE_HEADER_FIELDS, /* nested */
192 DEVLINK_ATTR_DPIPE_HEADER_GLOBAL, /* u8 */
193 DEVLINK_ATTR_DPIPE_HEADER_INDEX, /* u32 */
194
195 DEVLINK_ATTR_DPIPE_FIELD, /* nested */
196 DEVLINK_ATTR_DPIPE_FIELD_NAME, /* string */
197 DEVLINK_ATTR_DPIPE_FIELD_ID, /* u32 */
198 DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH, /* u32 */
199 DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE, /* u32 */
200
201 DEVLINK_ATTR_PAD,
202
203 DEVLINK_ATTR_ESWITCH_ENCAP_MODE, /* u8 */
204
151 /* add new attributes above here, update the policy in devlink.c */205 /* add new attributes above here, update the policy in devlink.c */
152 206
153 __DEVLINK_ATTR_MAX,207 __DEVLINK_ATTR_MAX,
154 DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1208 DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1
155};209};
156 210
211/* Mapping between internal resource described by the field and system
212 * structure
213 */
214enum devlink_dpipe_field_mapping_type {
215 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE,
216 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX,
217};
218
219/* Match type - specify the type of the match */
220enum devlink_dpipe_match_type {
221 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT,
222};
223
224/* Action type - specify the action type */
225enum devlink_dpipe_action_type {
226 DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY,
227};
228
157#endif /* _UAPI_LINUX_DEVLINK_H_ */229#endif /* _UAPI_LINUX_DEVLINK_H_ */
include/uapi/linux/ethtool.h+1−0
@@ -1487,6 +1487,7 @@ enum ethtool_link_mode_bit_indices { · 1486 unmodified lines
1487 */1487 */
1488 1488
1489/* The forced speed, in units of 1Mb. All values 0 to INT_MAX are legal. */1489/* The forced speed, in units of 1Mb. All values 0 to INT_MAX are legal. */
1490/* Update drivers/net/phy/phy.c:phy_speed_to_str() when adding new values */
1490#define SPEED_10 101491#define SPEED_10 10
1491#define SPEED_100 1001492#define SPEED_100 100
1492#define SPEED_1000 10001493#define SPEED_1000 1000
include/uapi/linux/gtp.h+2−1
@@ -19,7 +19,8 @@ enum gtp_attrs { · 18 unmodified lines
19 GTPA_LINK,19 GTPA_LINK,
20 GTPA_VERSION,20 GTPA_VERSION,
21 GTPA_TID, /* for GTPv0 only */21 GTPA_TID, /* for GTPv0 only */
22 GTPA_SGSN_ADDRESS,22 GTPA_PEER_ADDRESS, /* Remote GSN peer, either SGSN or GGSN */
23#define GTPA_SGSN_ADDRESS GTPA_PEER_ADDRESS /* maintain legacy attr name */
23 GTPA_MS_ADDRESS,24 GTPA_MS_ADDRESS,
24 GTPA_FLOW,25 GTPA_FLOW,
25 GTPA_NET_NS_FD,26 GTPA_NET_NS_FD,
include/uapi/linux/if_arp.h+1−0
@@ -95,6 +95,7 @@ · 94 unmodified lines
95#define ARPHRD_IP6GRE 823 /* GRE over IPv6 */95#define ARPHRD_IP6GRE 823 /* GRE over IPv6 */
96#define ARPHRD_NETLINK 824 /* Netlink header */96#define ARPHRD_NETLINK 824 /* Netlink header */
97#define ARPHRD_6LOWPAN 825 /* IPv6 over LoWPAN */97#define ARPHRD_6LOWPAN 825 /* IPv6 over LoWPAN */
98#define ARPHRD_VSOCKMON 826 /* Vsock monitor header */
98 99
99#define ARPHRD_VOID 0xFFFF /* Void type, nothing is known */100#define ARPHRD_VOID 0xFFFF /* Void type, nothing is known */
100#define ARPHRD_NONE 0xFFFE /* zero header length */101#define ARPHRD_NONE 0xFFFE /* zero header length */
include/uapi/linux/if_link.h+11−1
@@ -323,6 +323,7 @@ enum { · 322 unmodified lines
323 IFLA_BRPORT_MCAST_FLOOD,323 IFLA_BRPORT_MCAST_FLOOD,
324 IFLA_BRPORT_MCAST_TO_UCAST,324 IFLA_BRPORT_MCAST_TO_UCAST,
325 IFLA_BRPORT_VLAN_TUNNEL,325 IFLA_BRPORT_VLAN_TUNNEL,
326 IFLA_BRPORT_BCAST_FLOOD,
326 __IFLA_BRPORT_MAX327 __IFLA_BRPORT_MAX
327};328};
328#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)329#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -538,11 +539,18 @@ enum { · 209 unmodified lines
538#define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1)539#define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1)
539 540
540/* GTP section */541/* GTP section */
542
543enum ifla_gtp_role {
544 GTP_ROLE_GGSN = 0,
545 GTP_ROLE_SGSN,
546};
547
541enum {548enum {
542 IFLA_GTP_UNSPEC,549 IFLA_GTP_UNSPEC,
543 IFLA_GTP_FD0,550 IFLA_GTP_FD0,
544 IFLA_GTP_FD1,551 IFLA_GTP_FD1,
545 IFLA_GTP_PDP_HASHSIZE,552 IFLA_GTP_PDP_HASHSIZE,
553 IFLA_GTP_ROLE,
546 __IFLA_GTP_MAX,554 __IFLA_GTP_MAX,
547};555};
548#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)556#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
@@ -880,7 +888,9 @@ enum { · 331 unmodified lines
880/* XDP section */888/* XDP section */
881 889
882#define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)890#define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)
883#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST)891#define XDP_FLAGS_SKB_MODE (2U << 0)
892#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \
893 XDP_FLAGS_SKB_MODE)
884 894
885enum {895enum {
886 IFLA_XDP_UNSPEC,896 IFLA_XDP_UNSPEC,
include/uapi/linux/if_packet.h+1−0
@@ -66,6 +66,7 @@ struct sockaddr_ll { · 65 unmodified lines
66#define PACKET_FANOUT_CBPF 666#define PACKET_FANOUT_CBPF 6
67#define PACKET_FANOUT_EBPF 767#define PACKET_FANOUT_EBPF 7
68#define PACKET_FANOUT_FLAG_ROLLOVER 0x100068#define PACKET_FANOUT_FLAG_ROLLOVER 0x1000
69#define PACKET_FANOUT_FLAG_UNIQUEID 0x2000
69#define PACKET_FANOUT_FLAG_DEFRAG 0x800070#define PACKET_FANOUT_FLAG_DEFRAG 0x8000
70 71
71struct tpacket_stats {72struct tpacket_stats {
include/uapi/linux/if_tunnel.h+3−0
@@ -75,6 +75,7 @@ enum { · 74 unmodified lines
75 IFLA_IPTUN_ENCAP_SPORT,75 IFLA_IPTUN_ENCAP_SPORT,
76 IFLA_IPTUN_ENCAP_DPORT,76 IFLA_IPTUN_ENCAP_DPORT,
77 IFLA_IPTUN_COLLECT_METADATA,77 IFLA_IPTUN_COLLECT_METADATA,
78 IFLA_IPTUN_FWMARK,
78 __IFLA_IPTUN_MAX,79 __IFLA_IPTUN_MAX,
79};80};
80#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)81#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
@@ -132,6 +133,7 @@ enum { · 51 unmodified lines
132 IFLA_GRE_ENCAP_DPORT,133 IFLA_GRE_ENCAP_DPORT,
133 IFLA_GRE_COLLECT_METADATA,134 IFLA_GRE_COLLECT_METADATA,
134 IFLA_GRE_IGNORE_DF,135 IFLA_GRE_IGNORE_DF,
136 IFLA_GRE_FWMARK,
135 __IFLA_GRE_MAX,137 __IFLA_GRE_MAX,
136};138};
137 139
@@ -147,6 +149,7 @@ enum { · 9 unmodified lines
147 IFLA_VTI_OKEY,149 IFLA_VTI_OKEY,
148 IFLA_VTI_LOCAL,150 IFLA_VTI_LOCAL,
149 IFLA_VTI_REMOTE,151 IFLA_VTI_REMOTE,
152 IFLA_VTI_FWMARK,
150 __IFLA_VTI_MAX,153 __IFLA_VTI_MAX,
151};154};
152 155
include/uapi/linux/ipv6.h+2−0
@@ -183,6 +183,8 @@ enum { · 182 unmodified lines
183 DEVCONF_SEG6_REQUIRE_HMAC,183 DEVCONF_SEG6_REQUIRE_HMAC,
184 DEVCONF_ENHANCED_DAD,184 DEVCONF_ENHANCED_DAD,
185 DEVCONF_ADDR_GEN_MODE,185 DEVCONF_ADDR_GEN_MODE,
186 DEVCONF_DISABLE_POLICY,
187 DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN,
186 DEVCONF_MAX188 DEVCONF_MAX
187};189};
188 190
include/uapi/linux/mpls_iptunnel.h+2−0
@@ -16,11 +16,13 @@ · 15 unmodified lines
16/* MPLS tunnel attributes16/* MPLS tunnel attributes
17 * [RTA_ENCAP] = {17 * [RTA_ENCAP] = {
18 * [MPLS_IPTUNNEL_DST]18 * [MPLS_IPTUNNEL_DST]
19 * [MPLS_IPTUNNEL_TTL]
19 * }20 * }
20 */21 */
21enum {22enum {
22 MPLS_IPTUNNEL_UNSPEC,23 MPLS_IPTUNNEL_UNSPEC,
23 MPLS_IPTUNNEL_DST,24 MPLS_IPTUNNEL_DST,
25 MPLS_IPTUNNEL_TTL,
24 __MPLS_IPTUNNEL_MAX,26 __MPLS_IPTUNNEL_MAX,
25};27};
26#define MPLS_IPTUNNEL_MAX (__MPLS_IPTUNNEL_MAX - 1)28#define MPLS_IPTUNNEL_MAX (__MPLS_IPTUNNEL_MAX - 1)
include/uapi/linux/netfilter/nf_conntrack_common.h+7−2
@@ -28,12 +28,14 @@ enum ip_conntrack_info { · 27 unmodified lines
28 /* only for userspace compatibility */28 /* only for userspace compatibility */
29#ifndef __KERNEL__29#ifndef __KERNEL__
30 IP_CT_NEW_REPLY = IP_CT_NUMBER,30 IP_CT_NEW_REPLY = IP_CT_NUMBER,
31#else
32 IP_CT_UNTRACKED = 7,
31#endif33#endif
32};34};
33 35
34#define NF_CT_STATE_INVALID_BIT (1 << 0)36#define NF_CT_STATE_INVALID_BIT (1 << 0)
35#define NF_CT_STATE_BIT(ctinfo) (1 << ((ctinfo) % IP_CT_IS_REPLY + 1))37#define NF_CT_STATE_BIT(ctinfo) (1 << ((ctinfo) % IP_CT_IS_REPLY + 1))
36#define NF_CT_STATE_UNTRACKED_BIT (1 << (IP_CT_NUMBER + 1))38#define NF_CT_STATE_UNTRACKED_BIT (1 << (IP_CT_UNTRACKED + 1))
37 39
38/* Bitset representing status of connection. */40/* Bitset representing status of connection. */
39enum ip_conntrack_status {41enum ip_conntrack_status {
@@ -94,7 +96,7 @@ enum ip_conntrack_status { · 54 unmodified lines
94 IPS_TEMPLATE_BIT = 11,96 IPS_TEMPLATE_BIT = 11,
95 IPS_TEMPLATE = (1 << IPS_TEMPLATE_BIT),97 IPS_TEMPLATE = (1 << IPS_TEMPLATE_BIT),
96 98
97 /* Conntrack is a fake untracked entry */99 /* Conntrack is a fake untracked entry. Obsolete and not used anymore */
98 IPS_UNTRACKED_BIT = 12,100 IPS_UNTRACKED_BIT = 12,
99 IPS_UNTRACKED = (1 << IPS_UNTRACKED_BIT),101 IPS_UNTRACKED = (1 << IPS_UNTRACKED_BIT),
100 102
@@ -117,6 +119,9 @@ enum ip_conntrack_events { · 16 unmodified lines
117 IPCT_NATSEQADJ = IPCT_SEQADJ,119 IPCT_NATSEQADJ = IPCT_SEQADJ,
118 IPCT_SECMARK, /* new security mark has been set */120 IPCT_SECMARK, /* new security mark has been set */
119 IPCT_LABEL, /* new connlabel has been set */121 IPCT_LABEL, /* new connlabel has been set */
122#ifdef __KERNEL__
123 __IPCT_MAX
124#endif
120};125};
121 126
122enum ip_conntrack_expect_events {127enum ip_conntrack_expect_events {
include/uapi/linux/netfilter/nf_tables.h+27−1
@@ -815,6 +815,17 @@ enum nft_rt_keys { · 814 unmodified lines
815 NFT_RT_NEXTHOP6,815 NFT_RT_NEXTHOP6,
816};816};
817 817
818/**
819 * enum nft_hash_types - nf_tables hash expression types
820 *
821 * @NFT_HASH_JENKINS: Jenkins Hash
822 * @NFT_HASH_SYM: Symmetric Hash
823 */
824enum nft_hash_types {
825 NFT_HASH_JENKINS,
826 NFT_HASH_SYM,
827};
828
818/**829/**
819 * enum nft_hash_attributes - nf_tables hash expression netlink attributes830 * enum nft_hash_attributes - nf_tables hash expression netlink attributes
820 *831 *
@@ -824,6 +835,7 @@ enum nft_rt_keys { · 3 unmodified lines
824 * @NFTA_HASH_MODULUS: modulus value (NLA_U32)835 * @NFTA_HASH_MODULUS: modulus value (NLA_U32)
825 * @NFTA_HASH_SEED: seed value (NLA_U32)836 * @NFTA_HASH_SEED: seed value (NLA_U32)
826 * @NFTA_HASH_OFFSET: add this offset value to hash result (NLA_U32)837 * @NFTA_HASH_OFFSET: add this offset value to hash result (NLA_U32)
838 * @NFTA_HASH_TYPE: hash operation (NLA_U32: nft_hash_types)
827 */839 */
828enum nft_hash_attributes {840enum nft_hash_attributes {
829 NFTA_HASH_UNSPEC,841 NFTA_HASH_UNSPEC,
@@ -833,6 +845,7 @@ enum nft_hash_attributes { · 3 unmodified lines
833 NFTA_HASH_MODULUS,845 NFTA_HASH_MODULUS,
834 NFTA_HASH_SEED,846 NFTA_HASH_SEED,
835 NFTA_HASH_OFFSET,847 NFTA_HASH_OFFSET,
848 NFTA_HASH_TYPE,
836 __NFTA_HASH_MAX,849 __NFTA_HASH_MAX,
837};850};
838#define NFTA_HASH_MAX (__NFTA_HASH_MAX - 1)851#define NFTA_HASH_MAX (__NFTA_HASH_MAX - 1)
@@ -888,6 +901,7 @@ enum nft_rt_attributes { · 49 unmodified lines
888 * @NFT_CT_BYTES: conntrack bytes901 * @NFT_CT_BYTES: conntrack bytes
889 * @NFT_CT_AVGPKT: conntrack average bytes per packet902 * @NFT_CT_AVGPKT: conntrack average bytes per packet
890 * @NFT_CT_ZONE: conntrack zone903 * @NFT_CT_ZONE: conntrack zone
904 * @NFT_CT_EVENTMASK: ctnetlink events to be generated for this conntrack
891 */905 */
892enum nft_ct_keys {906enum nft_ct_keys {
893 NFT_CT_STATE,907 NFT_CT_STATE,
@@ -908,6 +922,7 @@ enum nft_ct_keys { · 14 unmodified lines
908 NFT_CT_BYTES,922 NFT_CT_BYTES,
909 NFT_CT_AVGPKT,923 NFT_CT_AVGPKT,
910 NFT_CT_ZONE,924 NFT_CT_ZONE,
925 NFT_CT_EVENTMASK,
911};926};
912 927
913/**928/**
@@ -1244,12 +1259,23 @@ enum nft_fib_flags { · 330 unmodified lines
1244 NFTA_FIB_F_MARK = 1 << 2, /* use skb->mark */1259 NFTA_FIB_F_MARK = 1 << 2, /* use skb->mark */
1245 NFTA_FIB_F_IIF = 1 << 3, /* restrict to iif */1260 NFTA_FIB_F_IIF = 1 << 3, /* restrict to iif */
1246 NFTA_FIB_F_OIF = 1 << 4, /* restrict to oif */1261 NFTA_FIB_F_OIF = 1 << 4, /* restrict to oif */
1262 NFTA_FIB_F_PRESENT = 1 << 5, /* check existence only */
1263};
1264
1265enum nft_ct_helper_attributes {
1266 NFTA_CT_HELPER_UNSPEC,
1267 NFTA_CT_HELPER_NAME,
1268 NFTA_CT_HELPER_L3PROTO,
1269 NFTA_CT_HELPER_L4PROTO,
1270 __NFTA_CT_HELPER_MAX,
1247};1271};
1272#define NFTA_CT_HELPER_MAX (__NFTA_CT_HELPER_MAX - 1)
1248 1273
1249#define NFT_OBJECT_UNSPEC 01274#define NFT_OBJECT_UNSPEC 0
1250#define NFT_OBJECT_COUNTER 11275#define NFT_OBJECT_COUNTER 1
1251#define NFT_OBJECT_QUOTA 21276#define NFT_OBJECT_QUOTA 2
1252#define __NFT_OBJECT_MAX 31277#define NFT_OBJECT_CT_HELPER 3
1278#define __NFT_OBJECT_MAX 4
1253#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1)1279#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1)
1254 1280
1255/**1281/**
include/uapi/linux/netlink.h+42−6
@@ -50,12 +50,12 @@ struct nlmsghdr { · 49 unmodified lines
50 50
51/* Flags values */51/* Flags values */
52 52
53#define NLM_F_REQUEST 1 /* It is request message. */53#define NLM_F_REQUEST 0x01 /* It is request message. */
54#define NLM_F_MULTI 2 /* Multipart message, terminated by NLMSG_DONE */54#define NLM_F_MULTI 0x02 /* Multipart message, terminated by NLMSG_DONE */
55#define NLM_F_ACK 4 /* Reply with ack, with zero or error code */55#define NLM_F_ACK 0x04 /* Reply with ack, with zero or error code */
56#define NLM_F_ECHO 8 /* Echo this request */56#define NLM_F_ECHO 0x08 /* Echo this request */
57#define NLM_F_DUMP_INTR 16 /* Dump was inconsistent due to sequence change */57#define NLM_F_DUMP_INTR 0x10 /* Dump was inconsistent due to sequence change */
58#define NLM_F_DUMP_FILTERED 32 /* Dump was filtered as requested */58#define NLM_F_DUMP_FILTERED 0x20 /* Dump was filtered as requested */
59 59
60/* Modifiers to GET request */60/* Modifiers to GET request */
61#define NLM_F_ROOT 0x100 /* specify tree root */61#define NLM_F_ROOT 0x100 /* specify tree root */
@@ -69,6 +69,10 @@ struct nlmsghdr { · 7 unmodified lines
69#define NLM_F_CREATE 0x400 /* Create, if it does not exist */69#define NLM_F_CREATE 0x400 /* Create, if it does not exist */
70#define NLM_F_APPEND 0x800 /* Add to end of list */70#define NLM_F_APPEND 0x800 /* Add to end of list */
71 71
72/* Flags for ACK message */
73#define NLM_F_CAPPED 0x100 /* request was capped */
74#define NLM_F_ACK_TLVS 0x200 /* extended ACK TVLs were included */
75
72/*76/*
73 4.4BSD ADD NLM_F_CREATE|NLM_F_EXCL77 4.4BSD ADD NLM_F_CREATE|NLM_F_EXCL
74 4.4BSD CHANGE NLM_F_REPLACE78 4.4BSD CHANGE NLM_F_REPLACE
@@ -101,6 +105,37 @@ struct nlmsghdr { · 26 unmodified lines
101struct nlmsgerr {105struct nlmsgerr {
102 int error;106 int error;
103 struct nlmsghdr msg;107 struct nlmsghdr msg;
108 /*
109 * followed by the message contents unless NETLINK_CAP_ACK was set
110 * or the ACK indicates success (error == 0)
111 * message length is aligned with NLMSG_ALIGN()
112 */
113 /*
114 * followed by TLVs defined in enum nlmsgerr_attrs
115 * if NETLINK_EXT_ACK was set
116 */
117};
118
119/**
120 * enum nlmsgerr_attrs - nlmsgerr attributes
121 * @NLMSGERR_ATTR_UNUSED: unused
122 * @NLMSGERR_ATTR_MSG: error message string (string)
123 * @NLMSGERR_ATTR_OFFS: offset of the invalid attribute in the original
124 * message, counting from the beginning of the header (u32)
125 * @NLMSGERR_ATTR_COOKIE: arbitrary subsystem specific cookie to
126 * be used - in the success case - to identify a created
127 * object or operation or similar (binary)
128 * @__NLMSGERR_ATTR_MAX: number of attributes
129 * @NLMSGERR_ATTR_MAX: highest attribute number
130 */
131enum nlmsgerr_attrs {
132 NLMSGERR_ATTR_UNUSED,
133 NLMSGERR_ATTR_MSG,
134 NLMSGERR_ATTR_OFFS,
135 NLMSGERR_ATTR_COOKIE,
136
137 __NLMSGERR_ATTR_MAX,
138 NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1
104};139};
105 140
106#define NETLINK_ADD_MEMBERSHIP 1141#define NETLINK_ADD_MEMBERSHIP 1
@@ -115,6 +150,7 @@ struct nlmsgerr { · 8 unmodified lines
115#define NETLINK_LISTEN_ALL_NSID 8150#define NETLINK_LISTEN_ALL_NSID 8
116#define NETLINK_LIST_MEMBERSHIPS 9151#define NETLINK_LIST_MEMBERSHIPS 9
117#define NETLINK_CAP_ACK 10152#define NETLINK_CAP_ACK 10
153#define NETLINK_EXT_ACK 11
118 154
119struct nl_pktinfo {155struct nl_pktinfo {
120 __u32 group;156 __u32 group;
include/uapi/linux/netlink_diag.h+10−0
@@ -38,6 +38,7 @@ enum { · 37 unmodified lines
38 NETLINK_DIAG_GROUPS,38 NETLINK_DIAG_GROUPS,
39 NETLINK_DIAG_RX_RING,39 NETLINK_DIAG_RX_RING,
40 NETLINK_DIAG_TX_RING,40 NETLINK_DIAG_TX_RING,
41 NETLINK_DIAG_FLAGS,
41 42
42 __NETLINK_DIAG_MAX,43 __NETLINK_DIAG_MAX,
43};44};
@@ -52,5 +53,14 @@ enum { · 8 unmodified lines
52/* deprecated since 4.6 */53/* deprecated since 4.6 */
53#define NDIAG_SHOW_RING_CFG 0x00000004 /* show ring configuration */54#define NDIAG_SHOW_RING_CFG 0x00000004 /* show ring configuration */
54#endif55#endif
56#define NDIAG_SHOW_FLAGS 0x00000008 /* show flags of a netlink socket */
57
58/* flags */
59#define NDIAG_FLAG_CB_RUNNING 0x00000001
60#define NDIAG_FLAG_PKTINFO 0x00000002
61#define NDIAG_FLAG_BROADCAST_ERROR 0x00000004
62#define NDIAG_FLAG_NO_ENOBUFS 0x00000008
63#define NDIAG_FLAG_LISTEN_ALL_NSID 0x00000010
64#define NDIAG_FLAG_CAP_ACK 0x00000020
55 65
56#endif66#endif
include/uapi/linux/nl80211.h+111−5
@@ -172,6 +172,42 @@ · 171 unmodified lines
172 * Multiple such rules can be created.172 * Multiple such rules can be created.
173 */173 */
174 174
175/**
176 * DOC: FILS shared key authentication offload
177 *
178 * FILS shared key authentication offload can be advertized by drivers by
179 * setting @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD flag. The drivers that support
180 * FILS shared key authentication offload should be able to construct the
181 * authentication and association frames for FILS shared key authentication and
182 * eventually do a key derivation as per IEEE 802.11ai. The below additional
183 * parameters should be given to driver in %NL80211_CMD_CONNECT.
184 * %NL80211_ATTR_FILS_ERP_USERNAME - used to construct keyname_nai
185 * %NL80211_ATTR_FILS_ERP_REALM - used to construct keyname_nai
186 * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used to construct erp message
187 * %NL80211_ATTR_FILS_ERP_RRK - used to generate the rIK and rMSK
188 * rIK should be used to generate an authentication tag on the ERP message and
189 * rMSK should be used to derive a PMKSA.
190 * rIK, rMSK should be generated and keyname_nai, sequence number should be used
191 * as specified in IETF RFC 6696.
192 *
193 * When FILS shared key authentication is completed, driver needs to provide the
194 * below additional parameters to userspace.
195 * %NL80211_ATTR_FILS_KEK - used for key renewal
196 * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used in further EAP-RP exchanges
197 * %NL80211_ATTR_PMKID - used to identify the PMKSA used/generated
198 * %Nl80211_ATTR_PMK - used to update PMKSA cache in userspace
199 * The PMKSA can be maintained in userspace persistently so that it can be used
200 * later after reboots or wifi turn off/on also.
201 *
202 * %NL80211_ATTR_FILS_CACHE_ID is the cache identifier advertized by a FILS
203 * capable AP supporting PMK caching. It specifies the scope within which the
204 * PMKSAs are cached in an ESS. %NL80211_CMD_SET_PMKSA and
205 * %NL80211_CMD_DEL_PMKSA are enhanced to allow support for PMKSA caching based
206 * on FILS cache identifier. Additionally %NL80211_ATTR_PMK is used with
207 * %NL80211_SET_PMKSA to specify the PMK corresponding to a PMKSA for driver to
208 * use in a FILS shared key connection with PMKSA caching.
209 */
210
175/**211/**
176 * enum nl80211_commands - supported nl80211 commands212 * enum nl80211_commands - supported nl80211 commands
177 *213 *
@@ -351,7 +387,9 @@ · 173 unmodified lines
351 * are used. Extra IEs can also be passed from the userspace by387 * are used. Extra IEs can also be passed from the userspace by
352 * using the %NL80211_ATTR_IE attribute. The first cycle of the388 * using the %NL80211_ATTR_IE attribute. The first cycle of the
353 * scheduled scan can be delayed by %NL80211_ATTR_SCHED_SCAN_DELAY389 * scheduled scan can be delayed by %NL80211_ATTR_SCHED_SCAN_DELAY
354 * is supplied.390 * is supplied. If the device supports multiple concurrent scheduled
391 * scans, it will allow such when the caller provides the flag attribute
392 * %NL80211_ATTR_SCHED_SCAN_MULTI to indicate user-space support for it.
355 * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT if393 * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT if
356 * scheduled scan is not running. The caller may assume that as soon394 * scheduled scan is not running. The caller may assume that as soon
357 * as the call returns, it is safe to start a new scheduled scan again.395 * as the call returns, it is safe to start a new scheduled scan again.
@@ -370,10 +408,18 @@ · 12 unmodified lines
370 * @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to408 * @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to
371 * NL80211_CMD_GET_SURVEY and on the "scan" multicast group)409 * NL80211_CMD_GET_SURVEY and on the "scan" multicast group)
372 *410 *
373 * @NL80211_CMD_SET_PMKSA: Add a PMKSA cache entry, using %NL80211_ATTR_MAC411 * @NL80211_CMD_SET_PMKSA: Add a PMKSA cache entry using %NL80211_ATTR_MAC
374 * (for the BSSID) and %NL80211_ATTR_PMKID.412 * (for the BSSID), %NL80211_ATTR_PMKID, and optionally %NL80211_ATTR_PMK
413 * (PMK is used for PTKSA derivation in case of FILS shared key offload) or
414 * using %NL80211_ATTR_SSID, %NL80211_ATTR_FILS_CACHE_ID,
415 * %NL80211_ATTR_PMKID, and %NL80211_ATTR_PMK in case of FILS
416 * authentication where %NL80211_ATTR_FILS_CACHE_ID is the identifier
417 * advertized by a FILS capable AP identifying the scope of PMKSA in an
418 * ESS.
375 * @NL80211_CMD_DEL_PMKSA: Delete a PMKSA cache entry, using %NL80211_ATTR_MAC419 * @NL80211_CMD_DEL_PMKSA: Delete a PMKSA cache entry, using %NL80211_ATTR_MAC
376 * (for the BSSID) and %NL80211_ATTR_PMKID.420 * (for the BSSID) and %NL80211_ATTR_PMKID or using %NL80211_ATTR_SSID,
421 * %NL80211_ATTR_FILS_CACHE_ID, and %NL80211_ATTR_PMKID in case of FILS
422 * authentication.
377 * @NL80211_CMD_FLUSH_PMKSA: Flush all PMKSA cache entries.423 * @NL80211_CMD_FLUSH_PMKSA: Flush all PMKSA cache entries.
378 *424 *
379 * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain425 * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain
@@ -2012,6 +2058,36 @@ enum nl80211_commands { · 1632 unmodified lines
2012 * u32 attribute with an &enum nl80211_timeout_reason value. This is used,2058 * u32 attribute with an &enum nl80211_timeout_reason value. This is used,
2013 * e.g., with %NL80211_CMD_CONNECT event.2059 * e.g., with %NL80211_CMD_CONNECT event.
2014 *2060 *
2061 * @NL80211_ATTR_FILS_ERP_USERNAME: EAP Re-authentication Protocol (ERP)
2062 * username part of NAI used to refer keys rRK and rIK. This is used with
2063 * %NL80211_CMD_CONNECT.
2064 *
2065 * @NL80211_ATTR_FILS_ERP_REALM: EAP Re-authentication Protocol (ERP) realm part
2066 * of NAI specifying the domain name of the ER server. This is used with
2067 * %NL80211_CMD_CONNECT.
2068 *
2069 * @NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM: Unsigned 16-bit ERP next sequence number
2070 * to use in ERP messages. This is used in generating the FILS wrapped data
2071 * for FILS authentication and is used with %NL80211_CMD_CONNECT.
2072 *
2073 * @NL80211_ATTR_FILS_ERP_RRK: ERP re-authentication Root Key (rRK) for the
2074 * NAI specified by %NL80211_ATTR_FILS_ERP_USERNAME and
2075 * %NL80211_ATTR_FILS_ERP_REALM. This is used for generating rIK and rMSK
2076 * from successful FILS authentication and is used with
2077 * %NL80211_CMD_CONNECT.
2078 *
2079 * @NL80211_ATTR_FILS_CACHE_ID: A 2-octet identifier advertized by a FILS AP
2080 * identifying the scope of PMKSAs. This is used with
2081 * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA.
2082 *
2083 * @NL80211_ATTR_PMK: PMK for the PMKSA identified by %NL80211_ATTR_PMKID.
2084 * This is used with @NL80211_CMD_SET_PMKSA.
2085 *
2086 * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to
2087 * indicate that it supports multiple active scheduled scan requests.
2088 * @NL80211_ATTR_SCHED_SCAN_MAX_REQS: indicates maximum number of scheduled
2089 * scan request that may be active for the device (u32).
2090 *
2015 * @NUM_NL80211_ATTR: total number of nl80211_attrs available2091 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2016 * @NL80211_ATTR_MAX: highest attribute number currently defined2092 * @NL80211_ATTR_MAX: highest attribute number currently defined
2017 * @__NL80211_ATTR_AFTER_LAST: internal use2093 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2423,6 +2499,17 @@ enum nl80211_attrs { · 405 unmodified lines
2423 2499
2424 NL80211_ATTR_TIMEOUT_REASON,2500 NL80211_ATTR_TIMEOUT_REASON,
2425 2501
2502 NL80211_ATTR_FILS_ERP_USERNAME,
2503 NL80211_ATTR_FILS_ERP_REALM,
2504 NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM,
2505 NL80211_ATTR_FILS_ERP_RRK,
2506 NL80211_ATTR_FILS_CACHE_ID,
2507
2508 NL80211_ATTR_PMK,
2509
2510 NL80211_ATTR_SCHED_SCAN_MULTI,
2511 NL80211_ATTR_SCHED_SCAN_MAX_REQS,
2512
2426 /* add attributes here, update the policy in nl80211.c */2513 /* add attributes here, update the policy in nl80211.c */
2427 2514
2428 __NL80211_ATTR_AFTER_LAST,2515 __NL80211_ATTR_AFTER_LAST,
@@ -3107,6 +3194,7 @@ enum nl80211_reg_rule_attr { · 678 unmodified lines
3107 * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved3194 * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved
3108 * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching,3195 * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching,
3109 * only report BSS with matching SSID.3196 * only report BSS with matching SSID.
3197 * (This cannot be used together with BSSID.)
3110 * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI: RSSI threshold (in dBm) for reporting a3198 * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI: RSSI threshold (in dBm) for reporting a
3111 * BSS in scan results. Filtering is turned off if not specified. Note that3199 * BSS in scan results. Filtering is turned off if not specified. Note that
3112 * if this attribute is in a match set of its own, then it is treated as3200 * if this attribute is in a match set of its own, then it is treated as
@@ -3122,6 +3210,8 @@ enum nl80211_reg_rule_attr { · 9 unmodified lines
3122 * BSS-es in the specified band is to be adjusted before doing3210 * BSS-es in the specified band is to be adjusted before doing
3123 * RSSI-based BSS selection. The attribute value is a packed structure3211 * RSSI-based BSS selection. The attribute value is a packed structure
3124 * value as specified by &struct nl80211_bss_select_rssi_adjust.3212 * value as specified by &struct nl80211_bss_select_rssi_adjust.
3213 * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching
3214 * (this cannot be used together with SSID).
3125 * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter3215 * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
3126 * attribute number currently defined3216 * attribute number currently defined
3127 * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use3217 * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
@@ -3133,6 +3223,7 @@ enum nl80211_sched_scan_match_attr { · 5 unmodified lines
3133 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI,3223 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI,
3134 NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI,3224 NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI,
3135 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST,3225 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST,
3226 NL80211_SCHED_SCAN_MATCH_ATTR_BSSID,
3136 3227
3137 /* keep last */3228 /* keep last */
3138 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,3229 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
@@ -3942,7 +4033,10 @@ enum nl80211_ps_state { · 803 unmodified lines
3942 * @__NL80211_ATTR_CQM_INVALID: invalid4033 * @__NL80211_ATTR_CQM_INVALID: invalid
3943 * @NL80211_ATTR_CQM_RSSI_THOLD: RSSI threshold in dBm. This value specifies4034 * @NL80211_ATTR_CQM_RSSI_THOLD: RSSI threshold in dBm. This value specifies
3944 * the threshold for the RSSI level at which an event will be sent. Zero4035 * the threshold for the RSSI level at which an event will be sent. Zero
3945 * to disable.4036 * to disable. Alternatively, if %NL80211_EXT_FEATURE_CQM_RSSI_LIST is
4037 * set, multiple values can be supplied as a low-to-high sorted array of
4038 * threshold values in dBm. Events will be sent when the RSSI value
4039 * crosses any of the thresholds.
3946 * @NL80211_ATTR_CQM_RSSI_HYST: RSSI hysteresis in dBm. This value specifies4040 * @NL80211_ATTR_CQM_RSSI_HYST: RSSI hysteresis in dBm. This value specifies
3947 * the minimum amount the RSSI level must change after an event before a4041 * the minimum amount the RSSI level must change after an event before a
3948 * new event may be issued (to reduce effects of RSSI oscillation).4042 * new event may be issued (to reduce effects of RSSI oscillation).
@@ -4753,6 +4847,11 @@ enum nl80211_feature_flags { · 804 unmodified lines
4753 * @NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI: The driver supports sched_scan4847 * @NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI: The driver supports sched_scan
4754 * for reporting BSSs with better RSSI than the current connected BSS4848 * for reporting BSSs with better RSSI than the current connected BSS
4755 * (%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI).4849 * (%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI).
4850 * @NL80211_EXT_FEATURE_CQM_RSSI_LIST: With this driver the
4851 * %NL80211_ATTR_CQM_RSSI_THOLD attribute accepts a list of zero or more
4852 * RSSI threshold values to monitor rather than exactly one threshold.
4853 * @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD: Driver SME supports FILS shared key
4854 * authentication with %NL80211_CMD_CONNECT.
4756 *4855 *
4757 * @NUM_NL80211_EXT_FEATURES: number of extended features.4856 * @NUM_NL80211_EXT_FEATURES: number of extended features.
4758 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.4857 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -4771,6 +4870,8 @@ enum nl80211_ext_feature_index { · 12 unmodified lines
4771 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA,4870 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA,
4772 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED,4871 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED,
4773 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI,4872 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI,
4873 NL80211_EXT_FEATURE_CQM_RSSI_LIST,
4874 NL80211_EXT_FEATURE_FILS_SK_OFFLOAD,
4774 4875
4775 /* add new features before the definition below */4876 /* add new features before the definition below */
4776 NUM_NL80211_EXT_FEATURES,4877 NUM_NL80211_EXT_FEATURES,
@@ -4906,12 +5007,17 @@ enum nl80211_smps_mode { · 129 unmodified lines
4906 * change to the channel status.5007 * change to the channel status.
4907 * @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is5008 * @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is
4908 * over, channel becomes usable.5009 * over, channel becomes usable.
5010 * @NL80211_RADAR_PRE_CAC_EXPIRED: Channel Availability Check done on this
5011 * non-operating channel is expired and no longer valid. New CAC must
5012 * be done on this channel before starting the operation. This is not
5013 * applicable for ETSI dfs domain where pre-CAC is valid for ever.
4909 */5014 */
4910enum nl80211_radar_event {5015enum nl80211_radar_event {
4911 NL80211_RADAR_DETECTED,5016 NL80211_RADAR_DETECTED,
4912 NL80211_RADAR_CAC_FINISHED,5017 NL80211_RADAR_CAC_FINISHED,
4913 NL80211_RADAR_CAC_ABORTED,5018 NL80211_RADAR_CAC_ABORTED,
4914 NL80211_RADAR_NOP_FINISHED,5019 NL80211_RADAR_NOP_FINISHED,
5020 NL80211_RADAR_PRE_CAC_EXPIRED,
4915};5021};
4916 5022
4917/**5023/**
include/uapi/linux/openvswitch.h+27−0
@@ -578,10 +578,25 @@ enum ovs_sample_attr { · 577 unmodified lines
578 OVS_SAMPLE_ATTR_PROBABILITY, /* u32 number */578 OVS_SAMPLE_ATTR_PROBABILITY, /* u32 number */
579 OVS_SAMPLE_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */579 OVS_SAMPLE_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */
580 __OVS_SAMPLE_ATTR_MAX,580 __OVS_SAMPLE_ATTR_MAX,
581
582#ifdef __KERNEL__
583 OVS_SAMPLE_ATTR_ARG /* struct sample_arg */
584#endif
581};585};
582 586
583#define OVS_SAMPLE_ATTR_MAX (__OVS_SAMPLE_ATTR_MAX - 1)587#define OVS_SAMPLE_ATTR_MAX (__OVS_SAMPLE_ATTR_MAX - 1)
584 588
589#ifdef __KERNEL__
590struct sample_arg {
591 bool exec; /* When true, actions in sample will not
592 * change flow keys. False otherwise.
593 */
594 u32 probability; /* Same value as
595 * 'OVS_SAMPLE_ATTR_PROBABILITY'.
596 */
597};
598#endif
599
585/**600/**
586 * enum ovs_userspace_attr - Attributes for %OVS_ACTION_ATTR_USERSPACE action.601 * enum ovs_userspace_attr - Attributes for %OVS_ACTION_ATTR_USERSPACE action.
587 * @OVS_USERSPACE_ATTR_PID: u32 Netlink PID to which the %OVS_PACKET_CMD_ACTION602 * @OVS_USERSPACE_ATTR_PID: u32 Netlink PID to which the %OVS_PACKET_CMD_ACTION
@@ -678,6 +693,17 @@ struct ovs_action_hash { · 90 unmodified lines
678 * nothing if the connection is already committed will check that the current693 * nothing if the connection is already committed will check that the current
679 * packet is in conntrack entry's original direction. If directionality does694 * packet is in conntrack entry's original direction. If directionality does
680 * not match, will delete the existing conntrack entry and commit a new one.695 * not match, will delete the existing conntrack entry and commit a new one.
696 * @OVS_CT_ATTR_EVENTMASK: Mask of bits indicating which conntrack event types
697 * (enum ip_conntrack_events IPCT_*) should be reported. For any bit set to
698 * zero, the corresponding event type is not generated. Default behavior
699 * depends on system configuration, but typically all event types are
700 * generated, hence listening on NFNLGRP_CONNTRACK_UPDATE events may get a lot
701 * of events. Explicitly passing this attribute allows limiting the updates
702 * received to the events of interest. The bit 1 << IPCT_NEW, 1 <<
703 * IPCT_RELATED, and 1 << IPCT_DESTROY must be set to ones for those events to
704 * be received on NFNLGRP_CONNTRACK_NEW and NFNLGRP_CONNTRACK_DESTROY groups,
705 * respectively. Remaining bits control the changes for which an event is
706 * delivered on the NFNLGRP_CONNTRACK_UPDATE group.
681 */707 */
682enum ovs_ct_attr {708enum ovs_ct_attr {
683 OVS_CT_ATTR_UNSPEC,709 OVS_CT_ATTR_UNSPEC,
@@ -689,6 +715,7 @@ enum ovs_ct_attr { · 5 unmodified lines
689 related connections. */715 related connections. */
690 OVS_CT_ATTR_NAT, /* Nested OVS_NAT_ATTR_* */716 OVS_CT_ATTR_NAT, /* Nested OVS_NAT_ATTR_* */
691 OVS_CT_ATTR_FORCE_COMMIT, /* No argument */717 OVS_CT_ATTR_FORCE_COMMIT, /* No argument */
718 OVS_CT_ATTR_EVENTMASK, /* u32 mask of IPCT_* events. */
692 __OVS_CT_ATTR_MAX719 __OVS_CT_ATTR_MAX
693};720};
694 721
include/uapi/linux/pkt_cls.h+19−1
@@ -37,7 +37,20 @@ enum { · 36 unmodified lines
37#define TC_ACT_QUEUED 537#define TC_ACT_QUEUED 5
38#define TC_ACT_REPEAT 638#define TC_ACT_REPEAT 6
39#define TC_ACT_REDIRECT 739#define TC_ACT_REDIRECT 7
40#define TC_ACT_JUMP 0x1000000040
41/* There is a special kind of actions called "extended actions",
42 * which need a value parameter. These have a local opcode located in
43 * the highest nibble, starting from 1. The rest of the bits
44 * are used to carry the value. These two parts together make
45 * a combined opcode.
46 */
47#define __TC_ACT_EXT_SHIFT 28
48#define __TC_ACT_EXT(local) ((local) << __TC_ACT_EXT_SHIFT)
49#define TC_ACT_EXT_VAL_MASK ((1 << __TC_ACT_EXT_SHIFT) - 1)
50#define TC_ACT_EXT_CMP(combined, opcode) \
51 (((combined) & (~TC_ACT_EXT_VAL_MASK)) == opcode)
52
53#define TC_ACT_JUMP __TC_ACT_EXT(1)
41 54
42/* Action type identifiers*/55/* Action type identifiers*/
43enum {56enum {
@@ -432,6 +445,11 @@ enum { · 388 unmodified lines
432 TCA_FLOWER_KEY_ARP_THA, /* ETH_ALEN */445 TCA_FLOWER_KEY_ARP_THA, /* ETH_ALEN */
433 TCA_FLOWER_KEY_ARP_THA_MASK, /* ETH_ALEN */446 TCA_FLOWER_KEY_ARP_THA_MASK, /* ETH_ALEN */
434 447
448 TCA_FLOWER_KEY_MPLS_TTL, /* u8 - 8 bits */
449 TCA_FLOWER_KEY_MPLS_BOS, /* u8 - 1 bit */
450 TCA_FLOWER_KEY_MPLS_TC, /* u8 - 3 bits */
451 TCA_FLOWER_KEY_MPLS_LABEL, /* be32 - 20 bits */
452
435 __TCA_FLOWER_MAX,453 __TCA_FLOWER_MAX,
436};454};
437 455
include/uapi/linux/pkt_sched.h+8−0
@@ -617,6 +617,14 @@ struct tc_drr_stats { · 616 unmodified lines
617#define TC_QOPT_BITMASK 15617#define TC_QOPT_BITMASK 15
618#define TC_QOPT_MAX_QUEUE 16618#define TC_QOPT_MAX_QUEUE 16
619 619
620enum {
621 TC_MQPRIO_HW_OFFLOAD_NONE, /* no offload requested */
622 TC_MQPRIO_HW_OFFLOAD_TCS, /* offload TCs, no queue counts */
623 __TC_MQPRIO_HW_OFFLOAD_MAX
624};
625
626#define TC_MQPRIO_HW_OFFLOAD_MAX (__TC_MQPRIO_HW_OFFLOAD_MAX - 1)
627
620struct tc_mqprio_qopt {628struct tc_mqprio_qopt {
621 __u8 num_tc;629 __u8 num_tc;
622 __u8 prio_tc_map[TC_QOPT_BITMASK + 1];630 __u8 prio_tc_map[TC_QOPT_BITMASK + 1];
include/uapi/linux/rtnetlink.h+4−0
@@ -122,6 +122,8 @@ enum { · 121 unmodified lines
122 122
123 RTM_NEWNETCONF = 80,123 RTM_NEWNETCONF = 80,
124#define RTM_NEWNETCONF RTM_NEWNETCONF124#define RTM_NEWNETCONF RTM_NEWNETCONF
125 RTM_DELNETCONF,
126#define RTM_DELNETCONF RTM_DELNETCONF
125 RTM_GETNETCONF = 82,127 RTM_GETNETCONF = 82,
126#define RTM_GETNETCONF RTM_GETNETCONF128#define RTM_GETNETCONF RTM_GETNETCONF
127 129
@@ -319,6 +321,7 @@ enum rtattr_type_t { · 191 unmodified lines
319 RTA_EXPIRES,321 RTA_EXPIRES,
320 RTA_PAD,322 RTA_PAD,
321 RTA_UID,323 RTA_UID,
324 RTA_TTL_PROPAGATE,
322 __RTA_MAX325 __RTA_MAX
323};326};
324 327
@@ -545,6 +548,7 @@ enum { · 220 unmodified lines
545 TCA_STATS2,548 TCA_STATS2,
546 TCA_STAB,549 TCA_STAB,
547 TCA_PAD,550 TCA_PAD,
551 TCA_DUMP_INVISIBLE,
548 __TCA_MAX552 __TCA_MAX
549};553};
550 554
include/uapi/linux/sctp.h+32−0
@@ -115,6 +115,8 @@ typedef __s32 sctp_assoc_t; · 114 unmodified lines
115#define SCTP_PR_SUPPORTED 113115#define SCTP_PR_SUPPORTED 113
116#define SCTP_DEFAULT_PRINFO 114116#define SCTP_DEFAULT_PRINFO 114
117#define SCTP_PR_ASSOC_STATUS 115117#define SCTP_PR_ASSOC_STATUS 115
118#define SCTP_PR_STREAM_STATUS 116
119#define SCTP_RECONFIG_SUPPORTED 117
118#define SCTP_ENABLE_STREAM_RESET 118120#define SCTP_ENABLE_STREAM_RESET 118
119#define SCTP_RESET_STREAMS 119121#define SCTP_RESET_STREAMS 119
120#define SCTP_RESET_ASSOC 120122#define SCTP_RESET_ASSOC 120
@@ -502,6 +504,28 @@ struct sctp_stream_reset_event { · 381 unmodified lines
502 __u16 strreset_stream_list[];504 __u16 strreset_stream_list[];
503};505};
504 506
507#define SCTP_ASSOC_RESET_DENIED 0x0004
508#define SCTP_ASSOC_RESET_FAILED 0x0008
509struct sctp_assoc_reset_event {
510 __u16 assocreset_type;
511 __u16 assocreset_flags;
512 __u32 assocreset_length;
513 sctp_assoc_t assocreset_assoc_id;
514 __u32 assocreset_local_tsn;
515 __u32 assocreset_remote_tsn;
516};
517
518#define SCTP_ASSOC_CHANGE_DENIED 0x0004
519#define SCTP_ASSOC_CHANGE_FAILED 0x0008
520struct sctp_stream_change_event {
521 __u16 strchange_type;
522 __u16 strchange_flags;
523 __u32 strchange_length;
524 sctp_assoc_t strchange_assoc_id;
525 __u16 strchange_instrms;
526 __u16 strchange_outstrms;
527};
528
505/*529/*
506 * Described in Section 7.3530 * Described in Section 7.3
507 * Ancillary Data and Notification Interest Options531 * Ancillary Data and Notification Interest Options
@@ -518,6 +542,8 @@ struct sctp_event_subscribe { · 10 unmodified lines
518 __u8 sctp_authentication_event;542 __u8 sctp_authentication_event;
519 __u8 sctp_sender_dry_event;543 __u8 sctp_sender_dry_event;
520 __u8 sctp_stream_reset_event;544 __u8 sctp_stream_reset_event;
545 __u8 sctp_assoc_reset_event;
546 __u8 sctp_stream_change_event;
521};547};
522 548
523/*549/*
@@ -543,6 +569,8 @@ union sctp_notification { · 19 unmodified lines
543 struct sctp_authkey_event sn_authkey_event;569 struct sctp_authkey_event sn_authkey_event;
544 struct sctp_sender_dry_event sn_sender_dry_event;570 struct sctp_sender_dry_event sn_sender_dry_event;
545 struct sctp_stream_reset_event sn_strreset_event;571 struct sctp_stream_reset_event sn_strreset_event;
572 struct sctp_assoc_reset_event sn_assocreset_event;
573 struct sctp_stream_change_event sn_strchange_event;
546};574};
547 575
548/* Section 5.3.1576/* Section 5.3.1
@@ -572,6 +600,10 @@ enum sctp_sn_type { · 23 unmodified lines
572#define SCTP_SENDER_DRY_EVENT SCTP_SENDER_DRY_EVENT600#define SCTP_SENDER_DRY_EVENT SCTP_SENDER_DRY_EVENT
573 SCTP_STREAM_RESET_EVENT,601 SCTP_STREAM_RESET_EVENT,
574#define SCTP_STREAM_RESET_EVENT SCTP_STREAM_RESET_EVENT602#define SCTP_STREAM_RESET_EVENT SCTP_STREAM_RESET_EVENT
603 SCTP_ASSOC_RESET_EVENT,
604#define SCTP_ASSOC_RESET_EVENT SCTP_ASSOC_RESET_EVENT
605 SCTP_STREAM_CHANGE_EVENT,
606#define SCTP_STREAM_CHANGE_EVENT SCTP_STREAM_CHANGE_EVENT
575};607};
576 608
577/* Notification error codes used to fill up the error fields in some609/* Notification error codes used to fill up the error fields in some
include/uapi/linux/snmp.h+1−1
@@ -177,7 +177,6 @@ enum · 176 unmodified lines
177 LINUX_MIB_TIMEWAITED, /* TimeWaited */177 LINUX_MIB_TIMEWAITED, /* TimeWaited */
178 LINUX_MIB_TIMEWAITRECYCLED, /* TimeWaitRecycled */178 LINUX_MIB_TIMEWAITRECYCLED, /* TimeWaitRecycled */
179 LINUX_MIB_TIMEWAITKILLED, /* TimeWaitKilled */179 LINUX_MIB_TIMEWAITKILLED, /* TimeWaitKilled */
180 LINUX_MIB_PAWSPASSIVEREJECTED, /* PAWSPassiveRejected */
181 LINUX_MIB_PAWSACTIVEREJECTED, /* PAWSActiveRejected */180 LINUX_MIB_PAWSACTIVEREJECTED, /* PAWSActiveRejected */
182 LINUX_MIB_PAWSESTABREJECTED, /* PAWSEstabRejected */181 LINUX_MIB_PAWSESTABREJECTED, /* PAWSEstabRejected */
183 LINUX_MIB_DELAYEDACKS, /* DelayedACKs */182 LINUX_MIB_DELAYEDACKS, /* DelayedACKs */
@@ -260,6 +259,7 @@ enum · 76 unmodified lines
260 LINUX_MIB_TCPFASTOPENPASSIVEFAIL, /* TCPFastOpenPassiveFail */259 LINUX_MIB_TCPFASTOPENPASSIVEFAIL, /* TCPFastOpenPassiveFail */
261 LINUX_MIB_TCPFASTOPENLISTENOVERFLOW, /* TCPFastOpenListenOverflow */260 LINUX_MIB_TCPFASTOPENLISTENOVERFLOW, /* TCPFastOpenListenOverflow */
262 LINUX_MIB_TCPFASTOPENCOOKIEREQD, /* TCPFastOpenCookieReqd */261 LINUX_MIB_TCPFASTOPENCOOKIEREQD, /* TCPFastOpenCookieReqd */
262 LINUX_MIB_TCPFASTOPENBLACKHOLE, /* TCPFastOpenBlackholeDetect */
263 LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */263 LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */
264 LINUX_MIB_BUSYPOLLRXPACKETS, /* BusyPollRxPackets */264 LINUX_MIB_BUSYPOLLRXPACKETS, /* BusyPollRxPackets */
265 LINUX_MIB_TCPAUTOCORKING, /* TCPAutoCorking */265 LINUX_MIB_TCPAUTOCORKING, /* TCPAutoCorking */
include/uapi/linux/sysctl.h+1−0
@@ -568,6 +568,7 @@ enum { · 567 unmodified lines
568 NET_IPV6_PROXY_NDP=23,568 NET_IPV6_PROXY_NDP=23,
569 NET_IPV6_ACCEPT_SOURCE_ROUTE=25,569 NET_IPV6_ACCEPT_SOURCE_ROUTE=25,
570 NET_IPV6_ACCEPT_RA_FROM_LOCAL=26,570 NET_IPV6_ACCEPT_RA_FROM_LOCAL=26,
571 NET_IPV6_ACCEPT_RA_RT_INFO_MIN_PLEN=27,
571 __NET_IPV6_MAX572 __NET_IPV6_MAX
572};573};
573 574
include/uapi/linux/vsockmon.h+60−0
@@ -0,0 +1,60 @@
1#ifndef _UAPI_VSOCKMON_H
2#define _UAPI_VSOCKMON_H
3
4#include <linux/virtio_vsock.h>
5
6/*
7 * vsockmon is the AF_VSOCK packet capture device. Packets captured have the
8 * following layout:
9 *
10 * +-----------------------------------+
11 * | vsockmon header |
12 * | (struct af_vsockmon_hdr) |
13 * +-----------------------------------+
14 * | transport header |
15 * | (af_vsockmon_hdr->len bytes long) |
16 * +-----------------------------------+
17 * | payload |
18 * | (until end of packet) |
19 * +-----------------------------------+
20 *
21 * The vsockmon header is a transport-independent description of the packet.
22 * It duplicates some of the information from the transport header so that
23 * no transport-specific knowledge is necessary to process packets.
24 *
25 * The transport header is useful for low-level transport-specific packet
26 * analysis. Transport type is given in af_vsockmon_hdr->transport and
27 * transport header length is given in af_vsockmon_hdr->len.
28 *
29 * If af_vsockmon_hdr->op is AF_VSOCK_OP_PAYLOAD then the payload follows the
30 * transport header. Other ops do not have a payload.
31 */
32
33struct af_vsockmon_hdr {
34 __le64 src_cid;
35 __le64 dst_cid;
36 __le32 src_port;
37 __le32 dst_port;
38 __le16 op; /* enum af_vsockmon_op */
39 __le16 transport; /* enum af_vsockmon_transport */
40 __le16 len; /* Transport header length */
41 __u8 reserved[2];
42};
43
44enum af_vsockmon_op {
45 AF_VSOCK_OP_UNKNOWN = 0,
46 AF_VSOCK_OP_CONNECT = 1,
47 AF_VSOCK_OP_DISCONNECT = 2,
48 AF_VSOCK_OP_CONTROL = 3,
49 AF_VSOCK_OP_PAYLOAD = 4,
50};
51
52enum af_vsockmon_transport {
53 AF_VSOCK_TRANSPORT_UNKNOWN = 0,
54 AF_VSOCK_TRANSPORT_NO_INFO = 1, /* No transport information */
55
56 /* Transport header type: struct virtio_vsock_hdr */
57 AF_VSOCK_TRANSPORT_VIRTIO = 2,
58};
59
60#endif
include/uapi/linux/xfrm.h+8−0
@@ -303,6 +303,7 @@ enum xfrm_attr_type_t { · 302 unmodified lines
303 XFRMA_PROTO, /* __u8 */303 XFRMA_PROTO, /* __u8 */
304 XFRMA_ADDRESS_FILTER, /* struct xfrm_address_filter */304 XFRMA_ADDRESS_FILTER, /* struct xfrm_address_filter */
305 XFRMA_PAD,305 XFRMA_PAD,
306 XFRMA_OFFLOAD_DEV, /* struct xfrm_state_offload */
306 __XFRMA_MAX307 __XFRMA_MAX
307 308
308#define XFRMA_MAX (__XFRMA_MAX - 1)309#define XFRMA_MAX (__XFRMA_MAX - 1)
@@ -494,6 +495,13 @@ struct xfrm_address_filter { · 185 unmodified lines
494 __u8 dplen;495 __u8 dplen;
495};496};
496 497
498struct xfrm_user_offload {
499 int ifindex;
500 __u8 flags;
501};
502#define XFRM_OFFLOAD_IPV6 1
503#define XFRM_OFFLOAD_INBOUND 2
504
497#ifndef __KERNEL__505#ifndef __KERNEL__
498/* backwards compatibility for userspace */506/* backwards compatibility for userspace */
499#define XFRMGRP_ACQUIRE 1507#define XFRMGRP_ACQUIRE 1