History

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

Pull networking updates from David Miller: 1) New offloading infrastructure and example 'rocker' driver for offloading of switching and routing to hardware. This work was done by a large group of dedicated individuals, not limited to: Scott Feldman, Jiri Pirko, Thomas Graf, John Fastabend, Jamal Hadi Salim, Andy Gospodarek, Florian Fainelli, Roopa Prabhu 2) Start making the networking operate on IOV iterators instead of modifying iov objects in-situ during transfers. Thanks to Al Viro and Herbert Xu. 3) A set of new netlink interfaces for the TIPC stack, from Richard Alpe. 4) Remove unnecessary looping during ipv6 routing lookups, from Martin KaFai Lau. 5) Add PAUSE frame generation support to gianfar driver, from Matei Pavaluca. 6) Allow for larger reordering levels in TCP, which are easily achievable in the real world right now, from Eric Dumazet. 7) Add a variable of napi_schedule that doesn't need to disable cpu interrupts, from Eric Dumazet. 8) Use a doubly linked list to optimize neigh_parms_release(), from Nicolas Dichtel. 9) Various enhancements to the kernel BPF verifier, and allow eBPF programs to actually be attached to sockets. From Alexei Starovoitov. 10) Support TSO/LSO in sunvnet driver, from David L Stevens. 11) Allow controlling ECN usage via routing metrics, from Florian Westphal. 12) Remote checksum offload, from Tom Herbert. 13) Add split-header receive, BQL, and xmit_more support to amd-xgbe driver, from Thomas Lendacky. 14) Add MPLS support to openvswitch, from Simon Horman. 15) Support wildcard tunnel endpoints in ipv6 tunnels, from Steffen Klassert. 16) Do gro flushes on a per-device basis using a timer, from Eric Dumazet. This tries to resolve the conflicting goals between the desired handling of bulk vs. RPC-like traffic. 17) Allow userspace to ask for the CPU upon what a packet was received/steered, via SO_INCOMING_CPU. From Eric Dumazet. 18) Limit GSO packets to half the current congestion window, from Eric Dumazet. 19) Add a generic helper so that all drivers set their RSS keys in a consistent way, from Eric Dumazet. 20) Add xmit_more support to enic driver, from Govindarajulu Varadarajan. 21) Add VLAN packet scheduler action, from Jiri Pirko. 22) Support configurable RSS hash functions via ethtool, from Eyal Perry. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1820 commits) Fix race condition between vxlan_sock_add and vxlan_sock_release net/macb: fix compilation warning for print_hex_dump() called with skb->mac_header net/mlx4: Add support for A0 steering net/mlx4: Refactor QUERY_PORT net/mlx4_core: Add explicit error message when rule doesn't meet configuration net/mlx4: Add A0 hybrid steering net/mlx4: Add mlx4_bitmap zone allocator net/mlx4: Add a check if there are too many reserved QPs net/mlx4: Change QP allocation scheme net/mlx4_core: Use tasklet for user-space CQ completion events net/mlx4_core: Mask out host side virtualization features for guests net/mlx4_en: Set csum level for encapsulated packets be2net: Export tunnel offloads only when a VxLAN tunnel is created gianfar: Fix dma check map error when DMA_API_DEBUG is enabled cxgb4/csiostor: Don't use MASTER_MUST for fw_hello call net: fec: only enable mdio interrupt before phy device link up net: fec: clear all interrupt events to support i.MX6SX net: fec: reset fep link status in suspend function net: sock: fix access via invalid file descriptor net: introduce helper macro for_each_cmsghdr ...

Linus Torvalds committed 11 years ago

Commit 70e71ca2 parents bae41e4 00c83b01336 files · +70846 −29177Browse files

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

Unified · Split

21 files
  1. include/uapi/linux/Kbuild +46 −45
  2. include/uapi/linux/bpf.h +13 −1
  3. include/uapi/linux/can/error.h +1 −0
  4. include/uapi/linux/ethtool.h +25 −3
  5. include/uapi/linux/if_bridge.h +1 −0
  6. include/uapi/linux/if_link.h +18 −0
  7. include/uapi/linux/if_tunnel.h +1 −0
  8. include/uapi/linux/ipv6.h +1 −0
  9. include/uapi/linux/neighbour.h +3 −3
  10. include/uapi/linux/net_tstamp.h +2 −1
  11. include/uapi/linux/netfilter/ipset/ip_set.h +7 −1
  12. include/uapi/linux/netfilter/nf_tables.h +18 −0
  13. include/uapi/linux/netfilter/xt_set.h +11 −2
  14. include/uapi/linux/nfc.h +14 −9
  15. include/uapi/linux/nl80211.h +139 −8
  16. include/uapi/linux/openvswitch.h +50 −3
  17. include/uapi/linux/rtnetlink.h +1 −0
  18. include/uapi/linux/snmp.h +5 −0
  19. include/uapi/linux/tc_act/Kbuild +1 −0
  20. include/uapi/linux/tc_act/tc_vlan.h +35 −0
  21. include/uapi/linux/tipc_netlink.h +244 −0
