History

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

Pull networking updates from David Miller: "Highlights: 1) Maintain the TCP retransmit queue using an rbtree, with 1GB windows at 100Gb this really has become necessary. From Eric Dumazet. 2) Multi-program support for cgroup+bpf, from Alexei Starovoitov. 3) Perform broadcast flooding in hardware in mv88e6xxx, from Andrew Lunn. 4) Add meter action support to openvswitch, from Andy Zhou. 5) Add a data meta pointer for BPF accessible packets, from Daniel Borkmann. 6) Namespace-ify almost all TCP sysctl knobs, from Eric Dumazet. 7) Turn on Broadcom Tags in b53 driver, from Florian Fainelli. 8) More work to move the RTNL mutex down, from Florian Westphal. 9) Add 'bpftool' utility, to help with bpf program introspection. From Jakub Kicinski. 10) Add new 'cpumap' type for XDP_REDIRECT action, from Jesper Dangaard Brouer. 11) Support 'blocks' of transformations in the packet scheduler which can span multiple network devices, from Jiri Pirko. 12) TC flower offload support in cxgb4, from Kumar Sanghvi. 13) Priority based stream scheduler for SCTP, from Marcelo Ricardo Leitner. 14) Thunderbolt networking driver, from Amir Levy and Mika Westerberg. 15) Add RED qdisc offloadability, and use it in mlxsw driver. From Nogah Frankel. 16) eBPF based device controller for cgroup v2, from Roman Gushchin. 17) Add some fundamental tracepoints for TCP, from Song Liu. 18) Remove garbage collection from ipv6 route layer, this is a significant accomplishment. From Wei Wang. 19) Add multicast route offload support to mlxsw, from Yotam Gigi" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2177 commits) tcp: highest_sack fix geneve: fix fill_info when link down bpf: fix lockdep splat net: cdc_ncm: GetNtbFormat endian fix openvswitch: meter: fix NULL pointer dereference in ovs_meter_cmd_reply_start netem: remove unnecessary 64 bit modulus netem: use 64 bit divide by rate tcp: Namespace-ify sysctl_tcp_default_congestion_control net: Protect iterations over net::fib_notifier_ops in fib_seq_sum() ipv6: set all.accept_dad to 0 by default uapi: fix linux/tls.h userspace compilation error usbnet: ipheth: prevent TX queue timeouts when device not ready vhost_net: conditionally enable tx polling uapi: fix linux/rxrpc.h userspace compilation errors net: stmmac: fix LPI transitioning for dwmac4 atm: horizon: Fix irq release error net-sysfs: trigger netlink notification on ifalias change via sysfs openvswitch: Using kfree_rcu() to simplify the code openvswitch: Make local function ovs_nsh_key_attr_size() static openvswitch: Fix return value check in ovs_meter_cmd_features() ...

Linus Torvalds committed 8 years ago

Commit 5bbcc0f2 parents 892204e 50895b91617 files · +91535 −27255Browse files

Showing the changes to include/uapi (25 of 1617 files). Show all

Unified · Split

25 files
  1. include/uapi/linux/batman_adv.h +290 −79
  2. include/uapi/linux/bpf.h +150 −8
  3. include/uapi/linux/dcbnl.h +1 −0
  4. include/uapi/linux/if_link.h +8 −0
  5. include/uapi/linux/if_tun.h +2 −0
  6. include/uapi/linux/if_tunnel.h +1 −0
  7. include/uapi/linux/ila.h +21 −0
  8. include/uapi/linux/in6.h +1 −0
  9. include/uapi/linux/ip6_tunnel.h +2 −0
  10. include/uapi/linux/ipv6.h +1 −0
  11. include/uapi/linux/ipv6_route.h +1 −1
  12. include/uapi/linux/nfc.h +2 −0
  13. include/uapi/linux/nl80211.h +65 −17
  14. include/uapi/linux/openvswitch.h +88 −0
  15. include/uapi/linux/pkt_sched.h +63 −0
  16. include/uapi/linux/qrtr.h +35 −0
  17. include/uapi/linux/rtnetlink.h +2 −0
  18. include/uapi/linux/rxrpc.h +5 −5
  19. include/uapi/linux/sctp.h +16 −0
  20. include/uapi/linux/snmp.h +0 −1
  21. include/uapi/linux/tc_act/tc_mirred.h +3 −3
  22. include/uapi/linux/tcp.h +2 −0
  23. include/uapi/linux/tipc.h +15 −0
  24. include/uapi/linux/tls.h +0 −4
  25. include/uapi/linux/vm_sockets_diag.h +33 −0