include/uapi/linux/Kbuild+46−45
@@ -37,27 +37,27 @@ header-y += aio_abi.h · 36 unmodified lines
3737 header-y += apm_bios.h
3838 header-y += arcfb.h
3939 header-y += atalk.h
40−header-y += atm.h
41−header-y += atm_eni.h
42−header-y += atm_he.h
43−header-y += atm_idt77105.h
44−header-y += atm_nicstar.h
45−header-y += atm_tcp.h
46−header-y += atm_zatm.h
4740 header-y += atmapi.h
4841 header-y += atmarp.h
4942 header-y += atmbr2684.h
5043 header-y += atmclip.h
5144 header-y += atmdev.h
45+header-y += atm_eni.h
46+header-y += atm.h
47+header-y += atm_he.h
48+header-y += atm_idt77105.h
5249 header-y += atmioc.h
5350 header-y += atmlec.h
5451 header-y += atmmpc.h
52+header-y += atm_nicstar.h
5553 header-y += atmppp.h
5654 header-y += atmsap.h
5755 header-y += atmsvc.h
56+header-y += atm_tcp.h
57+header-y += atm_zatm.h
5858 header-y += audit.h
59−header-y += auto_fs.h
6059 header-y += auto_fs4.h
60+header-y += auto_fs.h
6161 header-y += auxvec.h
6262 header-y += ax25.h
6363 header-y += b1lli.h
@@ -67,8 +67,8 @@ header-y += bfs_fs.h · 3 unmodified lines
6767 header-y += binfmts.h
6868 header-y += blkpg.h
6969 header-y += blktrace_api.h
70−header-y += bpf.h
7170 header-y += bpf_common.h
71+header-y += bpf.h
7272 header-y += bpqether.h
7373 header-y += bsg.h
7474 header-y += btrfs.h
@@ -93,21 +93,21 @@ header-y += cyclades.h · 18 unmodified lines
9393 header-y += cycx_cfm.h
9494 header-y += dcbnl.h
9595 header-y += dccp.h
96−header-y += dlm.h
96+header-y += dlmconstants.h
9797 header-y += dlm_device.h
98+header-y += dlm.h
9899 header-y += dlm_netlink.h
99100 header-y += dlm_plock.h
100−header-y += dlmconstants.h
101101 header-y += dm-ioctl.h
102102 header-y += dm-log-userspace.h
103103 header-y += dn.h
104104 header-y += dqblk_xfs.h
105105 header-y += edd.h
106106 header-y += efs_fs_sb.h
107+header-y += elfcore.h
107108 header-y += elf-em.h
108109 header-y += elf-fdpic.h
109110 header-y += elf.h
110−header-y += elfcore.h
111111 header-y += errno.h
112112 header-y += errqueue.h
113113 header-y += ethtool.h
@@ -131,15 +131,15 @@ header-y += fsl_hypervisor.h · 17 unmodified lines
131131 header-y += fuse.h
132132 header-y += futex.h
133133 header-y += gameport.h
134−header-y += gen_stats.h
135134 header-y += genetlink.h
135+header-y += gen_stats.h
136136 header-y += gfs2_ondisk.h
137137 header-y += gigaset_dev.h
138−header-y += hdlc.h
139138 header-y += hdlcdrv.h
139+header-y += hdlc.h
140140 header-y += hdreg.h
141−header-y += hid.h
142141 header-y += hiddev.h
142+header-y += hid.h
143143 header-y += hidraw.h
144144 header-y += hpet.h
145145 header-y += hsr_netlink.h
@@ -151,7 +151,6 @@ header-y += i2o-dev.h · 5 unmodified lines
151151 header-y += i8k.h
152152 header-y += icmp.h
153153 header-y += icmpv6.h
154−header-y += if.h
155154 header-y += if_addr.h
156155 header-y += if_addrlabel.h
157156 header-y += if_alg.h
@@ -165,6 +164,7 @@ header-y += if_ether.h · 7 unmodified lines
165164 header-y += if_fc.h
166165 header-y += if_fddi.h
167166 header-y += if_frad.h
167+header-y += if.h
168168 header-y += if_hippi.h
169169 header-y += if_infiniband.h
170170 header-y += if_link.h
@@ -182,40 +182,40 @@ header-y += if_tunnel.h · 11 unmodified lines
182182 header-y += if_vlan.h
183183 header-y += if_x25.h
184184 header-y += igmp.h
185−header-y += in.h
186185 header-y += in6.h
187−header-y += in_route.h
188186 header-y += inet_diag.h
187+header-y += in.h
189188 header-y += inotify.h
190189 header-y += input.h
190+header-y += in_route.h
191191 header-y += ioctl.h
192−header-y += ip.h
193192 header-y += ip6_tunnel.h
194−header-y += ip_vs.h
195193 header-y += ipc.h
194+header-y += ip.h
196195 header-y += ipmi.h
197196 header-y += ipmi_msgdefs.h
198197 header-y += ipsec.h
199198 header-y += ipv6.h
200199 header-y += ipv6_route.h
200+header-y += ip_vs.h
201201 header-y += ipx.h
202202 header-y += irda.h
203203 header-y += irqnr.h
204−header-y += isdn.h
205204 header-y += isdn_divertif.h
206−header-y += isdn_ppp.h
205+header-y += isdn.h
207206 header-y += isdnif.h
207+header-y += isdn_ppp.h
208208 header-y += iso_fs.h
209−header-y += ivtv.h
210209 header-y += ivtvfb.h
210+header-y += ivtv.h
211211 header-y += ixjuser.h
212212 header-y += jffs2.h
213213 header-y += joystick.h
214−header-y += kd.h
215214 header-y += kdev_t.h
216−header-y += kernel-page-flags.h
217−header-y += kernel.h
215+header-y += kd.h
218216 header-y += kernelcapi.h
217+header-y += kernel.h
218+header-y += kernel-page-flags.h
219219 header-y += kexec.h
220220 header-y += keyboard.h
221221 header-y += keyctl.h
@@ -231,6 +231,7 @@ ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm_para.h \ · 9 unmodified lines
231231 header-y += kvm_para.h
232232 endif
233233
234+header-y += hw_breakpoint.h
234235 header-y += l2tp.h
235236 header-y += libc-compat.h
236237 header-y += limits.h
@@ -256,43 +257,43 @@ header-y += mman.h · 19 unmodified lines
256257 header-y += mmtimer.h
257258 header-y += mpls.h
258259 header-y += mqueue.h
259−header-y += mroute.h
260260 header-y += mroute6.h
261+header-y += mroute.h
261262 header-y += msdos_fs.h
262263 header-y += msg.h
263264 header-y += mtio.h
264−header-y += n_r3964.h
265265 header-y += nbd.h
266−header-y += ncp.h
267266 header-y += ncp_fs.h
267+header-y += ncp.h
268268 header-y += ncp_mount.h
269269 header-y += ncp_no.h
270270 header-y += neighbour.h
271−header-y += net.h
272−header-y += net_dropmon.h
273−header-y += net_tstamp.h
274271 header-y += netconf.h
275272 header-y += netdevice.h
276−header-y += netlink_diag.h
277−header-y += netfilter.h
273+header-y += net_dropmon.h
278274 header-y += netfilter_arp.h
279275 header-y += netfilter_bridge.h
280276 header-y += netfilter_decnet.h
277+header-y += netfilter.h
281278 header-y += netfilter_ipv4.h
282279 header-y += netfilter_ipv6.h
280+header-y += net.h
281+header-y += netlink_diag.h
283282 header-y += netlink.h
284283 header-y += netrom.h
284+header-y += net_tstamp.h
285285 header-y += nfc.h
286−header-y += nfs.h
287286 header-y += nfs2.h
288287 header-y += nfs3.h
289288 header-y += nfs4.h
290289 header-y += nfs4_mount.h
290+header-y += nfsacl.h
291291 header-y += nfs_fs.h
292+header-y += nfs.h
292293 header-y += nfs_idmap.h
293294 header-y += nfs_mount.h
294−header-y += nfsacl.h
295295 header-y += nl80211.h
296+header-y += n_r3964.h
296297 header-y += nubus.h
297298 header-y += nvme.h
298299 header-y += nvram.h
@@ -312,16 +313,16 @@ header-y += pfkeyv2.h · 13 unmodified lines
312313 header-y += pg.h
313314 header-y += phantom.h
314315 header-y += phonet.h
316+header-y += pktcdvd.h
315317 header-y += pkt_cls.h
316318 header-y += pkt_sched.h
317−header-y += pktcdvd.h
318319 header-y += pmu.h
319320 header-y += poll.h
320321 header-y += posix_types.h
321322 header-y += ppdev.h
322323 header-y += ppp-comp.h
323−header-y += ppp-ioctl.h
324324 header-y += ppp_defs.h
325+header-y += ppp-ioctl.h
325326 header-y += pps.h
326327 header-y += prctl.h
327328 header-y += psci.h
@@ -353,13 +354,13 @@ header-y += seccomp.h · 25 unmodified lines
353354 header-y += securebits.h
354355 header-y += selinux_netlink.h
355356 header-y += sem.h
356−header-y += serial.h
357357 header-y += serial_core.h
358+header-y += serial.h
358359 header-y += serial_reg.h
359360 header-y += serio.h
360361 header-y += shm.h
361−header-y += signal.h
362362 header-y += signalfd.h
363+header-y += signal.h
363364 header-y += smiapp.h
364365 header-y += snmp.h
365366 header-y += sock_diag.h
@@ -368,8 +369,8 @@ header-y += sockios.h · 2 unmodified lines
368369 header-y += som.h
369370 header-y += sonet.h
370371 header-y += sonypi.h
371−header-y += sound.h
372372 header-y += soundcard.h
373+header-y += sound.h
373374 header-y += stat.h
374375 header-y += stddef.h
375376 header-y += string.h
@@ -388,11 +389,12 @@ header-y += time.h · 12 unmodified lines
388389 header-y += times.h
389390 header-y += timex.h
390391 header-y += tiocl.h
391−header-y += tipc.h
392392 header-y += tipc_config.h
393+header-y += tipc_netlink.h
394+header-y += tipc.h
393395 header-y += toshiba.h
394−header-y += tty.h
395396 header-y += tty_flags.h
397+header-y += tty.h
396398 header-y += types.h
397399 header-y += udf_fs_i.h
398400 header-y += udp.h
@@ -424,12 +426,12 @@ header-y += virtio_blk.h · 25 unmodified lines
424426 header-y += virtio_config.h
425427 header-y += virtio_console.h
426428 header-y += virtio_ids.h
427−header-y += virtio_types.h
428429 header-y += virtio_net.h
429430 header-y += virtio_pci.h
430431 header-y += virtio_ring.h
431432 header-y += virtio_rng.h
432433 header-y += virtio_scsi.h
434+header-y += virtio_types.h
433435 header-y += vm_sockets.h
434436 header-y += vt.h
435437 header-y += wait.h
@@ -440,6 +442,5 @@ header-y += wireless.h · 4 unmodified lines
440442 header-y += x25.h
441443 header-y += xattr.h
442444 header-y += xfrm.h
443−header-y += hw_breakpoint.h
444445 header-y += zorro.h
445446 header-y += zorro_ids.h
include/uapi/linux/bpf.h+13−1
@@ -82,7 +82,7 @@ enum bpf_cmd { · 81 unmodified lines
8282
8383 /* create or update key/value pair in a given map
8484 * err = bpf(BPF_MAP_UPDATE_ELEM, union bpf_attr *attr, u32 size)
85− * Using attr->map_fd, attr->key, attr->value
85+ * Using attr->map_fd, attr->key, attr->value, attr->flags
8686 * returns zero or negative error
8787 */
8888 BPF_MAP_UPDATE_ELEM,
@@ -111,12 +111,20 @@ enum bpf_cmd { · 22 unmodified lines
111111
112112 enum bpf_map_type {
113113 BPF_MAP_TYPE_UNSPEC,
114+ BPF_MAP_TYPE_HASH,
115+ BPF_MAP_TYPE_ARRAY,
114116 };
115117
116118 enum bpf_prog_type {
117119 BPF_PROG_TYPE_UNSPEC,
120+ BPF_PROG_TYPE_SOCKET_FILTER,
118121 };
119122
123+/* flags for BPF_MAP_UPDATE_ELEM command */
124+#define BPF_ANY 0 /* create new element or update existing */
125+#define BPF_NOEXIST 1 /* create new element if it didn't exist */
126+#define BPF_EXIST 2 /* update existing element */
127+
120128 union bpf_attr {
121129 struct { /* anonymous struct used by BPF_MAP_CREATE command */
122130 __u32 map_type; /* one of enum bpf_map_type */
@@ -132,6 +140,7 @@ union bpf_attr { · 9 unmodified lines
132140 __aligned_u64 value;
133141 __aligned_u64 next_key;
134142 };
143+ __u64 flags;
135144 };
136145
137146 struct { /* anonymous struct used by BPF_PROG_LOAD command */
@@ -150,6 +159,9 @@ union bpf_attr { · 12 unmodified lines
150159 */
151160 enum bpf_func_id {
152161 BPF_FUNC_unspec,
162+ BPF_FUNC_map_lookup_elem, /* void *map_lookup_elem(&map, &key) */
163+ BPF_FUNC_map_update_elem, /* int map_update_elem(&map, &key, &value, flags) */
164+ BPF_FUNC_map_delete_elem, /* int map_delete_elem(&map, &key) */
153165 __BPF_FUNC_MAX_ID,
154166 };
155167
include/uapi/linux/can/error.h+1−0
@@ -71,6 +71,7 @@ · 70 unmodified lines
7171 #define CAN_ERR_CRTL_TX_PASSIVE 0x20 /* reached error passive status TX */
7272 /* (at least one error counter exceeds */
7373 /* the protocol-defined level of 127) */
74+#define CAN_ERR_CRTL_ACTIVE 0x40 /* recovered to error active state */
7475
7576 /* error in CAN protocol (type) / data[2] */
7677 #define CAN_ERR_PROT_UNSPEC 0x00 /* unspecified */
include/uapi/linux/ethtool.h+25−3
@@ -534,6 +534,7 @@ struct ethtool_pauseparam { · 533 unmodified lines
534534 * @ETH_SS_NTUPLE_FILTERS: Previously used with %ETHTOOL_GRXNTUPLE;
535535 * now deprecated
536536 * @ETH_SS_FEATURES: Device feature names
537+ * @ETH_SS_RSS_HASH_FUNCS: RSS hush function names
537538 */
538539 enum ethtool_stringset {
539540 ETH_SS_TEST = 0,
@@ -541,6 +542,7 @@ enum ethtool_stringset { · 1 unmodified line
541542 ETH_SS_PRIV_FLAGS,
542543 ETH_SS_NTUPLE_FILTERS,
543544 ETH_SS_FEATURES,
545+ ETH_SS_RSS_HASH_FUNCS,
544546 };
545547
546548 /**
@@ -884,6 +886,8 @@ struct ethtool_rxfh_indir { · 337 unmodified lines
884886 * @key_size: On entry, the array size of the user buffer for the hash key,
885887 * which may be zero. On return from %ETHTOOL_GRSSH, the size of the
886888 * hardware hash key.
889+ * @hfunc: Defines the current RSS hash function used by HW (or to be set to).
890+ * Valid values are one of the %ETH_RSS_HASH_*.
887891 * @rsvd: Reserved for future extensions.
888892 * @rss_config: RX ring/queue index for each hash value i.e., indirection table
889893 * of @indir_size __u32 elements, followed by hash key of @key_size
@@ -893,14 +897,16 @@ struct ethtool_rxfh_indir { · 3 unmodified lines
893897 * size should be returned. For %ETHTOOL_SRSSH, an @indir_size of
894898 * %ETH_RXFH_INDIR_NO_CHANGE means that indir table setting is not requested
895899 * and a @indir_size of zero means the indir table should be reset to default
896− * values.
900+ * values. An hfunc of zero means that hash function setting is not requested.
897901 */
898902 struct ethtool_rxfh {
899903 __u32 cmd;
900904 __u32 rss_context;
901905 __u32 indir_size;
902906 __u32 key_size;
903− __u32 rsvd[2];
907+ __u8 hfunc;
908+ __u8 rsvd8[3];
909+ __u32 rsvd32;
904910 __u32 rss_config[0];
905911 };
906912 #define ETH_RXFH_INDIR_NO_CHANGE 0xffffffff
@@ -1213,6 +1219,10 @@ enum ethtool_sfeatures_retval_bits { · 306 unmodified lines
12131219 #define SUPPORTED_40000baseCR4_Full (1 << 24)
12141220 #define SUPPORTED_40000baseSR4_Full (1 << 25)
12151221 #define SUPPORTED_40000baseLR4_Full (1 << 26)
1222+#define SUPPORTED_56000baseKR4_Full (1 << 27)
1223+#define SUPPORTED_56000baseCR4_Full (1 << 28)
1224+#define SUPPORTED_56000baseSR4_Full (1 << 29)
1225+#define SUPPORTED_56000baseLR4_Full (1 << 30)
12161226
12171227 #define ADVERTISED_10baseT_Half (1 << 0)
12181228 #define ADVERTISED_10baseT_Full (1 << 1)
@@ -1241,6 +1251,10 @@ enum ethtool_sfeatures_retval_bits { · 22 unmodified lines
12411251 #define ADVERTISED_40000baseCR4_Full (1 << 24)
12421252 #define ADVERTISED_40000baseSR4_Full (1 << 25)
12431253 #define ADVERTISED_40000baseLR4_Full (1 << 26)
1254+#define ADVERTISED_56000baseKR4_Full (1 << 27)
1255+#define ADVERTISED_56000baseCR4_Full (1 << 28)
1256+#define ADVERTISED_56000baseSR4_Full (1 << 29)
1257+#define ADVERTISED_56000baseLR4_Full (1 << 30)
12441258
12451259 /* The following are all involved in forcing a particular link
12461260 * mode for the device for setting things. When getting the
@@ -1248,12 +1262,16 @@ enum ethtool_sfeatures_retval_bits { · 1 unmodified line
12481262 * it was forced up into this mode or autonegotiated.
12491263 */
12501264
1251−/* The forced speed, 10Mb, 100Mb, gigabit, 2.5Gb, 10GbE. */
1265+/* The forced speed, 10Mb, 100Mb, gigabit, [2.5|10|20|40|56]GbE. */
12521266 #define SPEED_10 10
12531267 #define SPEED_100 100
12541268 #define SPEED_1000 1000
12551269 #define SPEED_2500 2500
12561270 #define SPEED_10000 10000
1271+#define SPEED_20000 20000
1272+#define SPEED_40000 40000
1273+#define SPEED_56000 56000
1274+
12571275 #define SPEED_UNKNOWN -1
12581276
12591277 /* Duplex, half or full. */
@@ -1343,6 +1361,10 @@ enum ethtool_sfeatures_retval_bits { · 83 unmodified lines
13431361 #define ETH_MODULE_SFF_8079_LEN 256
13441362 #define ETH_MODULE_SFF_8472 0x2
13451363 #define ETH_MODULE_SFF_8472_LEN 512
1364+#define ETH_MODULE_SFF_8636 0x3
1365+#define ETH_MODULE_SFF_8636_LEN 256
1366+#define ETH_MODULE_SFF_8436 0x4
1367+#define ETH_MODULE_SFF_8436_LEN 256
13461368
13471369 /* Reset flags */
13481370 /* The reset() operation must clear the flags for the components which
include/uapi/linux/if_bridge.h+1−0
@@ -105,6 +105,7 @@ struct __fdb_entry { · 104 unmodified lines
105105
106106 #define BRIDGE_MODE_VEB 0 /* Default loopback mode */
107107 #define BRIDGE_MODE_VEPA 1 /* 802.1Qbg defined VEPA mode */
108+#define BRIDGE_MODE_UNDEF 0xFFFF /* mode undefined */
108109
109110 /* Bridge management nested attributes
110111 * [IFLA_AF_SPEC] = {
include/uapi/linux/if_link.h+18−0
@@ -145,6 +145,7 @@ enum { · 144 unmodified lines
145145 IFLA_CARRIER,
146146 IFLA_PHYS_PORT_ID,
147147 IFLA_CARRIER_CHANGES,
148+ IFLA_PHYS_SWITCH_ID,
148149 __IFLA_MAX
149150 };
150151
@@ -243,6 +244,8 @@ enum { · 92 unmodified lines
243244 IFLA_BRPORT_FAST_LEAVE, /* multicast fast leave */
244245 IFLA_BRPORT_LEARNING, /* mac learning */
245246 IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */
247+ IFLA_BRPORT_PROXYARP, /* proxy ARP */
248+ IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */
246249 __IFLA_BRPORT_MAX
247250 };
248251 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -329,6 +332,21 @@ enum macvlan_macaddr_mode { · 80 unmodified lines
329332
330333 #define MACVLAN_FLAG_NOPROMISC 1
331334
335+/* IPVLAN section */
336+enum {
337+ IFLA_IPVLAN_UNSPEC,
338+ IFLA_IPVLAN_MODE,
339+ __IFLA_IPVLAN_MAX
340+};
341+
342+#define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1)
343+
344+enum ipvlan_mode {
345+ IPVLAN_MODE_L2 = 0,
346+ IPVLAN_MODE_L3,
347+ IPVLAN_MODE_MAX
348+};
349+
332350 /* VXLAN section */
333351 enum {
334352 IFLA_VXLAN_UNSPEC,
include/uapi/linux/if_tunnel.h+1−0
@@ -69,6 +69,7 @@ enum tunnel_encap_types { · 68 unmodified lines
6969
7070 #define TUNNEL_ENCAP_FLAG_CSUM (1<<0)
7171 #define TUNNEL_ENCAP_FLAG_CSUM6 (1<<1)
72+#define TUNNEL_ENCAP_FLAG_REMCSUM (1<<2)
7273
7374 /* SIT-mode i_flags */
7475 #define SIT_ISATAP 0x0001
include/uapi/linux/ipv6.h+1−0
@@ -164,6 +164,7 @@ enum { · 163 unmodified lines
164164 DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL,
165165 DEVCONF_SUPPRESS_FRAG_NDISC,
166166 DEVCONF_ACCEPT_RA_FROM_LOCAL,
167+ DEVCONF_USE_OPTIMISTIC,
167168 DEVCONF_MAX
168169 };
169170
include/uapi/linux/neighbour.h+3−3
@@ -35,11 +35,11 @@ enum { · 34 unmodified lines
3535 */
3636
3737 #define NTF_USE 0x01
38−#define NTF_PROXY 0x08 /* == ATF_PUBL */
39−#define NTF_ROUTER 0x80
40−
4138 #define NTF_SELF 0x02
4239 #define NTF_MASTER 0x04
40+#define NTF_PROXY 0x08 /* == ATF_PUBL */
41+#define NTF_EXT_LEARNED 0x10
42+#define NTF_ROUTER 0x80
4343
4444 /*
4545 * Neighbor Cache Entry States.
include/uapi/linux/net_tstamp.h+2−1
@@ -23,8 +23,9 @@ enum { · 22 unmodified lines
2323 SOF_TIMESTAMPING_OPT_ID = (1<<7),
2424 SOF_TIMESTAMPING_TX_SCHED = (1<<8),
2525 SOF_TIMESTAMPING_TX_ACK = (1<<9),
26+ SOF_TIMESTAMPING_OPT_CMSG = (1<<10),
2627
27− SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_TX_ACK,
28+ SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_CMSG,
2829 SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
2930 SOF_TIMESTAMPING_LAST
3031 };
include/uapi/linux/netfilter/ipset/ip_set.h+7−1
@@ -256,11 +256,17 @@ enum { · 255 unmodified lines
256256 IPSET_COUNTER_GT,
257257 };
258258
259−struct ip_set_counter_match {
259+/* Backward compatibility for set match v3 */
260+struct ip_set_counter_match0 {
260261 __u8 op;
261262 __u64 value;
262263 };
263264
265+struct ip_set_counter_match {
266+ __aligned_u64 value;
267+ __u8 op;
268+};
269+
264270 /* Interface to iptables/ip6tables */
265271
266272 #define SO_IP_SET 83
include/uapi/linux/netfilter/nf_tables.h+18−0
@@ -579,6 +579,7 @@ enum nft_exthdr_attributes { · 578 unmodified lines
579579 * @NFT_META_CPU: cpu id through smp_processor_id()
580580 * @NFT_META_IIFGROUP: packet input interface group
581581 * @NFT_META_OIFGROUP: packet output interface group
582+ * @NFT_META_CGROUP: socket control group (skb->sk->sk_classid)
582583 */
583584 enum nft_meta_keys {
584585 NFT_META_LEN,
@@ -604,6 +605,7 @@ enum nft_meta_keys { · 19 unmodified lines
604605 NFT_META_CPU,
605606 NFT_META_IIFGROUP,
606607 NFT_META_OIFGROUP,
608+ NFT_META_CGROUP,
607609 };
608610
609611 /**
@@ -837,6 +839,22 @@ enum nft_masq_attributes { · 227 unmodified lines
837839 };
838840 #define NFTA_MASQ_MAX (__NFTA_MASQ_MAX - 1)
839841
842+/**
843+ * enum nft_redir_attributes - nf_tables redirect expression netlink attributes
844+ *
845+ * @NFTA_REDIR_REG_PROTO_MIN: source register of proto range start (NLA_U32: nft_registers)
846+ * @NFTA_REDIR_REG_PROTO_MAX: source register of proto range end (NLA_U32: nft_registers)
847+ * @NFTA_REDIR_FLAGS: NAT flags (see NF_NAT_RANGE_* in linux/netfilter/nf_nat.h) (NLA_U32)
848+ */
849+enum nft_redir_attributes {
850+ NFTA_REDIR_UNSPEC,
851+ NFTA_REDIR_REG_PROTO_MIN,
852+ NFTA_REDIR_REG_PROTO_MAX,
853+ NFTA_REDIR_FLAGS,
854+ __NFTA_REDIR_MAX
855+};
856+#define NFTA_REDIR_MAX (__NFTA_REDIR_MAX - 1)
857+
840858 /**
841859 * enum nft_gen_attributes - nf_tables ruleset generation attributes
842860 *
include/uapi/linux/netfilter/xt_set.h+11−2
@@ -66,8 +66,8 @@ struct xt_set_info_target_v2 { · 65 unmodified lines
6666
6767 struct xt_set_info_match_v3 {
6868 struct xt_set_info match_set;
69− struct ip_set_counter_match packets;
70− struct ip_set_counter_match bytes;
69+ struct ip_set_counter_match0 packets;
70+ struct ip_set_counter_match0 bytes;
7171 __u32 flags;
7272 };
7373
@@ -81,4 +81,13 @@ struct xt_set_info_target_v3 { · 7 unmodified lines
8181 __u32 timeout;
8282 };
8383
84+/* Revision 4 match */
85+
86+struct xt_set_info_match_v4 {
87+ struct xt_set_info match_set;
88+ struct ip_set_counter_match packets;
89+ struct ip_set_counter_match bytes;
90+ __u32 flags;
91+};
92+
8493 #endif /*_XT_SET_H*/
include/uapi/linux/nfc.h+14−9
@@ -116,6 +116,7 @@ enum nfc_commands { · 115 unmodified lines
116116 NFC_EVENT_SE_TRANSACTION,
117117 NFC_CMD_GET_SE,
118118 NFC_CMD_SE_IO,
119+ NFC_CMD_ACTIVATE_TARGET,
119120 /* private: internal use only */
120121 __NFC_CMD_AFTER_LAST
121122 };
@@ -196,15 +197,19 @@ enum nfc_sdp_attr { · 74 unmodified lines
196197 };
197198 #define NFC_SDP_ATTR_MAX (__NFC_SDP_ATTR_AFTER_LAST - 1)
198199
199−#define NFC_DEVICE_NAME_MAXSIZE 8
200−#define NFC_NFCID1_MAXSIZE 10
201−#define NFC_NFCID2_MAXSIZE 8
202−#define NFC_NFCID3_MAXSIZE 10
203−#define NFC_SENSB_RES_MAXSIZE 12
204−#define NFC_SENSF_RES_MAXSIZE 18
205−#define NFC_GB_MAXSIZE 48
206−#define NFC_FIRMWARE_NAME_MAXSIZE 32
207−#define NFC_ISO15693_UID_MAXSIZE 8
200+#define NFC_DEVICE_NAME_MAXSIZE 8
201+#define NFC_NFCID1_MAXSIZE 10
202+#define NFC_NFCID2_MAXSIZE 8
203+#define NFC_NFCID3_MAXSIZE 10
204+#define NFC_SENSB_RES_MAXSIZE 12
205+#define NFC_SENSF_RES_MAXSIZE 18
206+#define NFC_ATR_REQ_MAXSIZE 64
207+#define NFC_ATR_RES_MAXSIZE 64
208+#define NFC_ATR_REQ_GB_MAXSIZE 48
209+#define NFC_ATR_RES_GB_MAXSIZE 47
210+#define NFC_GB_MAXSIZE 48
211+#define NFC_FIRMWARE_NAME_MAXSIZE 32
212+#define NFC_ISO15693_UID_MAXSIZE 8
208213
209214 /* NFC protocols */
210215 #define NFC_PROTO_JEWEL 1
include/uapi/linux/nl80211.h+139−8
@@ -227,7 +227,11 @@ · 226 unmodified lines
227227 * the interface identified by %NL80211_ATTR_IFINDEX.
228228 * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC
229229 * or, if no MAC address given, all stations, on the interface identified
230− * by %NL80211_ATTR_IFINDEX.
230+ * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and
231+ * %NL80211_ATTR_REASON_CODE can optionally be used to specify which type
232+ * of disconnection indication should be sent to the station
233+ * (Deauthentication or Disassociation frame and reason code for that
234+ * frame).
231235 *
232236 * @NL80211_CMD_GET_MPATH: Get mesh path attributes for mesh path to
233237 * destination %NL80211_ATTR_MAC on the interface identified by
@@ -639,7 +643,18 @@ · 405 unmodified lines
639643 * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels
640644 * independently of the userspace SME, send this event indicating
641645 * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the
642− * attributes determining channel width.
646+ * attributes determining channel width. This indication may also be
647+ * sent when a remotely-initiated switch (e.g., when a STA receives a CSA
648+ * from the remote AP) is completed;
649+ *
650+ * @NL80211_CMD_CH_SWITCH_STARTED_NOTIFY: Notify that a channel switch
651+ * has been started on an interface, regardless of the initiator
652+ * (ie. whether it was requested from a remote device or
653+ * initiated on our own). It indicates that
654+ * %NL80211_ATTR_IFINDEX will be on %NL80211_ATTR_WIPHY_FREQ
655+ * after %NL80211_ATTR_CH_SWITCH_COUNT TBTT's. The userspace may
656+ * decide to react to this indication by requesting other
657+ * interfaces to change channel as well.
643658 *
644659 * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by
645660 * its %NL80211_ATTR_WDEV identifier. It must have been created with
@@ -738,6 +753,27 @@ · 92 unmodified lines
738753 * before removing a station entry entirely, or before disassociating
739754 * or similar, cleanup will happen in the driver/device in this case.
740755 *
756+ * @NL80211_CMD_GET_MPP: Get mesh path attributes for mesh proxy path to
757+ * destination %NL80211_ATTR_MAC on the interface identified by
758+ * %NL80211_ATTR_IFINDEX.
759+ *
760+ * @NL80211_CMD_JOIN_OCB: Join the OCB network. The center frequency and
761+ * bandwidth of a channel must be given.
762+ * @NL80211_CMD_LEAVE_OCB: Leave the OCB network -- no special arguments, the
763+ * network is determined by the network interface.
764+ *
765+ * @NL80211_CMD_TDLS_CHANNEL_SWITCH: Start channel-switching with a TDLS peer,
766+ * identified by the %NL80211_ATTR_MAC parameter. A target channel is
767+ * provided via %NL80211_ATTR_WIPHY_FREQ and other attributes determining
768+ * channel width/type. The target operating class is given via
769+ * %NL80211_ATTR_OPER_CLASS.
770+ * The driver is responsible for continually initiating channel-switching
771+ * operations and returning to the base channel for communication with the
772+ * AP.
773+ * @NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH: Stop channel-switching with a TDLS
774+ * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel
775+ * when this command completes.
776+ *
741777 * @NL80211_CMD_MAX: highest used command number
742778 * @__NL80211_CMD_AFTER_LAST: internal use
743779 */
@@ -912,6 +948,16 @@ enum nl80211_commands { · 168 unmodified lines
912948 NL80211_CMD_ADD_TX_TS,
913949 NL80211_CMD_DEL_TX_TS,
914950
951+ NL80211_CMD_GET_MPP,
952+
953+ NL80211_CMD_JOIN_OCB,
954+ NL80211_CMD_LEAVE_OCB,
955+
956+ NL80211_CMD_CH_SWITCH_STARTED_NOTIFY,
957+
958+ NL80211_CMD_TDLS_CHANNEL_SWITCH,
959+ NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH,
960+
915961 /* add new commands above here */
916962
917963 /* used to define NL80211_CMD_MAX below */
@@ -1606,9 +1652,9 @@ enum nl80211_commands { · 688 unmodified lines
16061652 * @NL80211_ATTR_TDLS_PEER_CAPABILITY: flags for TDLS peer capabilities, u32.
16071653 * As specified in the &enum nl80211_tdls_peer_capability.
16081654 *
1609− * @NL80211_ATTR_IFACE_SOCKET_OWNER: flag attribute, if set during interface
1655+ * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface
16101656 * creation then the new interface will be owned by the netlink socket
1611− * that created it and will be destroyed when the socket is closed
1657+ * that created it and will be destroyed when the socket is closed.
16121658 *
16131659 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
16141660 * the TDLS link initiator.
@@ -1638,6 +1684,11 @@ enum nl80211_commands { · 23 unmodified lines
16381684 * @NL80211_ATTR_SMPS_MODE: SMPS mode to use (ap mode). see
16391685 * &enum nl80211_smps_mode.
16401686 *
1687+ * @NL80211_ATTR_OPER_CLASS: operating class
1688+ *
1689+ * @NL80211_ATTR_MAC_MASK: MAC address mask
1690+ *
1691+ * @NUM_NL80211_ATTR: total number of nl80211_attrs available
16411692 * @NL80211_ATTR_MAX: highest attribute number currently defined
16421693 * @__NL80211_ATTR_AFTER_LAST: internal use
16431694 */
@@ -1973,7 +2024,7 @@ enum nl80211_attrs { · 329 unmodified lines
19732024
19742025 NL80211_ATTR_TDLS_PEER_CAPABILITY,
19752026
1976− NL80211_ATTR_IFACE_SOCKET_OWNER,
2027+ NL80211_ATTR_SOCKET_OWNER,
19772028
19782029 NL80211_ATTR_CSA_C_OFFSETS_TX,
19792030 NL80211_ATTR_MAX_CSA_COUNTERS,
@@ -1990,15 +2041,21 @@ enum nl80211_attrs { · 10 unmodified lines
19902041
19912042 NL80211_ATTR_SMPS_MODE,
19922043
2044+ NL80211_ATTR_OPER_CLASS,
2045+
2046+ NL80211_ATTR_MAC_MASK,
2047+
19932048 /* add attributes here, update the policy in nl80211.c */
19942049
19952050 __NL80211_ATTR_AFTER_LAST,
2051+ NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST,
19962052 NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1
19972053 };
19982054
19992055 /* source-level API compatibility */
20002056 #define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
20012057 #define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG
2058+#define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER
20022059
20032060 /*
20042061 * Allow user space programs to use #ifdef on new attributes by defining them
@@ -2064,6 +2121,8 @@ enum nl80211_attrs { · 59 unmodified lines
20642121 * and therefore can't be created in the normal ways, use the
20652122 * %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE
20662123 * commands to create and destroy one
2124+ * @NL80211_IF_TYPE_OCB: Outside Context of a BSS
2125+ * This mode corresponds to the MIB variable dot11OCBActivated=true
20672126 * @NL80211_IFTYPE_MAX: highest interface type number currently defined
20682127 * @NUM_NL80211_IFTYPES: number of defined interface types
20692128 *
@@ -2083,6 +2142,7 @@ enum nl80211_iftype { · 13 unmodified lines
20832142 NL80211_IFTYPE_P2P_CLIENT,
20842143 NL80211_IFTYPE_P2P_GO,
20852144 NL80211_IFTYPE_P2P_DEVICE,
2145+ NL80211_IFTYPE_OCB,
20862146
20872147 /* keep last */
20882148 NUM_NL80211_IFTYPES,
@@ -2631,6 +2691,11 @@ enum nl80211_sched_scan_match_attr { · 542 unmodified lines
26312691 * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated
26322692 * base on contiguous rules and wider channels will be allowed to cross
26332693 * multiple contiguous/overlapping frequency ranges.
2694+ * @NL80211_RRF_GO_CONCURRENT: See &NL80211_FREQUENCY_ATTR_GO_CONCURRENT
2695+ * @NL80211_RRF_NO_HT40MINUS: channels can't be used in HT40- operation
2696+ * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation
2697+ * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed
2698+ * @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed
26342699 */
26352700 enum nl80211_reg_rule_flags {
26362701 NL80211_RRF_NO_OFDM = 1<<0,
@@ -2643,11 +2708,18 @@ enum nl80211_reg_rule_flags { · 6 unmodified lines
26432708 NL80211_RRF_NO_IR = 1<<7,
26442709 __NL80211_RRF_NO_IBSS = 1<<8,
26452710 NL80211_RRF_AUTO_BW = 1<<11,
2711+ NL80211_RRF_GO_CONCURRENT = 1<<12,
2712+ NL80211_RRF_NO_HT40MINUS = 1<<13,
2713+ NL80211_RRF_NO_HT40PLUS = 1<<14,
2714+ NL80211_RRF_NO_80MHZ = 1<<15,
2715+ NL80211_RRF_NO_160MHZ = 1<<16,
26462716 };
26472717
26482718 #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
26492719 #define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR
26502720 #define NL80211_RRF_NO_IR NL80211_RRF_NO_IR
2721+#define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS |\
2722+ NL80211_RRF_NO_HT40PLUS)
26512723
26522724 /* For backport compatibility with older userspace */
26532725 #define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS)
@@ -3379,6 +3451,8 @@ enum nl80211_ps_state { · 725 unmodified lines
33793451 * interval in which %NL80211_ATTR_CQM_TXE_PKTS and
33803452 * %NL80211_ATTR_CQM_TXE_RATE must be satisfied before generating an
33813453 * %NL80211_CMD_NOTIFY_CQM. Set to 0 to turn off TX error reporting.
3454+ * @NL80211_ATTR_CQM_BEACON_LOSS_EVENT: flag attribute that's set in a beacon
3455+ * loss event
33823456 * @__NL80211_ATTR_CQM_AFTER_LAST: internal
33833457 * @NL80211_ATTR_CQM_MAX: highest key attribute
33843458 */
@@ -3391,6 +3465,7 @@ enum nl80211_attr_cqm { · 6 unmodified lines
33913465 NL80211_ATTR_CQM_TXE_RATE,
33923466 NL80211_ATTR_CQM_TXE_PKTS,
33933467 NL80211_ATTR_CQM_TXE_INTVL,
3468+ NL80211_ATTR_CQM_BEACON_LOSS_EVENT,
33943469
33953470 /* keep last */
33963471 __NL80211_ATTR_CQM_AFTER_LAST,
@@ -3403,9 +3478,7 @@ enum nl80211_attr_cqm { · 6 unmodified lines
34033478 * configured threshold
34043479 * @NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH: The RSSI is higher than the
34053480 * configured threshold
3406− * @NL80211_CQM_RSSI_BEACON_LOSS_EVENT: The device experienced beacon loss.
3407− * (Note that deauth/disassoc will still follow if the AP is not
3408− * available. This event might get used as roaming event, etc.)
3481+ * @NL80211_CQM_RSSI_BEACON_LOSS_EVENT: (reserved, never sent)
34093482 */
34103483 enum nl80211_cqm_rssi_threshold_event {
34113484 NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW,
@@ -3545,6 +3618,25 @@ struct nl80211_pattern_support { · 133 unmodified lines
35453618 * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only,
35463619 * the TCP connection ran out of tokens to use for data to send to the
35473620 * service
3621+ * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network
3622+ * is detected. This is a nested attribute that contains the
3623+ * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It
3624+ * specifies how the scan is performed (e.g. the interval and the
3625+ * channels to scan) as well as the scan results that will
3626+ * trigger a wake (i.e. the matchsets).
3627+ * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute
3628+ * containing an array with information about what triggered the
3629+ * wake up. If no elements are present in the array, it means
3630+ * that the information is not available. If more than one
3631+ * element is present, it means that more than one match
3632+ * occurred.
3633+ * Each element in the array is a nested attribute that contains
3634+ * one optional %NL80211_ATTR_SSID attribute and one optional
3635+ * %NL80211_ATTR_SCAN_FREQUENCIES attribute. At least one of
3636+ * these attributes must be present. If
3637+ * %NL80211_ATTR_SCAN_FREQUENCIES contains more than one
3638+ * frequency, it means that the match occurred in more than one
3639+ * channel.
35483640 * @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers
35493641 * @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number
35503642 *
@@ -3570,6 +3662,8 @@ enum nl80211_wowlan_triggers { · 19 unmodified lines
35703662 NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH,
35713663 NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST,
35723664 NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS,
3665+ NL80211_WOWLAN_TRIG_NET_DETECT,
3666+ NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS,
35733667
35743668 /* keep last */
35753669 NUM_NL80211_WOWLAN_TRIG,
@@ -4042,6 +4136,27 @@ enum nl80211_ap_sme_features { · 466 unmodified lines
40424136 * multiplexing powersave, ie. can turn off all but one chain
40434137 * and then wake the rest up as required after, for example,
40444138 * rts/cts handshake.
4139+ * @NL80211_FEATURE_SUPPORTS_WMM_ADMISSION: the device supports setting up WMM
4140+ * TSPEC sessions (TID aka TSID 0-7) with the %NL80211_CMD_ADD_TX_TS
4141+ * command. Standard IEEE 802.11 TSPEC setup is not yet supported, it
4142+ * needs to be able to handle Block-Ack agreements and other things.
4143+ * @NL80211_FEATURE_MAC_ON_CREATE: Device supports configuring
4144+ * the vif's MAC address upon creation.
4145+ * See 'macaddr' field in the vif_params (cfg80211.h).
4146+ * @NL80211_FEATURE_TDLS_CHANNEL_SWITCH: Driver supports channel switching when
4147+ * operating as a TDLS peer.
4148+ * @NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR: This device/driver supports using a
4149+ * random MAC address during scan (if the device is unassociated); the
4150+ * %NL80211_SCAN_FLAG_RANDOM_ADDR flag may be set for scans and the MAC
4151+ * address mask/value will be used.
4152+ * @NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR: This device/driver supports
4153+ * using a random MAC address for every scan iteration during scheduled
4154+ * scan (while not associated), the %NL80211_SCAN_FLAG_RANDOM_ADDR may
4155+ * be set for scheduled scan and the MAC address mask/value will be used.
4156+ * @NL80211_FEATURE_ND_RANDOM_MAC_ADDR: This device/driver supports using a
4157+ * random MAC address for every scan iteration during "net detect", i.e.
4158+ * scan in unassociated WoWLAN, the %NL80211_SCAN_FLAG_RANDOM_ADDR may
4159+ * be set for scheduled scan and the MAC address mask/value will be used.
40454160 */
40464161 enum nl80211_feature_flags {
40474162 NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
@@ -4070,6 +4185,12 @@ enum nl80211_feature_flags { · 22 unmodified lines
40704185 NL80211_FEATURE_ACKTO_ESTIMATION = 1 << 23,
40714186 NL80211_FEATURE_STATIC_SMPS = 1 << 24,
40724187 NL80211_FEATURE_DYNAMIC_SMPS = 1 << 25,
4188+ NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 1 << 26,
4189+ NL80211_FEATURE_MAC_ON_CREATE = 1 << 27,
4190+ NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28,
4191+ NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29,
4192+ NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30,
4193+ NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31,
40734194 };
40744195
40754196 /**
@@ -4118,11 +4239,21 @@ enum nl80211_connect_failed_reason { · 42 unmodified lines
41184239 * dangerous because will destroy stations performance as a lot of frames
41194240 * will be lost while scanning off-channel, therefore it must be used only
41204241 * when really needed
4242+ * @NL80211_SCAN_FLAG_RANDOM_ADDR: use a random MAC address for this scan (or
4243+ * for scheduled scan: a different one for every scan iteration). When the
4244+ * flag is set, depending on device capabilities the @NL80211_ATTR_MAC and
4245+ * @NL80211_ATTR_MAC_MASK attributes may also be given in which case only
4246+ * the masked bits will be preserved from the MAC address and the remainder
4247+ * randomised. If the attributes are not given full randomisation (46 bits,
4248+ * locally administered 1, multicast 0) is assumed.
4249+ * This flag must not be requested when the feature isn't supported, check
4250+ * the nl80211 feature flags for the device.
41214251 */
41224252 enum nl80211_scan_flags {
41234253 NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0,
41244254 NL80211_SCAN_FLAG_FLUSH = 1<<1,
41254255 NL80211_SCAN_FLAG_AP = 1<<2,
4256+ NL80211_SCAN_FLAG_RANDOM_ADDR = 1<<3,
41264257 };
41274258
41284259 /**
include/uapi/linux/openvswitch.h+50−3
@@ -157,6 +157,11 @@ enum ovs_packet_cmd { · 156 unmodified lines
157157 * notification if the %OVS_ACTION_ATTR_USERSPACE action specified an
158158 * %OVS_USERSPACE_ATTR_USERDATA attribute, with the same length and content
159159 * specified there.
160+ * @OVS_PACKET_ATTR_EGRESS_TUN_KEY: Present for an %OVS_PACKET_CMD_ACTION
161+ * notification if the %OVS_ACTION_ATTR_USERSPACE action specified an
162+ * %OVS_USERSPACE_ATTR_EGRESS_TUN_PORT attribute, which is sent only if the
163+ * output port is actually a tunnel port. Contains the output tunnel key
164+ * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes.
160165 *
161166 * These attributes follow the &struct ovs_header within the Generic Netlink
162167 * payload for %OVS_PACKET_* commands.
@@ -167,6 +172,8 @@ enum ovs_packet_attr { · 4 unmodified lines
167172 OVS_PACKET_ATTR_KEY, /* Nested OVS_KEY_ATTR_* attributes. */
168173 OVS_PACKET_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */
169174 OVS_PACKET_ATTR_USERDATA, /* OVS_ACTION_ATTR_USERSPACE arg. */
175+ OVS_PACKET_ATTR_EGRESS_TUN_KEY, /* Nested OVS_TUNNEL_KEY_ATTR_*
176+ attributes. */
170177 __OVS_PACKET_ATTR_MAX
171178 };
172179
@@ -293,6 +300,9 @@ enum ovs_key_attr { · 120 unmodified lines
293300 OVS_KEY_ATTR_DP_HASH, /* u32 hash value. Value 0 indicates the hash
294301 is not computed by the datapath. */
295302 OVS_KEY_ATTR_RECIRC_ID, /* u32 recirc id */
303+ OVS_KEY_ATTR_MPLS, /* array of struct ovs_key_mpls.
304+ * The implementation may restrict
305+ * the accepted length of the array. */
296306
297307 #ifdef __KERNEL__
298308 OVS_KEY_ATTR_TUNNEL_INFO, /* struct ovs_tunnel_info */
@@ -312,6 +322,8 @@ enum ovs_tunnel_key_attr { · 13 unmodified lines
312322 OVS_TUNNEL_KEY_ATTR_CSUM, /* No argument. CSUM packet. */
313323 OVS_TUNNEL_KEY_ATTR_OAM, /* No argument. OAM frame. */
314324 OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */
325+ OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */
326+ OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */
315327 __OVS_TUNNEL_KEY_ATTR_MAX
316328 };
317329
@@ -340,6 +352,10 @@ struct ovs_key_ethernet { · 22 unmodified lines
340352 __u8 eth_dst[ETH_ALEN];
341353 };
342354
355+struct ovs_key_mpls {
356+ __be32 mpls_lse;
357+};
358+
343359 struct ovs_key_ipv4 {
344360 __be32 ipv4_src;
345361 __be32 ipv4_dst;
@@ -393,9 +409,9 @@ struct ovs_key_arp { · 47 unmodified lines
393409 };
394410
395411 struct ovs_key_nd {
396− __u32 nd_target[4];
397− __u8 nd_sll[ETH_ALEN];
398− __u8 nd_tll[ETH_ALEN];
412+ __be32 nd_target[4];
413+ __u8 nd_sll[ETH_ALEN];
414+ __u8 nd_tll[ETH_ALEN];
399415 };
400416
401417 /**
@@ -441,6 +457,8 @@ enum ovs_flow_attr { · 39 unmodified lines
441457 OVS_FLOW_ATTR_USED, /* u64 msecs last used in monotonic time. */
442458 OVS_FLOW_ATTR_CLEAR, /* Flag to clear stats, tcp_flags, used. */
443459 OVS_FLOW_ATTR_MASK, /* Sequence of OVS_KEY_ATTR_* attributes. */
460+ OVS_FLOW_ATTR_PROBE, /* Flow operation is a feature probe, error
461+ * logging should be suppressed. */
444462 __OVS_FLOW_ATTR_MAX
445463 };
446464
@@ -473,16 +491,33 @@ enum ovs_sample_attr { · 26 unmodified lines
473491 * message should be sent. Required.
474492 * @OVS_USERSPACE_ATTR_USERDATA: If present, its variable-length argument is
475493 * copied to the %OVS_PACKET_CMD_ACTION message as %OVS_PACKET_ATTR_USERDATA.
494+ * @OVS_USERSPACE_ATTR_EGRESS_TUN_PORT: If present, u32 output port to get
495+ * tunnel info.
476496 */
477497 enum ovs_userspace_attr {
478498 OVS_USERSPACE_ATTR_UNSPEC,
479499 OVS_USERSPACE_ATTR_PID, /* u32 Netlink PID to receive upcalls. */
480500 OVS_USERSPACE_ATTR_USERDATA, /* Optional user-specified cookie. */
501+ OVS_USERSPACE_ATTR_EGRESS_TUN_PORT, /* Optional, u32 output port
502+ * to get tunnel info. */
481503 __OVS_USERSPACE_ATTR_MAX
482504 };
483505
484506 #define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1)
485507
508+/**
509+ * struct ovs_action_push_mpls - %OVS_ACTION_ATTR_PUSH_MPLS action argument.
510+ * @mpls_lse: MPLS label stack entry to push.
511+ * @mpls_ethertype: Ethertype to set in the encapsulating ethernet frame.
512+ *
513+ * The only values @mpls_ethertype should ever be given are %ETH_P_MPLS_UC and
514+ * %ETH_P_MPLS_MC, indicating MPLS unicast or multicast. Other are rejected.
515+ */
516+struct ovs_action_push_mpls {
517+ __be32 mpls_lse;
518+ __be16 mpls_ethertype; /* Either %ETH_P_MPLS_UC or %ETH_P_MPLS_MC */
519+};
520+
486521 /**
487522 * struct ovs_action_push_vlan - %OVS_ACTION_ATTR_PUSH_VLAN action argument.
488523 * @vlan_tpid: Tag protocol identifier (TPID) to push.
@@ -534,6 +569,15 @@ struct ovs_action_hash { · 45 unmodified lines
534569 * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet.
535570 * @OVS_ACTION_ATTR_SAMPLE: Probabilitically executes actions, as specified in
536571 * the nested %OVS_SAMPLE_ATTR_* attributes.
572+ * @OVS_ACTION_ATTR_PUSH_MPLS: Push a new MPLS label stack entry onto the
573+ * top of the packets MPLS label stack. Set the ethertype of the
574+ * encapsulating frame to either %ETH_P_MPLS_UC or %ETH_P_MPLS_MC to
575+ * indicate the new packet contents.
576+ * @OVS_ACTION_ATTR_POP_MPLS: Pop an MPLS label stack entry off of the
577+ * packet's MPLS label stack. Set the encapsulating frame's ethertype to
578+ * indicate the new packet contents. This could potentially still be
579+ * %ETH_P_MPLS if the resulting MPLS label stack is not empty. If there
580+ * is no MPLS label stack, as determined by ethertype, no action is taken.
537581 *
538582 * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all
539583 * fields within a header are modifiable, e.g. the IPv4 protocol and fragment
@@ -550,6 +594,9 @@ enum ovs_action_attr { · 10 unmodified lines
550594 OVS_ACTION_ATTR_SAMPLE, /* Nested OVS_SAMPLE_ATTR_*. */
551595 OVS_ACTION_ATTR_RECIRC, /* u32 recirc_id. */
552596 OVS_ACTION_ATTR_HASH, /* struct ovs_action_hash. */
597+ OVS_ACTION_ATTR_PUSH_MPLS, /* struct ovs_action_push_mpls. */
598+ OVS_ACTION_ATTR_POP_MPLS, /* __be16 ethertype. */
599+
553600 __OVS_ACTION_ATTR_MAX
554601 };
555602
include/uapi/linux/rtnetlink.h+1−0
@@ -235,6 +235,7 @@ enum { · 234 unmodified lines
235235 #define RTPROT_NTK 15 /* Netsukuku */
236236 #define RTPROT_DHCP 16 /* DHCP client */
237237 #define RTPROT_MROUTED 17 /* Multicast daemon */
238+#define RTPROT_BABEL 42 /* Babel daemon */
238239
239240 /* rtm_scope
240241
include/uapi/linux/snmp.h+5−0
@@ -156,6 +156,7 @@ enum · 155 unmodified lines
156156 UDP_MIB_RCVBUFERRORS, /* RcvbufErrors */
157157 UDP_MIB_SNDBUFERRORS, /* SndbufErrors */
158158 UDP_MIB_CSUMERRORS, /* InCsumErrors */
159+ UDP_MIB_IGNOREDMULTI, /* IgnoredMulti */
159160 __UDP_MIB_MAX
160161 };
161162
@@ -265,6 +266,10 @@ enum · 103 unmodified lines
265266 LINUX_MIB_TCPWANTZEROWINDOWADV, /* TCPWantZeroWindowAdv */
266267 LINUX_MIB_TCPSYNRETRANS, /* TCPSynRetrans */
267268 LINUX_MIB_TCPORIGDATASENT, /* TCPOrigDataSent */
269+ LINUX_MIB_TCPHYSTARTTRAINDETECT, /* TCPHystartTrainDetect */
270+ LINUX_MIB_TCPHYSTARTTRAINCWND, /* TCPHystartTrainCwnd */
271+ LINUX_MIB_TCPHYSTARTDELAYDETECT, /* TCPHystartDelayDetect */
272+ LINUX_MIB_TCPHYSTARTDELAYCWND, /* TCPHystartDelayCwnd */
268273 __LINUX_MIB_MAX
269274 };
270275
include/uapi/linux/tc_act/Kbuild+1−0
@@ -7,3 +7,4 @@ header-y += tc_mirred.h · 6 unmodified lines
77 header-y += tc_nat.h
88 header-y += tc_pedit.h
99 header-y += tc_skbedit.h
10+header-y += tc_vlan.h
include/uapi/linux/tc_act/tc_vlan.h+35−0
@@ -0,0 +1,35 @@
1+/*
2+ * Copyright (c) 2014 Jiri Pirko <jiri@resnulli.us>
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; either version 2 of the License, or
7+ * (at your option) any later version.
8+ */
9+
10+#ifndef __LINUX_TC_VLAN_H
11+#define __LINUX_TC_VLAN_H
12+
13+#include <linux/pkt_cls.h>
14+
15+#define TCA_ACT_VLAN 12
16+
17+#define TCA_VLAN_ACT_POP 1
18+#define TCA_VLAN_ACT_PUSH 2
19+
20+struct tc_vlan {
21+ tc_gen;
22+ int v_action;
23+};
24+
25+enum {
26+ TCA_VLAN_UNSPEC,
27+ TCA_VLAN_TM,
28+ TCA_VLAN_PARMS,
29+ TCA_VLAN_PUSH_VLAN_ID,
30+ TCA_VLAN_PUSH_VLAN_PROTOCOL,
31+ __TCA_VLAN_MAX,
32+};
33+#define TCA_VLAN_MAX (__TCA_VLAN_MAX - 1)
34+
35+#endif
include/uapi/linux/tipc_netlink.h+244−0
@@ -0,0 +1,244 @@
1+/*
2+ * Copyright (c) 2014, Ericsson AB
3+ * All rights reserved.
4+ *
5+ * Redistribution and use in source and binary forms, with or without
6+ * modification, are permitted provided that the following conditions are met:
7+ *
8+ * 1. Redistributions of source code must retain the above copyright
9+ * notice, this list of conditions and the following disclaimer.
10+ * 2. Redistributions in binary form must reproduce the above copyright
11+ * notice, this list of conditions and the following disclaimer in the
12+ * documentation and/or other materials provided with the distribution.
13+ * 3. Neither the names of the copyright holders nor the names of its
14+ * contributors may be used to endorse or promote products derived from
15+ * this software without specific prior written permission.
16+ *
17+ * Alternatively, this software may be distributed under the terms of the
18+ * GNU General Public License ("GPL") version 2 as published by the Free
19+ * Software Foundation.
20+ *
21+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31+ * POSSIBILITY OF SUCH DAMAGE.
32+ */
33+
34+#ifndef _LINUX_TIPC_NETLINK_H_
35+#define _LINUX_TIPC_NETLINK_H_
36+
37+#define TIPC_GENL_V2_NAME "TIPCv2"
38+#define TIPC_GENL_V2_VERSION 0x1
39+
40+/* Netlink commands */
41+enum {
42+ TIPC_NL_UNSPEC,
43+ TIPC_NL_LEGACY,
44+ TIPC_NL_BEARER_DISABLE,
45+ TIPC_NL_BEARER_ENABLE,
46+ TIPC_NL_BEARER_GET,
47+ TIPC_NL_BEARER_SET,
48+ TIPC_NL_SOCK_GET,
49+ TIPC_NL_PUBL_GET,
50+ TIPC_NL_LINK_GET,
51+ TIPC_NL_LINK_SET,
52+ TIPC_NL_LINK_RESET_STATS,
53+ TIPC_NL_MEDIA_GET,
54+ TIPC_NL_MEDIA_SET,
55+ TIPC_NL_NODE_GET,
56+ TIPC_NL_NET_GET,
57+ TIPC_NL_NET_SET,
58+ TIPC_NL_NAME_TABLE_GET,
59+
60+ __TIPC_NL_CMD_MAX,
61+ TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1
62+};
63+
64+/* Top level netlink attributes */
65+enum {
66+ TIPC_NLA_UNSPEC,
67+ TIPC_NLA_BEARER, /* nest */
68+ TIPC_NLA_SOCK, /* nest */
69+ TIPC_NLA_PUBL, /* nest */
70+ TIPC_NLA_LINK, /* nest */
71+ TIPC_NLA_MEDIA, /* nest */
72+ TIPC_NLA_NODE, /* nest */
73+ TIPC_NLA_NET, /* nest */
74+ TIPC_NLA_NAME_TABLE, /* nest */
75+
76+ __TIPC_NLA_MAX,
77+ TIPC_NLA_MAX = __TIPC_NLA_MAX - 1
78+};
79+
80+/* Bearer info */
81+enum {
82+ TIPC_NLA_BEARER_UNSPEC,
83+ TIPC_NLA_BEARER_NAME, /* string */
84+ TIPC_NLA_BEARER_PROP, /* nest */
85+ TIPC_NLA_BEARER_DOMAIN, /* u32 */
86+
87+ __TIPC_NLA_BEARER_MAX,
88+ TIPC_NLA_BEARER_MAX = __TIPC_NLA_BEARER_MAX - 1
89+};
90+
91+/* Socket info */
92+enum {
93+ TIPC_NLA_SOCK_UNSPEC,
94+ TIPC_NLA_SOCK_ADDR, /* u32 */
95+ TIPC_NLA_SOCK_REF, /* u32 */
96+ TIPC_NLA_SOCK_CON, /* nest */
97+ TIPC_NLA_SOCK_HAS_PUBL, /* flag */
98+
99+ __TIPC_NLA_SOCK_MAX,
100+ TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1
101+};
102+
103+/* Link info */
104+enum {
105+ TIPC_NLA_LINK_UNSPEC,
106+ TIPC_NLA_LINK_NAME, /* string */
107+ TIPC_NLA_LINK_DEST, /* u32 */
108+ TIPC_NLA_LINK_MTU, /* u32 */
109+ TIPC_NLA_LINK_BROADCAST, /* flag */
110+ TIPC_NLA_LINK_UP, /* flag */
111+ TIPC_NLA_LINK_ACTIVE, /* flag */
112+ TIPC_NLA_LINK_PROP, /* nest */
113+ TIPC_NLA_LINK_STATS, /* nest */
114+ TIPC_NLA_LINK_RX, /* u32 */
115+ TIPC_NLA_LINK_TX, /* u32 */
116+
117+ __TIPC_NLA_LINK_MAX,
118+ TIPC_NLA_LINK_MAX = __TIPC_NLA_LINK_MAX - 1
119+};
120+
121+/* Media info */
122+enum {
123+ TIPC_NLA_MEDIA_UNSPEC,
124+ TIPC_NLA_MEDIA_NAME, /* string */
125+ TIPC_NLA_MEDIA_PROP, /* nest */
126+
127+ __TIPC_NLA_MEDIA_MAX,
128+ TIPC_NLA_MEDIA_MAX = __TIPC_NLA_MEDIA_MAX - 1
129+};
130+
131+/* Node info */
132+enum {
133+ TIPC_NLA_NODE_UNSPEC,
134+ TIPC_NLA_NODE_ADDR, /* u32 */
135+ TIPC_NLA_NODE_UP, /* flag */
136+
137+ __TIPC_NLA_NODE_MAX,
138+ TIPC_NLA_NODE_MAX = __TIPC_NLA_NODE_MAX - 1
139+};
140+
141+/* Net info */
142+enum {
143+ TIPC_NLA_NET_UNSPEC,
144+ TIPC_NLA_NET_ID, /* u32 */
145+ TIPC_NLA_NET_ADDR, /* u32 */
146+
147+ __TIPC_NLA_NET_MAX,
148+ TIPC_NLA_NET_MAX = __TIPC_NLA_NET_MAX - 1
149+};
150+
151+/* Name table info */
152+enum {
153+ TIPC_NLA_NAME_TABLE_UNSPEC,
154+ TIPC_NLA_NAME_TABLE_PUBL, /* nest */
155+
156+ __TIPC_NLA_NAME_TABLE_MAX,
157+ TIPC_NLA_NAME_TABLE_MAX = __TIPC_NLA_NAME_TABLE_MAX - 1
158+};
159+
160+/* Publication info */
161+enum {
162+ TIPC_NLA_PUBL_UNSPEC,
163+
164+ TIPC_NLA_PUBL_TYPE, /* u32 */
165+ TIPC_NLA_PUBL_LOWER, /* u32 */
166+ TIPC_NLA_PUBL_UPPER, /* u32 */
167+ TIPC_NLA_PUBL_SCOPE, /* u32 */
168+ TIPC_NLA_PUBL_NODE, /* u32 */
169+ TIPC_NLA_PUBL_REF, /* u32 */
170+ TIPC_NLA_PUBL_KEY, /* u32 */
171+
172+ __TIPC_NLA_PUBL_MAX,
173+ TIPC_NLA_PUBL_MAX = __TIPC_NLA_PUBL_MAX - 1
174+};
175+
176+/* Nest, connection info */
177+enum {
178+ TIPC_NLA_CON_UNSPEC,
179+
180+ TIPC_NLA_CON_FLAG, /* flag */
181+ TIPC_NLA_CON_NODE, /* u32 */
182+ TIPC_NLA_CON_SOCK, /* u32 */
183+ TIPC_NLA_CON_TYPE, /* u32 */
184+ TIPC_NLA_CON_INST, /* u32 */
185+
186+ __TIPC_NLA_CON_MAX,
187+ TIPC_NLA_CON_MAX = __TIPC_NLA_CON_MAX - 1
188+};
189+
190+/* Nest, link propreties. Valid for link, media and bearer */
191+enum {
192+ TIPC_NLA_PROP_UNSPEC,
193+
194+ TIPC_NLA_PROP_PRIO, /* u32 */
195+ TIPC_NLA_PROP_TOL, /* u32 */
196+ TIPC_NLA_PROP_WIN, /* u32 */
197+
198+ __TIPC_NLA_PROP_MAX,
199+ TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1
200+};
201+
202+/* Nest, statistics info */
203+enum {
204+ TIPC_NLA_STATS_UNSPEC,
205+
206+ TIPC_NLA_STATS_RX_INFO, /* u32 */
207+ TIPC_NLA_STATS_RX_FRAGMENTS, /* u32 */
208+ TIPC_NLA_STATS_RX_FRAGMENTED, /* u32 */
209+ TIPC_NLA_STATS_RX_BUNDLES, /* u32 */
210+ TIPC_NLA_STATS_RX_BUNDLED, /* u32 */
211+ TIPC_NLA_STATS_TX_INFO, /* u32 */
212+ TIPC_NLA_STATS_TX_FRAGMENTS, /* u32 */
213+ TIPC_NLA_STATS_TX_FRAGMENTED, /* u32 */
214+ TIPC_NLA_STATS_TX_BUNDLES, /* u32 */
215+ TIPC_NLA_STATS_TX_BUNDLED, /* u32 */
216+ TIPC_NLA_STATS_MSG_PROF_TOT, /* u32 */
217+ TIPC_NLA_STATS_MSG_LEN_CNT, /* u32 */
218+ TIPC_NLA_STATS_MSG_LEN_TOT, /* u32 */
219+ TIPC_NLA_STATS_MSG_LEN_P0, /* u32 */
220+ TIPC_NLA_STATS_MSG_LEN_P1, /* u32 */
221+ TIPC_NLA_STATS_MSG_LEN_P2, /* u32 */
222+ TIPC_NLA_STATS_MSG_LEN_P3, /* u32 */
223+ TIPC_NLA_STATS_MSG_LEN_P4, /* u32 */
224+ TIPC_NLA_STATS_MSG_LEN_P5, /* u32 */
225+ TIPC_NLA_STATS_MSG_LEN_P6, /* u32 */
226+ TIPC_NLA_STATS_RX_STATES, /* u32 */
227+ TIPC_NLA_STATS_RX_PROBES, /* u32 */
228+ TIPC_NLA_STATS_RX_NACKS, /* u32 */
229+ TIPC_NLA_STATS_RX_DEFERRED, /* u32 */
230+ TIPC_NLA_STATS_TX_STATES, /* u32 */
231+ TIPC_NLA_STATS_TX_PROBES, /* u32 */
232+ TIPC_NLA_STATS_TX_NACKS, /* u32 */
233+ TIPC_NLA_STATS_TX_ACKS, /* u32 */
234+ TIPC_NLA_STATS_RETRANSMITTED, /* u32 */
235+ TIPC_NLA_STATS_DUPLICATES, /* u32 */
236+ TIPC_NLA_STATS_LINK_CONGS, /* u32 */
237+ TIPC_NLA_STATS_MAX_QUEUE, /* u32 */
238+ TIPC_NLA_STATS_AVG_QUEUE, /* u32 */
239+
240+ __TIPC_NLA_STATS_MAX,
241+ TIPC_NLA_STATS_MAX = __TIPC_NLA_STATS_MAX - 1
242+};
243+
244+#endif