include/uapi/linux/batman_adv.h+290−79
@@ -24,20 +24,6 @@ · 23 unmodified lines
2424
2525 /**
2626 * enum batadv_tt_client_flags - TT client specific flags
27− * @BATADV_TT_CLIENT_DEL: the client has to be deleted from the table
28− * @BATADV_TT_CLIENT_ROAM: the client roamed to/from another node and the new
29− * update telling its new real location has not been received/sent yet
30− * @BATADV_TT_CLIENT_WIFI: this client is connected through a wifi interface.
31− * This information is used by the "AP Isolation" feature
32− * @BATADV_TT_CLIENT_ISOLA: this client is considered "isolated". This
33− * information is used by the Extended Isolation feature
34− * @BATADV_TT_CLIENT_NOPURGE: this client should never be removed from the table
35− * @BATADV_TT_CLIENT_NEW: this client has been added to the local table but has
36− * not been announced yet
37− * @BATADV_TT_CLIENT_PENDING: this client is marked for removal but it is kept
38− * in the table for one more originator interval for consistency purposes
39− * @BATADV_TT_CLIENT_TEMP: this global client has been detected to be part of
40− * the network but no nnode has already announced it
4127 *
4228 * Bits from 0 to 7 are called _remote flags_ because they are sent on the wire.
4329 * Bits from 8 to 15 are called _local flags_ because they are used for local
@@ -48,160 +34,385 @@ · 4 unmodified lines
4834 * in the TT CRC computation.
4935 */
5036 enum batadv_tt_client_flags {
37+ /**
38+ * @BATADV_TT_CLIENT_DEL: the client has to be deleted from the table
39+ */
5140 BATADV_TT_CLIENT_DEL = (1 << 0),
41+
42+ /**
43+ * @BATADV_TT_CLIENT_ROAM: the client roamed to/from another node and
44+ * the new update telling its new real location has not been
45+ * received/sent yet
46+ */
5247 BATADV_TT_CLIENT_ROAM = (1 << 1),
48+
49+ /**
50+ * @BATADV_TT_CLIENT_WIFI: this client is connected through a wifi
51+ * interface. This information is used by the "AP Isolation" feature
52+ */
5353 BATADV_TT_CLIENT_WIFI = (1 << 4),
54+
55+ /**
56+ * @BATADV_TT_CLIENT_ISOLA: this client is considered "isolated". This
57+ * information is used by the Extended Isolation feature
58+ */
5459 BATADV_TT_CLIENT_ISOLA = (1 << 5),
60+
61+ /**
62+ * @BATADV_TT_CLIENT_NOPURGE: this client should never be removed from
63+ * the table
64+ */
5565 BATADV_TT_CLIENT_NOPURGE = (1 << 8),
66+
67+ /**
68+ * @BATADV_TT_CLIENT_NEW: this client has been added to the local table
69+ * but has not been announced yet
70+ */
5671 BATADV_TT_CLIENT_NEW = (1 << 9),
72+
73+ /**
74+ * @BATADV_TT_CLIENT_PENDING: this client is marked for removal but it
75+ * is kept in the table for one more originator interval for consistency
76+ * purposes
77+ */
5778 BATADV_TT_CLIENT_PENDING = (1 << 10),
79+
80+ /**
81+ * @BATADV_TT_CLIENT_TEMP: this global client has been detected to be
82+ * part of the network but no nnode has already announced it
83+ */
5884 BATADV_TT_CLIENT_TEMP = (1 << 11),
5985 };
6086
6187 /**
6288 * enum batadv_nl_attrs - batman-adv netlink attributes
63− *
64− * @BATADV_ATTR_UNSPEC: unspecified attribute to catch errors
65− * @BATADV_ATTR_VERSION: batman-adv version string
66− * @BATADV_ATTR_ALGO_NAME: name of routing algorithm
67− * @BATADV_ATTR_MESH_IFINDEX: index of the batman-adv interface
68− * @BATADV_ATTR_MESH_IFNAME: name of the batman-adv interface
69− * @BATADV_ATTR_MESH_ADDRESS: mac address of the batman-adv interface
70− * @BATADV_ATTR_HARD_IFINDEX: index of the non-batman-adv interface
71− * @BATADV_ATTR_HARD_IFNAME: name of the non-batman-adv interface
72− * @BATADV_ATTR_HARD_ADDRESS: mac address of the non-batman-adv interface
73− * @BATADV_ATTR_ORIG_ADDRESS: originator mac address
74− * @BATADV_ATTR_TPMETER_RESULT: result of run (see batadv_tp_meter_status)
75− * @BATADV_ATTR_TPMETER_TEST_TIME: time (msec) the run took
76− * @BATADV_ATTR_TPMETER_BYTES: amount of acked bytes during run
77− * @BATADV_ATTR_TPMETER_COOKIE: session cookie to match tp_meter session
78− * @BATADV_ATTR_PAD: attribute used for padding for 64-bit alignment
79− * @BATADV_ATTR_ACTIVE: Flag indicating if the hard interface is active
80− * @BATADV_ATTR_TT_ADDRESS: Client MAC address
81− * @BATADV_ATTR_TT_TTVN: Translation table version
82− * @BATADV_ATTR_TT_LAST_TTVN: Previous translation table version
83− * @BATADV_ATTR_TT_CRC32: CRC32 over translation table
84− * @BATADV_ATTR_TT_VID: VLAN ID
85− * @BATADV_ATTR_TT_FLAGS: Translation table client flags
86− * @BATADV_ATTR_FLAG_BEST: Flags indicating entry is the best
87− * @BATADV_ATTR_LAST_SEEN_MSECS: Time in milliseconds since last seen
88− * @BATADV_ATTR_NEIGH_ADDRESS: Neighbour MAC address
89− * @BATADV_ATTR_TQ: TQ to neighbour
90− * @BATADV_ATTR_THROUGHPUT: Estimated throughput to Neighbour
91− * @BATADV_ATTR_BANDWIDTH_UP: Reported uplink bandwidth
92− * @BATADV_ATTR_BANDWIDTH_DOWN: Reported downlink bandwidth
93− * @BATADV_ATTR_ROUTER: Gateway router MAC address
94− * @BATADV_ATTR_BLA_OWN: Flag indicating own originator
95− * @BATADV_ATTR_BLA_ADDRESS: Bridge loop avoidance claim MAC address
96− * @BATADV_ATTR_BLA_VID: BLA VLAN ID
97− * @BATADV_ATTR_BLA_BACKBONE: BLA gateway originator MAC address
98− * @BATADV_ATTR_BLA_CRC: BLA CRC
99− * @__BATADV_ATTR_AFTER_LAST: internal use
100− * @NUM_BATADV_ATTR: total number of batadv_nl_attrs available
101− * @BATADV_ATTR_MAX: highest attribute number currently defined
10289 */
10390 enum batadv_nl_attrs {
91+ /**
92+ * @BATADV_ATTR_UNSPEC: unspecified attribute to catch errors
93+ */
10494 BATADV_ATTR_UNSPEC,
95+
96+ /**
97+ * @BATADV_ATTR_VERSION: batman-adv version string
98+ */
10599 BATADV_ATTR_VERSION,
100+
101+ /**
102+ * @BATADV_ATTR_ALGO_NAME: name of routing algorithm
103+ */
106104 BATADV_ATTR_ALGO_NAME,
105+
106+ /**
107+ * @BATADV_ATTR_MESH_IFINDEX: index of the batman-adv interface
108+ */
107109 BATADV_ATTR_MESH_IFINDEX,
110+
111+ /**
112+ * @BATADV_ATTR_MESH_IFNAME: name of the batman-adv interface
113+ */
108114 BATADV_ATTR_MESH_IFNAME,
115+
116+ /**
117+ * @BATADV_ATTR_MESH_ADDRESS: mac address of the batman-adv interface
118+ */
109119 BATADV_ATTR_MESH_ADDRESS,
120+
121+ /**
122+ * @BATADV_ATTR_HARD_IFINDEX: index of the non-batman-adv interface
123+ */
110124 BATADV_ATTR_HARD_IFINDEX,
125+
126+ /**
127+ * @BATADV_ATTR_HARD_IFNAME: name of the non-batman-adv interface
128+ */
111129 BATADV_ATTR_HARD_IFNAME,
130+
131+ /**
132+ * @BATADV_ATTR_HARD_ADDRESS: mac address of the non-batman-adv
133+ * interface
134+ */
112135 BATADV_ATTR_HARD_ADDRESS,
136+
137+ /**
138+ * @BATADV_ATTR_ORIG_ADDRESS: originator mac address
139+ */
113140 BATADV_ATTR_ORIG_ADDRESS,
141+
142+ /**
143+ * @BATADV_ATTR_TPMETER_RESULT: result of run (see
144+ * batadv_tp_meter_status)
145+ */
114146 BATADV_ATTR_TPMETER_RESULT,
147+
148+ /**
149+ * @BATADV_ATTR_TPMETER_TEST_TIME: time (msec) the run took
150+ */
115151 BATADV_ATTR_TPMETER_TEST_TIME,
152+
153+ /**
154+ * @BATADV_ATTR_TPMETER_BYTES: amount of acked bytes during run
155+ */
116156 BATADV_ATTR_TPMETER_BYTES,
157+
158+ /**
159+ * @BATADV_ATTR_TPMETER_COOKIE: session cookie to match tp_meter session
160+ */
117161 BATADV_ATTR_TPMETER_COOKIE,
162+
163+ /**
164+ * @BATADV_ATTR_PAD: attribute used for padding for 64-bit alignment
165+ */
118166 BATADV_ATTR_PAD,
167+
168+ /**
169+ * @BATADV_ATTR_ACTIVE: Flag indicating if the hard interface is active
170+ */
119171 BATADV_ATTR_ACTIVE,
172+
173+ /**
174+ * @BATADV_ATTR_TT_ADDRESS: Client MAC address
175+ */
120176 BATADV_ATTR_TT_ADDRESS,
177+
178+ /**
179+ * @BATADV_ATTR_TT_TTVN: Translation table version
180+ */
121181 BATADV_ATTR_TT_TTVN,
182+
183+ /**
184+ * @BATADV_ATTR_TT_LAST_TTVN: Previous translation table version
185+ */
122186 BATADV_ATTR_TT_LAST_TTVN,
187+
188+ /**
189+ * @BATADV_ATTR_TT_CRC32: CRC32 over translation table
190+ */
123191 BATADV_ATTR_TT_CRC32,
192+
193+ /**
194+ * @BATADV_ATTR_TT_VID: VLAN ID
195+ */
124196 BATADV_ATTR_TT_VID,
197+
198+ /**
199+ * @BATADV_ATTR_TT_FLAGS: Translation table client flags
200+ */
125201 BATADV_ATTR_TT_FLAGS,
202+
203+ /**
204+ * @BATADV_ATTR_FLAG_BEST: Flags indicating entry is the best
205+ */
126206 BATADV_ATTR_FLAG_BEST,
207+
208+ /**
209+ * @BATADV_ATTR_LAST_SEEN_MSECS: Time in milliseconds since last seen
210+ */
127211 BATADV_ATTR_LAST_SEEN_MSECS,
212+
213+ /**
214+ * @BATADV_ATTR_NEIGH_ADDRESS: Neighbour MAC address
215+ */
128216 BATADV_ATTR_NEIGH_ADDRESS,
217+
218+ /**
219+ * @BATADV_ATTR_TQ: TQ to neighbour
220+ */
129221 BATADV_ATTR_TQ,
222+
223+ /**
224+ * @BATADV_ATTR_THROUGHPUT: Estimated throughput to Neighbour
225+ */
130226 BATADV_ATTR_THROUGHPUT,
227+
228+ /**
229+ * @BATADV_ATTR_BANDWIDTH_UP: Reported uplink bandwidth
230+ */
131231 BATADV_ATTR_BANDWIDTH_UP,
232+
233+ /**
234+ * @BATADV_ATTR_BANDWIDTH_DOWN: Reported downlink bandwidth
235+ */
132236 BATADV_ATTR_BANDWIDTH_DOWN,
237+
238+ /**
239+ * @BATADV_ATTR_ROUTER: Gateway router MAC address
240+ */
133241 BATADV_ATTR_ROUTER,
242+
243+ /**
244+ * @BATADV_ATTR_BLA_OWN: Flag indicating own originator
245+ */
134246 BATADV_ATTR_BLA_OWN,
247+
248+ /**
249+ * @BATADV_ATTR_BLA_ADDRESS: Bridge loop avoidance claim MAC address
250+ */
135251 BATADV_ATTR_BLA_ADDRESS,
252+
253+ /**
254+ * @BATADV_ATTR_BLA_VID: BLA VLAN ID
255+ */
136256 BATADV_ATTR_BLA_VID,
257+
258+ /**
259+ * @BATADV_ATTR_BLA_BACKBONE: BLA gateway originator MAC address
260+ */
137261 BATADV_ATTR_BLA_BACKBONE,
262+
263+ /**
264+ * @BATADV_ATTR_BLA_CRC: BLA CRC
265+ */
138266 BATADV_ATTR_BLA_CRC,
267+
139268 /* add attributes above here, update the policy in netlink.c */
269+
270+ /**
271+ * @__BATADV_ATTR_AFTER_LAST: internal use
272+ */
140273 __BATADV_ATTR_AFTER_LAST,
274+
275+ /**
276+ * @NUM_BATADV_ATTR: total number of batadv_nl_attrs available
277+ */
141278 NUM_BATADV_ATTR = __BATADV_ATTR_AFTER_LAST,
279+
280+ /**
281+ * @BATADV_ATTR_MAX: highest attribute number currently defined
282+ */
142283 BATADV_ATTR_MAX = __BATADV_ATTR_AFTER_LAST - 1
143284 };
144285
145286 /**
146287 * enum batadv_nl_commands - supported batman-adv netlink commands
147− *
148− * @BATADV_CMD_UNSPEC: unspecified command to catch errors
149− * @BATADV_CMD_GET_MESH_INFO: Query basic information about batman-adv device
150− * @BATADV_CMD_TP_METER: Start a tp meter session
151− * @BATADV_CMD_TP_METER_CANCEL: Cancel a tp meter session
152− * @BATADV_CMD_GET_ROUTING_ALGOS: Query the list of routing algorithms.
153− * @BATADV_CMD_GET_HARDIFS: Query list of hard interfaces
154− * @BATADV_CMD_GET_TRANSTABLE_LOCAL: Query list of local translations
155− * @BATADV_CMD_GET_TRANSTABLE_GLOBAL Query list of global translations
156− * @BATADV_CMD_GET_ORIGINATORS: Query list of originators
157− * @BATADV_CMD_GET_NEIGHBORS: Query list of neighbours
158− * @BATADV_CMD_GET_GATEWAYS: Query list of gateways
159− * @BATADV_CMD_GET_BLA_CLAIM: Query list of bridge loop avoidance claims
160− * @BATADV_CMD_GET_BLA_BACKBONE: Query list of bridge loop avoidance backbones
161− * @__BATADV_CMD_AFTER_LAST: internal use
162− * @BATADV_CMD_MAX: highest used command number
163288 */
164289 enum batadv_nl_commands {
290+ /**
291+ * @BATADV_CMD_UNSPEC: unspecified command to catch errors
292+ */
165293 BATADV_CMD_UNSPEC,
294+
295+ /**
296+ * @BATADV_CMD_GET_MESH_INFO: Query basic information about batman-adv
297+ * device
298+ */
166299 BATADV_CMD_GET_MESH_INFO,
300+
301+ /**
302+ * @BATADV_CMD_TP_METER: Start a tp meter session
303+ */
167304 BATADV_CMD_TP_METER,
305+
306+ /**
307+ * @BATADV_CMD_TP_METER_CANCEL: Cancel a tp meter session
308+ */
168309 BATADV_CMD_TP_METER_CANCEL,
310+
311+ /**
312+ * @BATADV_CMD_GET_ROUTING_ALGOS: Query the list of routing algorithms.
313+ */
169314 BATADV_CMD_GET_ROUTING_ALGOS,
315+
316+ /**
317+ * @BATADV_CMD_GET_HARDIFS: Query list of hard interfaces
318+ */
170319 BATADV_CMD_GET_HARDIFS,
320+
321+ /**
322+ * @BATADV_CMD_GET_TRANSTABLE_LOCAL: Query list of local translations
323+ */
171324 BATADV_CMD_GET_TRANSTABLE_LOCAL,
325+
326+ /**
327+ * @BATADV_CMD_GET_TRANSTABLE_GLOBAL: Query list of global translations
328+ */
172329 BATADV_CMD_GET_TRANSTABLE_GLOBAL,
330+
331+ /**
332+ * @BATADV_CMD_GET_ORIGINATORS: Query list of originators
333+ */
173334 BATADV_CMD_GET_ORIGINATORS,
335+
336+ /**
337+ * @BATADV_CMD_GET_NEIGHBORS: Query list of neighbours
338+ */
174339 BATADV_CMD_GET_NEIGHBORS,
340+
341+ /**
342+ * @BATADV_CMD_GET_GATEWAYS: Query list of gateways
343+ */
175344 BATADV_CMD_GET_GATEWAYS,
345+
346+ /**
347+ * @BATADV_CMD_GET_BLA_CLAIM: Query list of bridge loop avoidance claims
348+ */
176349 BATADV_CMD_GET_BLA_CLAIM,
350+
351+ /**
352+ * @BATADV_CMD_GET_BLA_BACKBONE: Query list of bridge loop avoidance
353+ * backbones
354+ */
177355 BATADV_CMD_GET_BLA_BACKBONE,
356+
178357 /* add new commands above here */
358+
359+ /**
360+ * @__BATADV_CMD_AFTER_LAST: internal use
361+ */
179362 __BATADV_CMD_AFTER_LAST,
363+
364+ /**
365+ * @BATADV_CMD_MAX: highest used command number
366+ */
180367 BATADV_CMD_MAX = __BATADV_CMD_AFTER_LAST - 1
181368 };
182369
183370 /**
184371 * enum batadv_tp_meter_reason - reason of a tp meter test run stop
185− * @BATADV_TP_REASON_COMPLETE: sender finished tp run
186− * @BATADV_TP_REASON_CANCEL: sender was stopped during run
187− * @BATADV_TP_REASON_DST_UNREACHABLE: receiver could not be reached or didn't
188− * answer
189− * @BATADV_TP_REASON_RESEND_LIMIT: (unused) sender retry reached limit
190− * @BATADV_TP_REASON_ALREADY_ONGOING: test to or from the same node already
191− * ongoing
192− * @BATADV_TP_REASON_MEMORY_ERROR: test was stopped due to low memory
193− * @BATADV_TP_REASON_CANT_SEND: failed to send via outgoing interface
194− * @BATADV_TP_REASON_TOO_MANY: too many ongoing sessions
195372 */
196373 enum batadv_tp_meter_reason {
374+ /**
375+ * @BATADV_TP_REASON_COMPLETE: sender finished tp run
376+ */
197377 BATADV_TP_REASON_COMPLETE = 3,
378+
379+ /**
380+ * @BATADV_TP_REASON_CANCEL: sender was stopped during run
381+ */
198382 BATADV_TP_REASON_CANCEL = 4,
383+
199384 /* error status >= 128 */
385+
386+ /**
387+ * @BATADV_TP_REASON_DST_UNREACHABLE: receiver could not be reached or
388+ * didn't answer
389+ */
200390 BATADV_TP_REASON_DST_UNREACHABLE = 128,
391+
392+ /**
393+ * @BATADV_TP_REASON_RESEND_LIMIT: (unused) sender retry reached limit
394+ */
201395 BATADV_TP_REASON_RESEND_LIMIT = 129,
396+
397+ /**
398+ * @BATADV_TP_REASON_ALREADY_ONGOING: test to or from the same node
399+ * already ongoing
400+ */
202401 BATADV_TP_REASON_ALREADY_ONGOING = 130,
402+
403+ /**
404+ * @BATADV_TP_REASON_MEMORY_ERROR: test was stopped due to low memory
405+ */
203406 BATADV_TP_REASON_MEMORY_ERROR = 131,
407+
408+ /**
409+ * @BATADV_TP_REASON_CANT_SEND: failed to send via outgoing interface
410+ */
204411 BATADV_TP_REASON_CANT_SEND = 132,
412+
413+ /**
414+ * @BATADV_TP_REASON_TOO_MANY: too many ongoing sessions
415+ */
205416 BATADV_TP_REASON_TOO_MANY = 133,
206417 };
207418
include/uapi/linux/bpf.h+150−8
@@ -93,6 +93,7 @@ enum bpf_cmd { · 92 unmodified lines
9393 BPF_PROG_GET_FD_BY_ID,
9494 BPF_MAP_GET_FD_BY_ID,
9595 BPF_OBJ_GET_INFO_BY_FD,
96+ BPF_PROG_QUERY,
9697 };
9798
9899 enum bpf_map_type {
@@ -112,6 +113,7 @@ enum bpf_map_type { · 13 unmodified lines
112113 BPF_MAP_TYPE_HASH_OF_MAPS,
113114 BPF_MAP_TYPE_DEVMAP,
114115 BPF_MAP_TYPE_SOCKMAP,
116+ BPF_MAP_TYPE_CPUMAP,
115117 };
116118
117119 enum bpf_prog_type {
@@ -130,6 +132,7 @@ enum bpf_prog_type { · 12 unmodified lines
130132 BPF_PROG_TYPE_LWT_XMIT,
131133 BPF_PROG_TYPE_SOCK_OPS,
132134 BPF_PROG_TYPE_SK_SKB,
135+ BPF_PROG_TYPE_CGROUP_DEVICE,
133136 };
134137
135138 enum bpf_attach_type {
@@ -139,16 +142,53 @@ enum bpf_attach_type { · 3 unmodified lines
139142 BPF_CGROUP_SOCK_OPS,
140143 BPF_SK_SKB_STREAM_PARSER,
141144 BPF_SK_SKB_STREAM_VERDICT,
145+ BPF_CGROUP_DEVICE,
142146 __MAX_BPF_ATTACH_TYPE
143147 };
144148
145149 #define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE
146150
147−/* If BPF_F_ALLOW_OVERRIDE flag is used in BPF_PROG_ATTACH command
148− * to the given target_fd cgroup the descendent cgroup will be able to
149− * override effective bpf program that was inherited from this cgroup
151+/* cgroup-bpf attach flags used in BPF_PROG_ATTACH command
152+ *
153+ * NONE(default): No further bpf programs allowed in the subtree.
154+ *
155+ * BPF_F_ALLOW_OVERRIDE: If a sub-cgroup installs some bpf program,
156+ * the program in this cgroup yields to sub-cgroup program.
157+ *
158+ * BPF_F_ALLOW_MULTI: If a sub-cgroup installs some bpf program,
159+ * that cgroup program gets run in addition to the program in this cgroup.
160+ *
161+ * Only one program is allowed to be attached to a cgroup with
162+ * NONE or BPF_F_ALLOW_OVERRIDE flag.
163+ * Attaching another program on top of NONE or BPF_F_ALLOW_OVERRIDE will
164+ * release old program and attach the new one. Attach flags has to match.
165+ *
166+ * Multiple programs are allowed to be attached to a cgroup with
167+ * BPF_F_ALLOW_MULTI flag. They are executed in FIFO order
168+ * (those that were attached first, run first)
169+ * The programs of sub-cgroup are executed first, then programs of
170+ * this cgroup and then programs of parent cgroup.
171+ * When children program makes decision (like picking TCP CA or sock bind)
172+ * parent program has a chance to override it.
173+ *
174+ * A cgroup with MULTI or OVERRIDE flag allows any attach flags in sub-cgroups.
175+ * A cgroup with NONE doesn't allow any programs in sub-cgroups.
176+ * Ex1:
177+ * cgrp1 (MULTI progs A, B) ->
178+ * cgrp2 (OVERRIDE prog C) ->
179+ * cgrp3 (MULTI prog D) ->
180+ * cgrp4 (OVERRIDE prog E) ->
181+ * cgrp5 (NONE prog F)
182+ * the event in cgrp5 triggers execution of F,D,A,B in that order.
183+ * if prog F is detached, the execution is E,D,A,B
184+ * if prog F and D are detached, the execution is E,A,B
185+ * if prog F, E and D are detached, the execution is C,A,B
186+ *
187+ * All eligible programs are executed regardless of return code from
188+ * earlier programs.
150189 */
151190 #define BPF_F_ALLOW_OVERRIDE (1U << 0)
191+#define BPF_F_ALLOW_MULTI (1U << 1)
152192
153193 /* If BPF_F_STRICT_ALIGNMENT is used in BPF_PROG_LOAD command, the
154194 * verifier will perform strict alignment checking as if the kernel
@@ -176,6 +216,15 @@ enum bpf_attach_type { · 21 unmodified lines
176216 /* Specify numa node during map creation */
177217 #define BPF_F_NUMA_NODE (1U << 2)
178218
219+/* flags for BPF_PROG_QUERY */
220+#define BPF_F_QUERY_EFFECTIVE (1U << 0)
221+
222+#define BPF_OBJ_NAME_LEN 16U
223+
224+/* Flags for accessing BPF object */
225+#define BPF_F_RDONLY (1U << 3)
226+#define BPF_F_WRONLY (1U << 4)
227+
179228 union bpf_attr {
180229 struct { /* anonymous struct used by BPF_MAP_CREATE command */
181230 __u32 map_type; /* one of enum bpf_map_type */
@@ -189,6 +238,7 @@ union bpf_attr { · 7 unmodified lines
189238 __u32 numa_node; /* numa node (effective only if
190239 * BPF_F_NUMA_NODE is set).
191240 */
241+ char map_name[BPF_OBJ_NAME_LEN];
192242 };
193243
194244 struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */
@@ -211,11 +261,14 @@ union bpf_attr { · 16 unmodified lines
211261 __aligned_u64 log_buf; /* user supplied buffer */
212262 __u32 kern_version; /* checked when prog_type=kprobe */
213263 __u32 prog_flags;
264+ char prog_name[BPF_OBJ_NAME_LEN];
265+ __u32 prog_target_ifindex; /* ifindex of netdev to prep for */
214266 };
215267
216268 struct { /* anonymous struct used by BPF_OBJ_* commands */
217269 __aligned_u64 pathname;
218270 __u32 bpf_fd;
271+ __u32 file_flags;
219272 };
220273
221274 struct { /* anonymous struct used by BPF_PROG_ATTACH/DETACH commands */
@@ -243,6 +296,7 @@ union bpf_attr { · 21 unmodified lines
243296 __u32 map_id;
244297 };
245298 __u32 next_id;
299+ __u32 open_flags;
246300 };
247301
248302 struct { /* anonymous struct used by BPF_OBJ_GET_INFO_BY_FD */
@@ -250,6 +304,15 @@ union bpf_attr { · 1 unmodified line
250304 __u32 info_len;
251305 __aligned_u64 info;
252306 } info;
307+
308+ struct { /* anonymous struct used by BPF_PROG_QUERY command */
309+ __u32 target_fd; /* container object to query */
310+ __u32 attach_type;
311+ __u32 query_flags;
312+ __u32 attach_flags;
313+ __aligned_u64 prog_ids;
314+ __u32 prog_cnt;
315+ } query;
253316 } __attribute__((aligned(8)));
254317
255318 /* BPF helper function descriptions:
@@ -554,12 +617,22 @@ union bpf_attr { · 298 unmodified lines
554617 * int bpf_setsockopt(bpf_socket, level, optname, optval, optlen)
555618 * Calls setsockopt. Not all opts are available, only those with
556619 * integer optvals plus TCP_CONGESTION.
557− * Supported levels: SOL_SOCKET and IPROTO_TCP
620+ * Supported levels: SOL_SOCKET and IPPROTO_TCP
621+ * @bpf_socket: pointer to bpf_socket
622+ * @level: SOL_SOCKET or IPPROTO_TCP
623+ * @optname: option name
624+ * @optval: pointer to option value
625+ * @optlen: length of optval in bytes
626+ * Return: 0 or negative error
627+ *
628+ * int bpf_getsockopt(bpf_socket, level, optname, optval, optlen)
629+ * Calls getsockopt. Not all opts are available.
630+ * Supported levels: IPPROTO_TCP
558631 * @bpf_socket: pointer to bpf_socket
559− * @level: SOL_SOCKET or IPROTO_TCP
632+ * @level: IPPROTO_TCP
560633 * @optname: option name
561634 * @optval: pointer to option value
562− * @optlen: length of optval in byes
635+ * @optlen: length of optval in bytes
563636 * Return: 0 or negative error
564637 *
565638 * int bpf_skb_adjust_room(skb, len_diff, mode, flags)
@@ -583,6 +656,27 @@ union bpf_attr { · 17 unmodified lines
583656 * @map: pointer to sockmap to update
584657 * @key: key to insert/update sock in map
585658 * @flags: same flags as map update elem
659+ *
660+ * int bpf_xdp_adjust_meta(xdp_md, delta)
661+ * Adjust the xdp_md.data_meta by delta
662+ * @xdp_md: pointer to xdp_md
663+ * @delta: An positive/negative integer to be added to xdp_md.data_meta
664+ * Return: 0 on success or negative on error
665+ *
666+ * int bpf_perf_event_read_value(map, flags, buf, buf_size)
667+ * read perf event counter value and perf event enabled/running time
668+ * @map: pointer to perf_event_array map
669+ * @flags: index of event in the map or bitmask flags
670+ * @buf: buf to fill
671+ * @buf_size: size of the buf
672+ * Return: 0 on success or negative error code
673+ *
674+ * int bpf_perf_prog_read_value(ctx, buf, buf_size)
675+ * read perf prog attached perf event counter and enabled/running time
676+ * @ctx: pointer to ctx
677+ * @buf: buf to fill
678+ * @buf_size: size of the buf
679+ * Return : 0 on success or negative error code
586680 */
587681 #define __BPF_FUNC_MAPPER(FN) \
588682 FN(unspec), \
@@ -639,6 +733,10 @@ union bpf_attr { · 50 unmodified lines
639733 FN(redirect_map), \
640734 FN(sk_redirect_map), \
641735 FN(sock_map_update), \
736+ FN(xdp_adjust_meta), \
737+ FN(perf_event_read_value), \
738+ FN(perf_prog_read_value), \
739+ FN(getsockopt),
642740
643741 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
644742 * function eBPF program intends to call
@@ -682,7 +780,9 @@ enum bpf_func_id { · 37 unmodified lines
682780 #define BPF_F_ZERO_CSUM_TX (1ULL << 1)
683781 #define BPF_F_DONT_FRAGMENT (1ULL << 2)
684782
685−/* BPF_FUNC_perf_event_output and BPF_FUNC_perf_event_read flags. */
783+/* BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and
784+ * BPF_FUNC_perf_event_read_value flags.
785+ */
686786 #define BPF_F_INDEX_MASK 0xffffffffULL
687787 #define BPF_F_CURRENT_CPU BPF_F_INDEX_MASK
688788 /* BPF_FUNC_perf_event_output for sk_buff input context. */
@@ -716,7 +816,7 @@ struct __sk_buff { · 27 unmodified lines
716816 __u32 data_end;
717817 __u32 napi_id;
718818
719− /* accessed by BPF_PROG_TYPE_sk_skb types */
819+ /* Accessed by BPF_PROG_TYPE_sk_skb types from here to ... */
720820 __u32 family;
721821 __u32 remote_ip4; /* Stored in network byte order */
722822 __u32 local_ip4; /* Stored in network byte order */
@@ -724,6 +824,9 @@ struct __sk_buff { · 1 unmodified line
724824 __u32 local_ip6[4]; /* Stored in network byte order */
725825 __u32 remote_port; /* Stored in network byte order */
726826 __u32 local_port; /* stored in host byte order */
827+ /* ... here. */
828+
829+ __u32 data_meta;
727830 };
728831
729832 struct bpf_tunnel_key {
@@ -784,6 +887,7 @@ enum xdp_action { · 54 unmodified lines
784887 struct xdp_md {
785888 __u32 data;
786889 __u32 data_end;
890+ __u32 data_meta;
787891 };
788892
789893 enum sk_action {
@@ -793,6 +897,10 @@ enum sk_action { · 3 unmodified lines
793897
794898 #define BPF_TAG_SIZE 8
795899
900+enum bpf_prog_status {
901+ BPF_PROG_STATUS_DEV_BOUND = (1 << 0),
902+};
903+
796904 struct bpf_prog_info {
797905 __u32 type;
798906 __u32 id;
@@ -801,6 +909,13 @@ struct bpf_prog_info { · 2 unmodified lines
801909 __u32 xlated_prog_len;
802910 __aligned_u64 jited_prog_insns;
803911 __aligned_u64 xlated_prog_insns;
912+ __u64 load_time; /* ns since boottime */
913+ __u32 created_by_uid;
914+ __u32 nr_map_ids;
915+ __aligned_u64 map_ids;
916+ char name[BPF_OBJ_NAME_LEN];
917+ __u32 ifindex;
918+ __u32 status;
804919 } __attribute__((aligned(8)));
805920
806921 struct bpf_map_info {
@@ -810,6 +925,7 @@ struct bpf_map_info { · 3 unmodified lines
810925 __u32 value_size;
811926 __u32 max_entries;
812927 __u32 map_flags;
928+ char name[BPF_OBJ_NAME_LEN];
813929 } __attribute__((aligned(8)));
814930
815931 /* User bpf_sock_ops struct to access socket values and specify request ops
@@ -859,9 +975,35 @@ enum { · 43 unmodified lines
859975 BPF_SOCK_OPS_NEEDS_ECN, /* If connection's congestion control
860976 * needs ECN
861977 */
978+ BPF_SOCK_OPS_BASE_RTT, /* Get base RTT. The correct value is
979+ * based on the path and may be
980+ * dependent on the congestion control
981+ * algorithm. In general it indicates
982+ * a congestion threshold. RTTs above
983+ * this indicate congestion
984+ */
862985 };
863986
864987 #define TCP_BPF_IW 1001 /* Set TCP initial congestion window */
865988 #define TCP_BPF_SNDCWND_CLAMP 1002 /* Set sndcwnd_clamp */
866989
990+struct bpf_perf_event_value {
991+ __u64 counter;
992+ __u64 enabled;
993+ __u64 running;
994+};
995+
996+#define BPF_DEVCG_ACC_MKNOD (1ULL << 0)
997+#define BPF_DEVCG_ACC_READ (1ULL << 1)
998+#define BPF_DEVCG_ACC_WRITE (1ULL << 2)
999+
1000+#define BPF_DEVCG_DEV_BLOCK (1ULL << 0)
1001+#define BPF_DEVCG_DEV_CHAR (1ULL << 1)
1002+
1003+struct bpf_cgroup_dev_ctx {
1004+ __u32 access_type; /* (access << 16) | type */
1005+ __u32 major;
1006+ __u32 minor;
1007+};
1008+
8671009 #endif /* _UAPI__LINUX_BPF_H__ */
include/uapi/linux/dcbnl.h+1−0
@@ -206,6 +206,7 @@ struct cee_pfc { · 205 unmodified lines
206206 #define IEEE_8021QAZ_APP_SEL_STREAM 2
207207 #define IEEE_8021QAZ_APP_SEL_DGRAM 3
208208 #define IEEE_8021QAZ_APP_SEL_ANY 4
209+#define IEEE_8021QAZ_APP_SEL_DSCP 5
209210
210211 /* This structure contains the IEEE 802.1Qaz APP managed object. This
211212 * object is also used for the CEE std as well.
include/uapi/linux/if_link.h+8−0
@@ -159,6 +159,8 @@ enum { · 158 unmodified lines
159159 IFLA_PAD,
160160 IFLA_XDP,
161161 IFLA_EVENT,
162+ IFLA_NEW_NETNSID,
163+ IFLA_IF_NETNSID,
162164 __IFLA_MAX
163165 };
164166
@@ -326,6 +328,8 @@ enum { · 161 unmodified lines
326328 IFLA_BRPORT_MCAST_TO_UCAST,
327329 IFLA_BRPORT_VLAN_TUNNEL,
328330 IFLA_BRPORT_BCAST_FLOOD,
331+ IFLA_BRPORT_GROUP_FWD_MASK,
332+ IFLA_BRPORT_NEIGH_SUPPRESS,
329333 __IFLA_BRPORT_MAX
330334 };
331335 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -463,6 +467,7 @@ enum macsec_validation_type { · 131 unmodified lines
463467 enum {
464468 IFLA_IPVLAN_UNSPEC,
465469 IFLA_IPVLAN_MODE,
470+ IFLA_IPVLAN_FLAGS,
466471 __IFLA_IPVLAN_MAX
467472 };
468473
@@ -475,6 +480,9 @@ enum ipvlan_mode { · 6 unmodified lines
475480 IPVLAN_MODE_MAX
476481 };
477482
483+#define IPVLAN_F_PRIVATE 0x01
484+#define IPVLAN_F_VEPA 0x02
485+
478486 /* VXLAN section */
479487 enum {
480488 IFLA_VXLAN_UNSPEC,
include/uapi/linux/if_tun.h+2−0
@@ -61,6 +61,8 @@ · 60 unmodified lines
6161 /* TUNSETIFF ifr flags */
6262 #define IFF_TUN 0x0001
6363 #define IFF_TAP 0x0002
64+#define IFF_NAPI 0x0010
65+#define IFF_NAPI_FRAGS 0x0020
6466 #define IFF_NO_PI 0x1000
6567 /* This flag has no real effect */
6668 #define IFF_ONE_QUEUE 0x2000
include/uapi/linux/if_tunnel.h+1−0
@@ -85,6 +85,7 @@ enum tunnel_encap_types { · 84 unmodified lines
8585 TUNNEL_ENCAP_NONE,
8686 TUNNEL_ENCAP_FOU,
8787 TUNNEL_ENCAP_GUE,
88+ TUNNEL_ENCAP_MPLS,
8889 };
8990
9091 #define TUNNEL_ENCAP_FLAG_CSUM (1<<0)
include/uapi/linux/ila.h+21−0
@@ -17,6 +17,8 @@ enum { · 16 unmodified lines
1717 ILA_ATTR_DIR, /* u32 */
1818 ILA_ATTR_PAD,
1919 ILA_ATTR_CSUM_MODE, /* u8 */
20+ ILA_ATTR_IDENT_TYPE, /* u8 */
21+ ILA_ATTR_HOOK_TYPE, /* u8 */
2022
2123 __ILA_ATTR_MAX,
2224 };
@@ -41,6 +43,25 @@ enum { · 18 unmodified lines
4143 ILA_CSUM_ADJUST_TRANSPORT,
4244 ILA_CSUM_NEUTRAL_MAP,
4345 ILA_CSUM_NO_ACTION,
46+ ILA_CSUM_NEUTRAL_MAP_AUTO,
47+};
48+
49+enum {
50+ ILA_ATYPE_IID = 0,
51+ ILA_ATYPE_LUID,
52+ ILA_ATYPE_VIRT_V4,
53+ ILA_ATYPE_VIRT_UNI_V6,
54+ ILA_ATYPE_VIRT_MULTI_V6,
55+ ILA_ATYPE_NONLOCAL_ADDR,
56+ ILA_ATYPE_RSVD_1,
57+ ILA_ATYPE_RSVD_2,
58+
59+ ILA_ATYPE_USE_FORMAT = 32, /* Get type from type field in identifier */
60+};
61+
62+enum {
63+ ILA_HOOK_ROUTE_OUTPUT,
64+ ILA_HOOK_ROUTE_INPUT,
4465 };
4566
4667 #endif /* _UAPI_LINUX_ILA_H */
include/uapi/linux/in6.h+1−0
@@ -285,6 +285,7 @@ struct in6_flowlabel_req { · 284 unmodified lines
285285 #define IPV6_TRANSPARENT 75
286286 #define IPV6_UNICAST_IF 76
287287 #define IPV6_RECVFRAGSIZE 77
288+#define IPV6_FREEBIND 78
288289
289290 /*
290291 * Multicast Routing:
include/uapi/linux/ip6_tunnel.h+2−0
@@ -21,6 +21,8 @@ · 20 unmodified lines
2121 #define IP6_TNL_F_RCV_DSCP_COPY 0x10
2222 /* copy fwmark from inner packet */
2323 #define IP6_TNL_F_USE_ORIG_FWMARK 0x20
24+/* allow remote endpoint on the local node */
25+#define IP6_TNL_F_ALLOW_LOCAL_REMOTE 0x40
2426
2527 struct ip6_tnl_parm {
2628 char name[IFNAMSIZ]; /* name of tunnel device */
include/uapi/linux/ipv6.h+1−0
@@ -186,6 +186,7 @@ enum { · 185 unmodified lines
186186 DEVCONF_ADDR_GEN_MODE,
187187 DEVCONF_DISABLE_POLICY,
188188 DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN,
189+ DEVCONF_NDISC_TCLASS,
189190 DEVCONF_MAX
190191 };
191192
include/uapi/linux/ipv6_route.h+1−1
@@ -29,7 +29,7 @@ · 28 unmodified lines
2929
3030 #define RTF_ROUTEINFO 0x00800000 /* route information - RA */
3131
32−#define RTF_CACHE 0x01000000 /* cache entry */
32+#define RTF_CACHE 0x01000000 /* read-only: can not be set by user */
3333 #define RTF_FLOW 0x02000000 /* flow significant route */
3434 #define RTF_POLICY 0x04000000 /* policy route */
3535
include/uapi/linux/nfc.h+2−0
@@ -89,6 +89,7 @@ · 88 unmodified lines
8989 * @NFC_CMD_ACTIVATE_TARGET: Request NFC controller to reactivate target.
9090 * @NFC_CMD_VENDOR: Vendor specific command, to be implemented directly
9191 * from the driver in order to support hardware specific operations.
92+ * @NFC_CMD_DEACTIVATE_TARGET: Request NFC controller to deactivate target.
9293 */
9394 enum nfc_commands {
9495 NFC_CMD_UNSPEC,
@@ -121,6 +122,7 @@ enum nfc_commands { · 26 unmodified lines
121122 NFC_CMD_SE_IO,
122123 NFC_CMD_ACTIVATE_TARGET,
123124 NFC_CMD_VENDOR,
125+ NFC_CMD_DEACTIVATE_TARGET,
124126 /* private: internal use only */
125127 __NFC_CMD_AFTER_LAST
126128 };
include/uapi/linux/nl80211.h+65−17
@@ -569,13 +569,14 @@ · 568 unmodified lines
569569 * authentication/association or not receiving a response from the AP.
570570 * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as
571571 * well to remain backwards compatible.
572− * @NL80211_CMD_ROAM: notifcation indicating the card/driver roamed by itself.
573− * When the driver roamed in a network that requires 802.1X authentication,
574− * %NL80211_ATTR_PORT_AUTHORIZED should be set if the 802.1X authentication
575− * was done by the driver or if roaming was done using Fast Transition
576− * protocol (in which case 802.1X authentication is not needed). If
577− * %NL80211_ATTR_PORT_AUTHORIZED is not set, user space is responsible for
578− * the 802.1X authentication.
572+ * When establishing a security association, drivers that support 4 way
573+ * handshake offload should send %NL80211_CMD_PORT_AUTHORIZED event when
574+ * the 4 way handshake is completed successfully.
575+ * @NL80211_CMD_ROAM: Notification indicating the card/driver roamed by itself.
576+ * When a security association was established with the new AP (e.g. if
577+ * the FT protocol was used for roaming or the driver completed the 4 way
578+ * handshake), this event should be followed by an
579+ * %NL80211_CMD_PORT_AUTHORIZED event.
579580 * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify
580581 * userspace that a connection was dropped by the AP or due to other
581582 * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and
@@ -982,6 +983,14 @@ · 400 unmodified lines
982983 * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously
983984 * configured PMK for the authenticator address identified by
984985 * &NL80211_ATTR_MAC.
986+ * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates that the 4 way
987+ * handshake was completed successfully by the driver. The BSSID is
988+ * specified with &NL80211_ATTR_MAC. Drivers that support 4 way handshake
989+ * offload should send this event after indicating 802.11 association with
990+ * &NL80211_CMD_CONNECT or &NL80211_CMD_ROAM. If the 4 way handshake failed
991+ * &NL80211_CMD_DISCONNECT should be indicated instead.
992+ *
993+ * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded.
985994 *
986995 * @NL80211_CMD_MAX: highest used command number
987996 * @__NL80211_CMD_AFTER_LAST: internal use
@@ -1185,6 +1194,10 @@ enum nl80211_commands { · 197 unmodified lines
11851194 NL80211_CMD_SET_PMK,
11861195 NL80211_CMD_DEL_PMK,
11871196
1197+ NL80211_CMD_PORT_AUTHORIZED,
1198+
1199+ NL80211_CMD_RELOAD_REGDB,
1200+
11881201 /* add new commands above here */
11891202
11901203 /* used to define NL80211_CMD_MAX below */
@@ -1407,8 +1420,12 @@ enum nl80211_commands { · 216 unmodified lines
14071420 *
14081421 * @NL80211_ATTR_USE_MFP: Whether management frame protection (IEEE 802.11w) is
14091422 * used for the association (&enum nl80211_mfp, represented as a u32);
1410− * this attribute can be used
1411− * with %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests
1423+ * this attribute can be used with %NL80211_CMD_ASSOCIATE and
1424+ * %NL80211_CMD_CONNECT requests. %NL80211_MFP_OPTIONAL is not allowed for
1425+ * %NL80211_CMD_ASSOCIATE since user space SME is expected and hence, it
1426+ * must have decided whether to use management frame protection or not.
1427+ * Setting %NL80211_MFP_OPTIONAL with a %NL80211_CMD_CONNECT request will
1428+ * let the driver (or the firmware) decide whether to use MFP or not.
14121429 *
14131430 * @NL80211_ATTR_STA_FLAGS2: Attribute containing a
14141431 * &struct nl80211_sta_flag_update.
@@ -2134,10 +2151,7 @@ enum nl80211_commands { · 719 unmodified lines
21342151 * in %NL80211_CMD_CONNECT to indicate that for 802.1X authentication it
21352152 * wants to use the supported offload of the 4-way handshake.
21362153 * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT.
2137− * @NL80211_ATTR_PORT_AUTHORIZED: flag attribute used in %NL80211_CMD_ROAMED
2138− * notification indicating that that 802.1X authentication was done by
2139− * the driver or is not needed (because roaming used the Fast Transition
2140− * protocol).
2154+ * @NL80211_ATTR_PORT_AUTHORIZED: (reserved)
21412155 *
21422156 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
21432157 * @NL80211_ATTR_MAX: highest attribute number currently defined
@@ -3947,10 +3961,12 @@ enum nl80211_key_type { · 1803 unmodified lines
39473961 * enum nl80211_mfp - Management frame protection state
39483962 * @NL80211_MFP_NO: Management frame protection not used
39493963 * @NL80211_MFP_REQUIRED: Management frame protection required
3964+ * @NL80211_MFP_OPTIONAL: Management frame protection is optional
39503965 */
39513966 enum nl80211_mfp {
39523967 NL80211_MFP_NO,
39533968 NL80211_MFP_REQUIRED,
3969+ NL80211_MFP_OPTIONAL,
39543970 };
39553971
39563972 enum nl80211_wpa_versions {
@@ -4914,6 +4930,17 @@ enum nl80211_feature_flags { · 957 unmodified lines
49144930 * handshake with 802.1X in station mode (will pass EAP frames to the host
49154931 * and accept the set_pmk/del_pmk commands), doing it in the host might not
49164932 * be supported.
4933+ * @NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME: Driver is capable of overriding
4934+ * the max channel attribute in the FILS request params IE with the
4935+ * actual dwell time.
4936+ * @NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP: Driver accepts broadcast probe
4937+ * response
4938+ * @NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE: Driver supports sending
4939+ * the first probe request in each channel at rate of at least 5.5Mbps.
4940+ * @NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: Driver supports
4941+ * probe request tx deferral and suppression
4942+ * @NL80211_EXT_FEATURE_MFP_OPTIONAL: Driver supports the %NL80211_MFP_OPTIONAL
4943+ * value in %NL80211_ATTR_USE_MFP.
49174944 *
49184945 * @NUM_NL80211_EXT_FEATURES: number of extended features.
49194946 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -4936,6 +4963,11 @@ enum nl80211_ext_feature_index { · 16 unmodified lines
49364963 NL80211_EXT_FEATURE_FILS_SK_OFFLOAD,
49374964 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK,
49384965 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X,
4966+ NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME,
4967+ NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP,
4968+ NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE,
4969+ NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION,
4970+ NL80211_EXT_FEATURE_MFP_OPTIONAL,
49394971
49404972 /* add new features before the definition below */
49414973 NUM_NL80211_EXT_FEATURES,
@@ -5012,12 +5044,28 @@ enum nl80211_timeout_reason { · 70 unmodified lines
50125044 * locally administered 1, multicast 0) is assumed.
50135045 * This flag must not be requested when the feature isn't supported, check
50145046 * the nl80211 feature flags for the device.
5047+ * @NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME: fill the dwell time in the FILS
5048+ * request parameters IE in the probe request
5049+ * @NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP: accept broadcast probe responses
5050+ * @NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE: send probe request frames at
5051+ * rate of at least 5.5M. In case non OCE AP is dicovered in the channel,
5052+ * only the first probe req in the channel will be sent in high rate.
5053+ * @NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: allow probe request
5054+ * tx deferral (dot11FILSProbeDelay shall be set to 15ms)
5055+ * and suppression (if it has received a broadcast Probe Response frame,
5056+ * Beacon frame or FILS Discovery frame from an AP that the STA considers
5057+ * a suitable candidate for (re-)association - suitable in terms of
5058+ * SSID and/or RSSI
50155059 */
50165060 enum nl80211_scan_flags {
5017− NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0,
5018− NL80211_SCAN_FLAG_FLUSH = 1<<1,
5019− NL80211_SCAN_FLAG_AP = 1<<2,
5020− NL80211_SCAN_FLAG_RANDOM_ADDR = 1<<3,
5061+ NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0,
5062+ NL80211_SCAN_FLAG_FLUSH = 1<<1,
5063+ NL80211_SCAN_FLAG_AP = 1<<2,
5064+ NL80211_SCAN_FLAG_RANDOM_ADDR = 1<<3,
5065+ NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = 1<<4,
5066+ NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 1<<5,
5067+ NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 1<<6,
5068+ NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 1<<7,
50215069 };
50225070
50235071 /**
include/uapi/linux/openvswitch.h+88−0
@@ -258,6 +258,8 @@ enum ovs_vport_attr { · 257 unmodified lines
258258 /* receiving upcalls */
259259 OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */
260260 OVS_VPORT_ATTR_PAD,
261+ OVS_VPORT_ATTR_IFINDEX,
262+ OVS_VPORT_ATTR_NETNSID,
261263 __OVS_VPORT_ATTR_MAX
262264 };
263265
@@ -334,6 +336,7 @@ enum ovs_key_attr { · 70 unmodified lines
334336 OVS_KEY_ATTR_CT_LABELS, /* 16-octet connection tracking label */
335337 OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV4, /* struct ovs_key_ct_tuple_ipv4 */
336338 OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV6, /* struct ovs_key_ct_tuple_ipv6 */
339+ OVS_KEY_ATTR_NSH, /* Nested set of ovs_nsh_key_* */
337340
338341 #ifdef __KERNEL__
339342 OVS_KEY_ATTR_TUNNEL_INFO, /* struct ip_tunnel_info */
@@ -360,6 +363,7 @@ enum ovs_tunnel_key_attr { · 20 unmodified lines
360363 OVS_TUNNEL_KEY_ATTR_IPV6_SRC, /* struct in6_addr src IPv6 address. */
361364 OVS_TUNNEL_KEY_ATTR_IPV6_DST, /* struct in6_addr dst IPv6 address. */
362365 OVS_TUNNEL_KEY_ATTR_PAD,
366+ OVS_TUNNEL_KEY_ATTR_ERSPAN_OPTS, /* be32 ERSPAN index. */
363367 __OVS_TUNNEL_KEY_ATTR_MAX
364368 };
365369
@@ -492,6 +496,30 @@ struct ovs_key_ct_tuple_ipv6 { · 126 unmodified lines
492496 __u8 ipv6_proto;
493497 };
494498
499+enum ovs_nsh_key_attr {
500+ OVS_NSH_KEY_ATTR_UNSPEC,
501+ OVS_NSH_KEY_ATTR_BASE, /* struct ovs_nsh_key_base. */
502+ OVS_NSH_KEY_ATTR_MD1, /* struct ovs_nsh_key_md1. */
503+ OVS_NSH_KEY_ATTR_MD2, /* variable-length octets for MD type 2. */
504+ __OVS_NSH_KEY_ATTR_MAX
505+};
506+
507+#define OVS_NSH_KEY_ATTR_MAX (__OVS_NSH_KEY_ATTR_MAX - 1)
508+
509+struct ovs_nsh_key_base {
510+ __u8 flags;
511+ __u8 ttl;
512+ __u8 mdtype;
513+ __u8 np;
514+ __be32 path_hdr;
515+};
516+
517+#define NSH_MD1_CONTEXT_SIZE 4
518+
519+struct ovs_nsh_key_md1 {
520+ __be32 context[NSH_MD1_CONTEXT_SIZE];
521+};
522+
495523 /**
496524 * enum ovs_flow_attr - attributes for %OVS_FLOW_* commands.
497525 * @OVS_FLOW_ATTR_KEY: Nested %OVS_KEY_ATTR_* attributes specifying the flow
@@ -807,6 +835,11 @@ struct ovs_action_push_eth { · 309 unmodified lines
807835 * packet.
808836 * @OVS_ACTION_ATTR_POP_ETH: Pop the outermost Ethernet header off the
809837 * packet.
838+ * @OVS_ACTION_ATTR_CT_CLEAR: Clear conntrack state from the packet.
839+ * @OVS_ACTION_ATTR_PUSH_NSH: push NSH header to the packet.
840+ * @OVS_ACTION_ATTR_POP_NSH: pop the outermost NSH header off the packet.
841+ * @OVS_ACTION_ATTR_METER: Run packet through a meter, which may drop the
842+ * packet, or modify the packet (e.g., change the DSCP field).
810843 *
811844 * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all
812845 * fields within a header are modifiable, e.g. the IPv4 protocol and fragment
@@ -836,6 +869,10 @@ enum ovs_action_attr { · 23 unmodified lines
836869 OVS_ACTION_ATTR_TRUNC, /* u32 struct ovs_action_trunc. */
837870 OVS_ACTION_ATTR_PUSH_ETH, /* struct ovs_action_push_eth. */
838871 OVS_ACTION_ATTR_POP_ETH, /* No argument. */
872+ OVS_ACTION_ATTR_CT_CLEAR, /* No argument. */
873+ OVS_ACTION_ATTR_PUSH_NSH, /* Nested OVS_NSH_KEY_ATTR_*. */
874+ OVS_ACTION_ATTR_POP_NSH, /* No argument. */
875+ OVS_ACTION_ATTR_METER, /* u32 meter ID. */
839876
840877 __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted
841878 * from userspace. */
@@ -849,4 +886,55 @@ enum ovs_action_attr { · 7 unmodified lines
849886
850887 #define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1)
851888
889+/* Meters. */
890+#define OVS_METER_FAMILY "ovs_meter"
891+#define OVS_METER_MCGROUP "ovs_meter"
892+#define OVS_METER_VERSION 0x1
893+
894+enum ovs_meter_cmd {
895+ OVS_METER_CMD_UNSPEC,
896+ OVS_METER_CMD_FEATURES, /* Get features supported by the datapath. */
897+ OVS_METER_CMD_SET, /* Add or modify a meter. */
898+ OVS_METER_CMD_DEL, /* Delete a meter. */
899+ OVS_METER_CMD_GET /* Get meter stats. */
900+};
901+
902+enum ovs_meter_attr {
903+ OVS_METER_ATTR_UNSPEC,
904+ OVS_METER_ATTR_ID, /* u32 meter ID within datapath. */
905+ OVS_METER_ATTR_KBPS, /* No argument. If set, units in kilobits
906+ * per second. Otherwise, units in
907+ * packets per second.
908+ */
909+ OVS_METER_ATTR_STATS, /* struct ovs_flow_stats for the meter. */
910+ OVS_METER_ATTR_BANDS, /* Nested attributes for meter bands. */
911+ OVS_METER_ATTR_USED, /* u64 msecs last used in monotonic time. */
912+ OVS_METER_ATTR_CLEAR, /* Flag to clear stats, used. */
913+ OVS_METER_ATTR_MAX_METERS, /* u32 number of meters supported. */
914+ OVS_METER_ATTR_MAX_BANDS, /* u32 max number of bands per meter. */
915+ OVS_METER_ATTR_PAD,
916+ __OVS_METER_ATTR_MAX
917+};
918+
919+#define OVS_METER_ATTR_MAX (__OVS_METER_ATTR_MAX - 1)
920+
921+enum ovs_band_attr {
922+ OVS_BAND_ATTR_UNSPEC,
923+ OVS_BAND_ATTR_TYPE, /* u32 OVS_METER_BAND_TYPE_* constant. */
924+ OVS_BAND_ATTR_RATE, /* u32 band rate in meter units (see above). */
925+ OVS_BAND_ATTR_BURST, /* u32 burst size in meter units. */
926+ OVS_BAND_ATTR_STATS, /* struct ovs_flow_stats for the band. */
927+ __OVS_BAND_ATTR_MAX
928+};
929+
930+#define OVS_BAND_ATTR_MAX (__OVS_BAND_ATTR_MAX - 1)
931+
932+enum ovs_meter_band_type {
933+ OVS_METER_BAND_TYPE_UNSPEC,
934+ OVS_METER_BAND_TYPE_DROP, /* Drop exceeding packets. */
935+ __OVS_METER_BAND_TYPE_MAX
936+};
937+
938+#define OVS_METER_BAND_TYPE_MAX (__OVS_METER_BAND_TYPE_MAX - 1)
939+
852940 #endif /* _LINUX_OPENVSWITCH_H */
include/uapi/linux/pkt_sched.h+63−0
@@ -75,6 +75,7 @@ struct tc_estimator { · 74 unmodified lines
7575 #define TC_H_INGRESS (0xFFFFFFF1U)
7676 #define TC_H_CLSACT TC_H_INGRESS
7777
78+#define TC_H_MIN_PRIORITY 0xFFE0U
7879 #define TC_H_MIN_INGRESS 0xFFF2U
7980 #define TC_H_MIN_EGRESS 0xFFF3U
8081
@@ -255,6 +256,7 @@ struct tc_red_qopt { · 174 unmodified lines
255256 #define TC_RED_ECN 1
256257 #define TC_RED_HARDDROP 2
257258 #define TC_RED_ADAPTATIVE 4
259+#define TC_RED_OFFLOADED 8
258260 };
259261
260262 struct tc_red_xstats {
@@ -535,6 +537,9 @@ enum { · 274 unmodified lines
535537 TCA_NETEM_ECN,
536538 TCA_NETEM_RATE64,
537539 TCA_NETEM_PAD,
540+ TCA_NETEM_LATENCY64,
541+ TCA_NETEM_JITTER64,
542+ TCA_NETEM_SLOT,
538543 __TCA_NETEM_MAX,
539544 };
540545
@@ -572,6 +577,13 @@ struct tc_netem_rate { · 31 unmodified lines
572577 __s32 cell_overhead;
573578 };
574579
580+struct tc_netem_slot {
581+ __s64 min_delay; /* nsec */
582+ __s64 max_delay;
583+ __s32 max_packets;
584+ __s32 max_bytes;
585+};
586+
575587 enum {
576588 NETEM_LOSS_UNSPEC,
577589 NETEM_LOSS_GI, /* General Intuitive - 4 state model */
@@ -626,6 +638,22 @@ enum { · 48 unmodified lines
626638
627639 #define TC_MQPRIO_HW_OFFLOAD_MAX (__TC_MQPRIO_HW_OFFLOAD_MAX - 1)
628640
641+enum {
642+ TC_MQPRIO_MODE_DCB,
643+ TC_MQPRIO_MODE_CHANNEL,
644+ __TC_MQPRIO_MODE_MAX
645+};
646+
647+#define __TC_MQPRIO_MODE_MAX (__TC_MQPRIO_MODE_MAX - 1)
648+
649+enum {
650+ TC_MQPRIO_SHAPER_DCB,
651+ TC_MQPRIO_SHAPER_BW_RATE, /* Add new shapers below */
652+ __TC_MQPRIO_SHAPER_MAX
653+};
654+
655+#define __TC_MQPRIO_SHAPER_MAX (__TC_MQPRIO_SHAPER_MAX - 1)
656+
629657 struct tc_mqprio_qopt {
630658 __u8 num_tc;
631659 __u8 prio_tc_map[TC_QOPT_BITMASK + 1];
@@ -634,6 +662,22 @@ struct tc_mqprio_qopt { · 2 unmodified lines
634662 __u16 offset[TC_QOPT_MAX_QUEUE];
635663 };
636664
665+#define TC_MQPRIO_F_MODE 0x1
666+#define TC_MQPRIO_F_SHAPER 0x2
667+#define TC_MQPRIO_F_MIN_RATE 0x4
668+#define TC_MQPRIO_F_MAX_RATE 0x8
669+
670+enum {
671+ TCA_MQPRIO_UNSPEC,
672+ TCA_MQPRIO_MODE,
673+ TCA_MQPRIO_SHAPER,
674+ TCA_MQPRIO_MIN_RATE64,
675+ TCA_MQPRIO_MAX_RATE64,
676+ __TCA_MQPRIO_MAX,
677+};
678+
679+#define TCA_MQPRIO_MAX (__TCA_MQPRIO_MAX - 1)
680+
637681 /* SFB */
638682
639683 enum {
@@ -872,4 +916,23 @@ struct tc_pie_xstats { · 232 unmodified lines
872916 __u32 maxq; /* maximum queue size */
873917 __u32 ecn_mark; /* packets marked with ecn*/
874918 };
919+
920+/* CBS */
921+struct tc_cbs_qopt {
922+ __u8 offload;
923+ __u8 _pad[3];
924+ __s32 hicredit;
925+ __s32 locredit;
926+ __s32 idleslope;
927+ __s32 sendslope;
928+};
929+
930+enum {
931+ TCA_CBS_UNSPEC,
932+ TCA_CBS_PARMS,
933+ __TCA_CBS_MAX,
934+};
935+
936+#define TCA_CBS_MAX (__TCA_CBS_MAX - 1)
937+
875938 #endif
include/uapi/linux/qrtr.h+35−0
@@ -5,10 +5,45 @@ · 4 unmodified lines
55 #include <linux/socket.h>
66 #include <linux/types.h>
77
8+#define QRTR_NODE_BCAST 0xffffffffu
9+#define QRTR_PORT_CTRL 0xfffffffeu
10+
811 struct sockaddr_qrtr {
912 __kernel_sa_family_t sq_family;
1013 __u32 sq_node;
1114 __u32 sq_port;
1215 };
1316
17+enum qrtr_pkt_type {
18+ QRTR_TYPE_DATA = 1,
19+ QRTR_TYPE_HELLO = 2,
20+ QRTR_TYPE_BYE = 3,
21+ QRTR_TYPE_NEW_SERVER = 4,
22+ QRTR_TYPE_DEL_SERVER = 5,
23+ QRTR_TYPE_DEL_CLIENT = 6,
24+ QRTR_TYPE_RESUME_TX = 7,
25+ QRTR_TYPE_EXIT = 8,
26+ QRTR_TYPE_PING = 9,
27+ QRTR_TYPE_NEW_LOOKUP = 10,
28+ QRTR_TYPE_DEL_LOOKUP = 11,
29+};
30+
31+struct qrtr_ctrl_pkt {
32+ __le32 cmd;
33+
34+ union {
35+ struct {
36+ __le32 service;
37+ __le32 instance;
38+ __le32 node;
39+ __le32 port;
40+ } server;
41+
42+ struct {
43+ __le32 node;
44+ __le32 port;
45+ } client;
46+ };
47+} __packed;
48+
1449 #endif /* _LINUX_QRTR_H */
include/uapi/linux/rtnetlink.h+2−0
@@ -431,6 +431,8 @@ enum { · 430 unmodified lines
431431 #define RTAX_QUICKACK RTAX_QUICKACK
432432 RTAX_CC_ALGO,
433433 #define RTAX_CC_ALGO RTAX_CC_ALGO
434+ RTAX_FASTOPEN_NO_COOKIE,
435+#define RTAX_FASTOPEN_NO_COOKIE RTAX_FASTOPEN_NO_COOKIE
434436 __RTAX_MAX
435437 };
436438
include/uapi/linux/rxrpc.h+5−5
@@ -20,12 +20,12 @@ · 19 unmodified lines
2020 * RxRPC socket address
2121 */
2222 struct sockaddr_rxrpc {
23− sa_family_t srx_family; /* address family */
24− u16 srx_service; /* service desired */
25− u16 transport_type; /* type of transport socket (SOCK_DGRAM) */
26− u16 transport_len; /* length of transport address */
23+ __kernel_sa_family_t srx_family; /* address family */
24+ __u16 srx_service; /* service desired */
25+ __u16 transport_type; /* type of transport socket (SOCK_DGRAM) */
26+ __u16 transport_len; /* length of transport address */
2727 union {
28− sa_family_t family; /* transport address family */
28+ __kernel_sa_family_t family; /* transport address family */
2929 struct sockaddr_in sin; /* IPv4 transport address */
3030 struct sockaddr_in6 sin6; /* IPv6 transport address */
3131 } transport;
include/uapi/linux/sctp.h+16−0
@@ -123,6 +123,8 @@ typedef __s32 sctp_assoc_t; · 122 unmodified lines
123123 #define SCTP_RESET_ASSOC 120
124124 #define SCTP_ADD_STREAMS 121
125125 #define SCTP_SOCKOPT_PEELOFF_FLAGS 122
126+#define SCTP_STREAM_SCHEDULER 123
127+#define SCTP_STREAM_SCHEDULER_VALUE 124
126128
127129 /* PR-SCTP policies */
128130 #define SCTP_PR_SCTP_NONE 0x0000
@@ -815,6 +817,12 @@ struct sctp_assoc_value { · 686 unmodified lines
815817 uint32_t assoc_value;
816818 };
817819
820+struct sctp_stream_value {
821+ sctp_assoc_t assoc_id;
822+ uint16_t stream_id;
823+ uint16_t stream_value;
824+};
825+
818826 /*
819827 * 7.2.2 Peer Address Information
820828 *
@@ -1089,4 +1097,12 @@ struct sctp_add_streams { · 268 unmodified lines
10891097 uint16_t sas_outstrms;
10901098 };
10911099
1100+/* SCTP Stream schedulers */
1101+enum sctp_sched_type {
1102+ SCTP_SS_FCFS,
1103+ SCTP_SS_PRIO,
1104+ SCTP_SS_RR,
1105+ SCTP_SS_MAX = SCTP_SS_RR
1106+};
1107+
10921108 #endif /* _UAPI_SCTP_H */
include/uapi/linux/snmp.h+0−1
@@ -191,7 +191,6 @@ enum · 190 unmodified lines
191191 LINUX_MIB_TCPRENORECOVERY, /* TCPRenoRecovery */
192192 LINUX_MIB_TCPSACKRECOVERY, /* TCPSackRecovery */
193193 LINUX_MIB_TCPSACKRENEGING, /* TCPSACKReneging */
194− LINUX_MIB_TCPFACKREORDER, /* TCPFACKReorder */
195194 LINUX_MIB_TCPSACKREORDER, /* TCPSACKReorder */
196195 LINUX_MIB_TCPRENOREORDER, /* TCPRenoReorder */
197196 LINUX_MIB_TCPTSREORDER, /* TCPTSReorder */
include/uapi/linux/tc_act/tc_mirred.h+3−3
@@ -10,13 +10,13 @@ · 9 unmodified lines
1010 #define TCA_EGRESS_MIRROR 2 /* mirror packet to EGRESS */
1111 #define TCA_INGRESS_REDIR 3 /* packet redirect to INGRESS*/
1212 #define TCA_INGRESS_MIRROR 4 /* mirror packet to INGRESS */
13−
13+
1414 struct tc_mirred {
1515 tc_gen;
1616 int eaction; /* one of IN/EGRESS_MIRROR/REDIR */
1717 __u32 ifindex; /* ifindex of egress port */
1818 };
19−
19+
2020 enum {
2121 TCA_MIRRED_UNSPEC,
2222 TCA_MIRRED_TM,
@@ -25,5 +25,5 @@ enum { · 2 unmodified lines
2525 __TCA_MIRRED_MAX
2626 };
2727 #define TCA_MIRRED_MAX (__TCA_MIRRED_MAX - 1)
28−
28+
2929 #endif
include/uapi/linux/tcp.h+2−0
@@ -120,6 +120,8 @@ enum { · 119 unmodified lines
120120 #define TCP_FASTOPEN_CONNECT 30 /* Attempt FastOpen with connect */
121121 #define TCP_ULP 31 /* Attach a ULP to a TCP connection */
122122 #define TCP_MD5SIG_EXT 32 /* TCP MD5 Signature with extensions */
123+#define TCP_FASTOPEN_KEY 33 /* Set the key for Fast Open (cookie) */
124+#define TCP_FASTOPEN_NO_COOKIE 34 /* Enable TFO without a TFO cookie */
123125
124126 struct tcp_repair_opt {
125127 __u32 opt_code;
include/uapi/linux/tipc.h+15−0
@@ -232,6 +232,21 @@ struct sockaddr_tipc { · 231 unmodified lines
232232 #define TIPC_SOCK_RECVQ_DEPTH 132 /* Default: none (read only) */
233233 #define TIPC_MCAST_BROADCAST 133 /* Default: TIPC selects. No arg */
234234 #define TIPC_MCAST_REPLICAST 134 /* Default: TIPC selects. No arg */
235+#define TIPC_GROUP_JOIN 135 /* Takes struct tipc_group_req* */
236+#define TIPC_GROUP_LEAVE 136 /* No argument */
237+
238+/*
239+ * Flag values
240+ */
241+#define TIPC_GROUP_LOOPBACK 0x1 /* Receive copy of sent msg when match */
242+#define TIPC_GROUP_MEMBER_EVTS 0x2 /* Receive membership events in socket */
243+
244+struct tipc_group_req {
245+ __u32 type; /* group id */
246+ __u32 instance; /* member id */
247+ __u32 scope; /* zone/cluster/node */
248+ __u32 flags;
249+};
235250
236251 /*
237252 * Maximum sizes of TIPC bearer-related names (including terminating NULL)
include/uapi/linux/tls.h+0−4
@@ -35,10 +35,6 @@ · 34 unmodified lines
3535 #define _UAPI_LINUX_TLS_H
3636
3737 #include <linux/types.h>
38−#include <asm/byteorder.h>
39−#include <linux/socket.h>
40−#include <linux/tcp.h>
41−#include <net/tcp.h>
4238
4339 /* TLS socket options */
4440 #define TLS_TX 1 /* Set transmit parameters */
include/uapi/linux/vm_sockets_diag.h+33−0
@@ -0,0 +1,33 @@
1+/* AF_VSOCK sock_diag(7) interface for querying open sockets */
2+
3+#ifndef _UAPI__VM_SOCKETS_DIAG_H__
4+#define _UAPI__VM_SOCKETS_DIAG_H__
5+
6+#include <linux/types.h>
7+
8+/* Request */
9+struct vsock_diag_req {
10+ __u8 sdiag_family; /* must be AF_VSOCK */
11+ __u8 sdiag_protocol; /* must be 0 */
12+ __u16 pad; /* must be 0 */
13+ __u32 vdiag_states; /* query bitmap (e.g. 1 << TCP_LISTEN) */
14+ __u32 vdiag_ino; /* must be 0 (reserved) */
15+ __u32 vdiag_show; /* must be 0 (reserved) */
16+ __u32 vdiag_cookie[2];
17+};
18+
19+/* Response */
20+struct vsock_diag_msg {
21+ __u8 vdiag_family; /* AF_VSOCK */
22+ __u8 vdiag_type; /* SOCK_STREAM or SOCK_DGRAM */
23+ __u8 vdiag_state; /* sk_state (e.g. TCP_LISTEN) */
24+ __u8 vdiag_shutdown; /* local RCV_SHUTDOWN | SEND_SHUTDOWN */
25+ __u32 vdiag_src_cid;
26+ __u32 vdiag_src_port;
27+ __u32 vdiag_dst_cid;
28+ __u32 vdiag_dst_port;
29+ __u32 vdiag_ino;
30+ __u32 vdiag_cookie[2];
31+};
32+
33+#endif /* _UAPI__VM_SOCKETS_DIAG_H__ */