History

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

Pull networking updates from Davic Miller: 1) Support busy polling generically, for all NAPI drivers. From Eric Dumazet. 2) Add byte/packet counter support to nft_ct, from Floriani Westphal. 3) Add RSS/XPS support to mvneta driver, from Gregory Clement. 4) Implement IPV6_HDRINCL socket option for raw sockets, from Hannes Frederic Sowa. 5) Add support for T6 adapter to cxgb4 driver, from Hariprasad Shenai. 6) Add support for VLAN device bridging to mlxsw switch driver, from Ido Schimmel. 7) Add driver for Netronome NFP4000/NFP6000, from Jakub Kicinski. 8) Provide hwmon interface to mlxsw switch driver, from Jiri Pirko. 9) Reorganize wireless drivers into per-vendor directories just like we do for ethernet drivers. From Kalle Valo. 10) Provide a way for administrators "destroy" connected sockets via the SOCK_DESTROY socket netlink diag operation. From Lorenzo Colitti. 11) Add support to add/remove multicast routes via netlink, from Nikolay Aleksandrov. 12) Make TCP keepalive settings per-namespace, from Nikolay Borisov. 13) Add forwarding and packet duplication facilities to nf_tables, from Pablo Neira Ayuso. 14) Dead route support in MPLS, from Roopa Prabhu. 15) TSO support for thunderx chips, from Sunil Goutham. 16) Add driver for IBM's System i/p VNIC protocol, from Thomas Falcon. 17) Rationalize, consolidate, and more completely document the checksum offloading facilities in the networking stack. From Tom Herbert. 18) Support aborting an ongoing scan in mac80211/cfg80211, from Vidyullatha Kanchanapally. 19) Use per-bucket spinlock for bpf hash facility, from Tom Leiming. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1375 commits) net: bnxt: always return values from _bnxt_get_max_rings net: bpf: reject invalid shifts phonet: properly unshare skbs in phonet_rcv() dwc_eth_qos: Fix dma address for multi-fragment skbs phy: remove an unneeded condition mdio: remove an unneed condition mdio_bus: NULL dereference on allocation error net: Fix typo in netdev_intersect_features net: freescale: mac-fec: Fix build error from phy_device API change net: freescale: ucc_geth: Fix build error from phy_device API change bonding: Prevent IPv6 link local address on enslaved devices IB/mlx5: Add flow steering support net/mlx5_core: Export flow steering API net/mlx5_core: Make ipv4/ipv6 location more clear net/mlx5_core: Enable flow steering support for the IB driver net/mlx5_core: Initialize namespaces only when supported by device net/mlx5_core: Set priority attributes net/mlx5_core: Connect flow tables net/mlx5_core: Introduce modify flow table command net/mlx5_core: Managing root flow table ...

Linus Torvalds committed 10 years ago

Commit aee3bfa2 parents c597b6b 415b6f11739 files · +70829 −25686Browse files

Showing the changes to include/uapi (43 of 1739 files). Show all

Unified · Split

43 files
  1. include/uapi/asm-generic/socket.h +3 −0
  2. include/uapi/linux/bpf.h +26 −1
  3. include/uapi/linux/ethtool.h +3 −0
  4. include/uapi/linux/if_link.h +4 −0
  5. include/uapi/linux/ila.h +22 −0
  6. include/uapi/linux/in6.h +1 −0
  7. include/uapi/linux/mroute.h +17 −42
  8. include/uapi/linux/netfilter/ipset/ip_set_bitmap.h +2 −0
  9. include/uapi/linux/netfilter/ipset/ip_set_hash.h +2 −0
  10. include/uapi/linux/netfilter/ipset/ip_set_list.h +2 −0
  11. include/uapi/linux/netfilter/nf_conntrack_sctp.h +3 −9
  12. include/uapi/linux/netfilter/nf_conntrack_tuple_common.h +3 −0
  13. include/uapi/linux/netfilter/nf_tables.h +91 −0
  14. include/uapi/linux/netfilter/nfnetlink.h +2 −0
  15. include/uapi/linux/netfilter/xt_HMARK.h +1 −0
  16. include/uapi/linux/netfilter/xt_RATEEST.h +1 −0
  17. include/uapi/linux/netfilter/xt_TEE.h +2 −0
  18. include/uapi/linux/netfilter/xt_TPROXY.h +1 −0
  19. include/uapi/linux/netfilter/xt_cgroup.h +14 −1
  20. include/uapi/linux/netfilter/xt_hashlimit.h +1 −0
  21. include/uapi/linux/netfilter/xt_ipvs.h +1 −0
  22. include/uapi/linux/netfilter/xt_mac.h +2 −0
  23. include/uapi/linux/netfilter/xt_osf.h +2 −0
  24. include/uapi/linux/netfilter/xt_physdev.h +1 −1
  25. include/uapi/linux/netfilter/xt_policy.h +2 −0
  26. include/uapi/linux/netfilter/xt_rateest.h +1 −0
  27. include/uapi/linux/netfilter/xt_recent.h +1 −0
  28. include/uapi/linux/netfilter/xt_sctp.h +6 −6
  29. include/uapi/linux/netfilter_arp/arp_tables.h +1 −0
  30. include/uapi/linux/netfilter_bridge.h +1 −0
  31. include/uapi/linux/netfilter_bridge/ebt_arp.h +1 −0
  32. include/uapi/linux/netfilter_bridge/ebt_arpreply.h +2 −0
  33. include/uapi/linux/netfilter_bridge/ebt_ip6.h +1 −0
  34. include/uapi/linux/netfilter_bridge/ebt_nat.h +2 −0
  35. include/uapi/linux/netfilter_bridge/ebtables.h +4 −2
  36. include/uapi/linux/netfilter_ipv4/ip_tables.h +1 −0
  37. include/uapi/linux/netfilter_ipv6/ip6_tables.h +1 −0
  38. include/uapi/linux/netfilter_ipv6/ip6t_rt.h +1 −1
  39. include/uapi/linux/nl80211.h +9 −2
  40. include/uapi/linux/pkt_sched.h +4 −0
  41. include/uapi/linux/rtnetlink.h +1 −0
  42. include/uapi/linux/sock_diag.h +1 −0
  43. include/uapi/linux/sockios.h +1 −1
include/uapi/asm-generic/socket.h+3−0
@@ -87,4 +87,7 @@ · 86 unmodified lines
87#define SO_ATTACH_BPF 5087#define SO_ATTACH_BPF 50
88#define SO_DETACH_BPF SO_DETACH_FILTER88#define SO_DETACH_BPF SO_DETACH_FILTER
89 89
90#define SO_ATTACH_REUSEPORT_CBPF 51
91#define SO_ATTACH_REUSEPORT_EBPF 52
92
90#endif /* __ASM_GENERIC_SOCKET_H */93#endif /* __ASM_GENERIC_SOCKET_H */
include/uapi/linux/bpf.h+26−1
@@ -269,9 +269,29 @@ enum bpf_func_id { · 268 unmodified lines
269 * Return: 0 on success269 * Return: 0 on success
270 */270 */
271 BPF_FUNC_perf_event_output,271 BPF_FUNC_perf_event_output,
272 BPF_FUNC_skb_load_bytes,
272 __BPF_FUNC_MAX_ID,273 __BPF_FUNC_MAX_ID,
273};274};
274 275
276/* All flags used by eBPF helper functions, placed here. */
277
278/* BPF_FUNC_skb_store_bytes flags. */
279#define BPF_F_RECOMPUTE_CSUM (1ULL << 0)
280
281/* BPF_FUNC_l3_csum_replace and BPF_FUNC_l4_csum_replace flags.
282 * First 4 bits are for passing the header field size.
283 */
284#define BPF_F_HDR_FIELD_MASK 0xfULL
285
286/* BPF_FUNC_l4_csum_replace flags. */
287#define BPF_F_PSEUDO_HDR (1ULL << 4)
288
289/* BPF_FUNC_clone_redirect and BPF_FUNC_redirect flags. */
290#define BPF_F_INGRESS (1ULL << 0)
291
292/* BPF_FUNC_skb_set_tunnel_key and BPF_FUNC_skb_get_tunnel_key flags. */
293#define BPF_F_TUNINFO_IPV6 (1ULL << 0)
294
275/* user accessible mirror of in-kernel sk_buff.295/* user accessible mirror of in-kernel sk_buff.
276 * new fields can only be added to the end of this structure296 * new fields can only be added to the end of this structure
277 */297 */
@@ -295,7 +315,12 @@ struct __sk_buff { · 17 unmodified lines
295 315
296struct bpf_tunnel_key {316struct bpf_tunnel_key {
297 __u32 tunnel_id;317 __u32 tunnel_id;
298 __u32 remote_ipv4;318 union {
319 __u32 remote_ipv4;
320 __u32 remote_ipv6[4];
321 };
322 __u8 tunnel_tos;
323 __u8 tunnel_ttl;
299};324};
300 325
301#endif /* _UAPI__LINUX_BPF_H__ */326#endif /* _UAPI__LINUX_BPF_H__ */
include/uapi/linux/ethtool.h+3−0
@@ -542,6 +542,7 @@ struct ethtool_pauseparam { · 541 unmodified lines
542 * now deprecated542 * now deprecated
543 * @ETH_SS_FEATURES: Device feature names543 * @ETH_SS_FEATURES: Device feature names
544 * @ETH_SS_RSS_HASH_FUNCS: RSS hush function names544 * @ETH_SS_RSS_HASH_FUNCS: RSS hush function names
545 * @ETH_SS_PHY_STATS: Statistic names, for use with %ETHTOOL_GPHYSTATS
545 */546 */
546enum ethtool_stringset {547enum ethtool_stringset {
547 ETH_SS_TEST = 0,548 ETH_SS_TEST = 0,
@@ -551,6 +552,7 @@ enum ethtool_stringset { · 3 unmodified lines
551 ETH_SS_FEATURES,552 ETH_SS_FEATURES,
552 ETH_SS_RSS_HASH_FUNCS,553 ETH_SS_RSS_HASH_FUNCS,
553 ETH_SS_TUNABLES,554 ETH_SS_TUNABLES,
555 ETH_SS_PHY_STATS,
554};556};
555 557
556/**558/**
@@ -1225,6 +1227,7 @@ enum ethtool_sfeatures_retval_bits { · 668 unmodified lines
1225#define ETHTOOL_SRSSH 0x00000047 /* Set RX flow hash configuration */1227#define ETHTOOL_SRSSH 0x00000047 /* Set RX flow hash configuration */
1226#define ETHTOOL_GTUNABLE 0x00000048 /* Get tunable configuration */1228#define ETHTOOL_GTUNABLE 0x00000048 /* Get tunable configuration */
1227#define ETHTOOL_STUNABLE 0x00000049 /* Set tunable configuration */1229#define ETHTOOL_STUNABLE 0x00000049 /* Set tunable configuration */
1230#define ETHTOOL_GPHYSTATS 0x0000004a /* get PHY-specific statistics */
1228 1231
1229/* compatibility with older code */1232/* compatibility with older code */
1230#define SPARC_ETH_GSET ETHTOOL_GSET1233#define SPARC_ETH_GSET ETHTOOL_GSET
include/uapi/linux/if_link.h+4−0
@@ -218,6 +218,7 @@ enum in6_addr_gen_mode { · 217 unmodified lines
218 IN6_ADDR_GEN_MODE_EUI64,218 IN6_ADDR_GEN_MODE_EUI64,
219 IN6_ADDR_GEN_MODE_NONE,219 IN6_ADDR_GEN_MODE_NONE,
220 IN6_ADDR_GEN_MODE_STABLE_PRIVACY,220 IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
221 IN6_ADDR_GEN_MODE_RANDOM,
221};222};
222 223
223/* Bridge section */224/* Bridge section */
@@ -462,6 +463,9 @@ enum { · 238 unmodified lines
462 IFLA_GENEVE_PORT, /* destination port */463 IFLA_GENEVE_PORT, /* destination port */
463 IFLA_GENEVE_COLLECT_METADATA,464 IFLA_GENEVE_COLLECT_METADATA,
464 IFLA_GENEVE_REMOTE6,465 IFLA_GENEVE_REMOTE6,
466 IFLA_GENEVE_UDP_CSUM,
467 IFLA_GENEVE_UDP_ZERO_CSUM6_TX,
468 IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
465 __IFLA_GENEVE_MAX469 __IFLA_GENEVE_MAX
466};470};
467#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)471#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
include/uapi/linux/ila.h+22−0
@@ -3,13 +3,35 @@ · 2 unmodified lines
3#ifndef _UAPI_LINUX_ILA_H3#ifndef _UAPI_LINUX_ILA_H
4#define _UAPI_LINUX_ILA_H4#define _UAPI_LINUX_ILA_H
5 5
6/* NETLINK_GENERIC related info */
7#define ILA_GENL_NAME "ila"
8#define ILA_GENL_VERSION 0x1
9
6enum {10enum {
7 ILA_ATTR_UNSPEC,11 ILA_ATTR_UNSPEC,
8 ILA_ATTR_LOCATOR, /* u64 */12 ILA_ATTR_LOCATOR, /* u64 */
13 ILA_ATTR_IDENTIFIER, /* u64 */
14 ILA_ATTR_LOCATOR_MATCH, /* u64 */
15 ILA_ATTR_IFINDEX, /* s32 */
16 ILA_ATTR_DIR, /* u32 */
9 17
10 __ILA_ATTR_MAX,18 __ILA_ATTR_MAX,
11};19};
12 20
13#define ILA_ATTR_MAX (__ILA_ATTR_MAX - 1)21#define ILA_ATTR_MAX (__ILA_ATTR_MAX - 1)
14 22
23enum {
24 ILA_CMD_UNSPEC,
25 ILA_CMD_ADD,
26 ILA_CMD_DEL,
27 ILA_CMD_GET,
28
29 __ILA_CMD_MAX,
30};
31
32#define ILA_CMD_MAX (__ILA_CMD_MAX - 1)
33
34#define ILA_DIR_IN (1 << 0)
35#define ILA_DIR_OUT (1 << 1)
36
15#endif /* _UAPI_LINUX_ILA_H */37#endif /* _UAPI_LINUX_ILA_H */
include/uapi/linux/in6.h+1−0
@@ -196,6 +196,7 @@ struct in6_flowlabel_req { · 195 unmodified lines
196 196
197#define IPV6_IPSEC_POLICY 34197#define IPV6_IPSEC_POLICY 34
198#define IPV6_XFRM_POLICY 35198#define IPV6_XFRM_POLICY 35
199#define IPV6_HDRINCL 36
199#endif200#endif
200 201
201/*202/*
include/uapi/linux/mroute.h+17−42
@@ -4,15 +4,13 @@ · 3 unmodified lines
4#include <linux/sockios.h>4#include <linux/sockios.h>
5#include <linux/types.h>5#include <linux/types.h>
6 6
7/*7/* Based on the MROUTING 3.5 defines primarily to keep
8 * Based on the MROUTING 3.5 defines primarily to keep8 * source compatibility with BSD.
9 * source compatibility with BSD.
10 *9 *
11 * See the mrouted code for the original history.10 * See the mrouted code for the original history.
12 *
13 * Protocol Independent Multicast (PIM) data structures included
14 * Carlos Picoto (cap@di.fc.ul.pt)
15 *11 *
12 * Protocol Independent Multicast (PIM) data structures included
13 * Carlos Picoto (cap@di.fc.ul.pt)
16 */14 */
17 15
18#define MRT_BASE 20016#define MRT_BASE 200
@@ -34,15 +32,13 @@ · 15 unmodified lines
34#define SIOCGETSGCNT (SIOCPROTOPRIVATE+1)32#define SIOCGETSGCNT (SIOCPROTOPRIVATE+1)
35#define SIOCGETRPF (SIOCPROTOPRIVATE+2)33#define SIOCGETRPF (SIOCPROTOPRIVATE+2)
36 34
37#define MAXVIFS 32 35#define MAXVIFS 32
38typedef unsigned long vifbitmap_t; /* User mode code depends on this lot */36typedef unsigned long vifbitmap_t; /* User mode code depends on this lot */
39typedef unsigned short vifi_t;37typedef unsigned short vifi_t;
40#define ALL_VIFS ((vifi_t)(-1))38#define ALL_VIFS ((vifi_t)(-1))
41 39
42/*40/* Same idea as select */
43 * Same idea as select41
44 */
45
46#define VIFM_SET(n,m) ((m)|=(1<<(n)))42#define VIFM_SET(n,m) ((m)|=(1<<(n)))
47#define VIFM_CLR(n,m) ((m)&=~(1<<(n)))43#define VIFM_CLR(n,m) ((m)&=~(1<<(n)))
48#define VIFM_ISSET(n,m) ((m)&(1<<(n)))44#define VIFM_ISSET(n,m) ((m)&(1<<(n)))
@@ -50,11 +46,9 @@ typedef unsigned short vifi_t; · 1 unmodified line
50#define VIFM_COPY(mfrom,mto) ((mto)=(mfrom))46#define VIFM_COPY(mfrom,mto) ((mto)=(mfrom))
51#define VIFM_SAME(m1,m2) ((m1)==(m2))47#define VIFM_SAME(m1,m2) ((m1)==(m2))
52 48
53/*49/* Passed by mrouted for an MRT_ADD_VIF - again we use the
54 * Passed by mrouted for an MRT_ADD_VIF - again we use the50 * mrouted 3.6 structures for compatibility
55 * mrouted 3.6 structures for compatibility
56 */51 */
57
58struct vifctl {52struct vifctl {
59 vifi_t vifc_vifi; /* Index of VIF */53 vifi_t vifc_vifi; /* Index of VIF */
60 unsigned char vifc_flags; /* VIFF_ flags */54 unsigned char vifc_flags; /* VIFF_ flags */
@@ -73,10 +67,7 @@ struct vifctl { · 12 unmodified lines
73#define VIFF_USE_IFINDEX 0x8 /* use vifc_lcl_ifindex instead of67#define VIFF_USE_IFINDEX 0x8 /* use vifc_lcl_ifindex instead of
74 vifc_lcl_addr to find an interface */68 vifc_lcl_addr to find an interface */
75 69
76/*70/* Cache manipulation structures for mrouted and PIMd */
77 * Cache manipulation structures for mrouted and PIMd
78 */
79
80struct mfcctl {71struct mfcctl {
81 struct in_addr mfcc_origin; /* Origin of mcast */72 struct in_addr mfcc_origin; /* Origin of mcast */
82 struct in_addr mfcc_mcastgrp; /* Group in question */73 struct in_addr mfcc_mcastgrp; /* Group in question */
@@ -88,10 +79,7 @@ struct mfcctl { · 5 unmodified lines
88 int mfcc_expire;79 int mfcc_expire;
89};80};
90 81
91/* 82/* Group count retrieval for mrouted */
92 * Group count retrieval for mrouted
93 */
94
95struct sioc_sg_req {83struct sioc_sg_req {
96 struct in_addr src;84 struct in_addr src;
97 struct in_addr grp;85 struct in_addr grp;
@@ -100,10 +88,7 @@ struct sioc_sg_req { · 2 unmodified lines
100 unsigned long wrong_if;88 unsigned long wrong_if;
101};89};
102 90
103/*91/* To get vif packet counts */
104 * To get vif packet counts
105 */
106
107struct sioc_vif_req {92struct sioc_vif_req {
108 vifi_t vifi; /* Which iface */93 vifi_t vifi; /* Which iface */
109 unsigned long icount; /* In packets */94 unsigned long icount; /* In packets */
@@ -112,11 +97,9 @@ struct sioc_vif_req { · 2 unmodified lines
112 unsigned long obytes; /* Out bytes */97 unsigned long obytes; /* Out bytes */
113};98};
114 99
115/*100/* This is the format the mroute daemon expects to see IGMP control
116 * This is the format the mroute daemon expects to see IGMP control101 * data. Magically happens to be like an IP packet as per the original
117 * data. Magically happens to be like an IP packet as per the original
118 */102 */
119
120struct igmpmsg {103struct igmpmsg {
121 __u32 unused1,unused2;104 __u32 unused1,unused2;
122 unsigned char im_msgtype; /* What is this */105 unsigned char im_msgtype; /* What is this */
@@ -126,21 +109,13 @@ struct igmpmsg { · 3 unmodified lines
126 struct in_addr im_src,im_dst;109 struct in_addr im_src,im_dst;
127};110};
128 111
129/*112/* That's all usermode folks */
130 * That's all usermode folks
131 */
132
133
134 113
135#define MFC_ASSERT_THRESH (3*HZ) /* Maximal freq. of asserts */114#define MFC_ASSERT_THRESH (3*HZ) /* Maximal freq. of asserts */
136 115
137/*116/* Pseudo messages used by mrouted */
138 * Pseudo messages used by mrouted
139 */
140
141#define IGMPMSG_NOCACHE 1 /* Kern cache fill request to mrouted */117#define IGMPMSG_NOCACHE 1 /* Kern cache fill request to mrouted */
142#define IGMPMSG_WRONGVIF 2 /* For PIM assert processing (unused) */118#define IGMPMSG_WRONGVIF 2 /* For PIM assert processing (unused) */
143#define IGMPMSG_WHOLEPKT 3 /* For PIM Register processing */119#define IGMPMSG_WHOLEPKT 3 /* For PIM Register processing */
144 120
145
146#endif /* _UAPI__LINUX_MROUTE_H */121#endif /* _UAPI__LINUX_MROUTE_H */
include/uapi/linux/netfilter/ipset/ip_set_bitmap.h+2−0
@@ -1,6 +1,8 @@
1#ifndef _UAPI__IP_SET_BITMAP_H1#ifndef _UAPI__IP_SET_BITMAP_H
2#define _UAPI__IP_SET_BITMAP_H2#define _UAPI__IP_SET_BITMAP_H
3 3
4#include <linux/netfilter/ipset/ip_set.h>
5
4/* Bitmap type specific error codes */6/* Bitmap type specific error codes */
5enum {7enum {
6 /* The element is out of the range of the set */8 /* The element is out of the range of the set */
include/uapi/linux/netfilter/ipset/ip_set_hash.h+2−0
@@ -1,6 +1,8 @@
1#ifndef _UAPI__IP_SET_HASH_H1#ifndef _UAPI__IP_SET_HASH_H
2#define _UAPI__IP_SET_HASH_H2#define _UAPI__IP_SET_HASH_H
3 3
4#include <linux/netfilter/ipset/ip_set.h>
5
4/* Hash type specific error codes */6/* Hash type specific error codes */
5enum {7enum {
6 /* Hash is full */8 /* Hash is full */
include/uapi/linux/netfilter/ipset/ip_set_list.h+2−0
@@ -1,6 +1,8 @@
1#ifndef _UAPI__IP_SET_LIST_H1#ifndef _UAPI__IP_SET_LIST_H
2#define _UAPI__IP_SET_LIST_H2#define _UAPI__IP_SET_LIST_H
3 3
4#include <linux/netfilter/ipset/ip_set.h>
5
4/* List type specific error codes */6/* List type specific error codes */
5enum {7enum {
6 /* Set name to be added/deleted/tested does not exist. */8 /* Set name to be added/deleted/tested does not exist. */
include/uapi/linux/netfilter/nf_conntrack_sctp.h+3−9
@@ -1,5 +1,5 @@
1#ifndef _NF_CONNTRACK_SCTP_H1#ifndef _UAPI_NF_CONNTRACK_SCTP_H
2#define _NF_CONNTRACK_SCTP_H2#define _UAPI_NF_CONNTRACK_SCTP_H
3/* SCTP tracking. */3/* SCTP tracking. */
4 4
5#include <linux/netfilter/nf_conntrack_tuple_common.h>5#include <linux/netfilter/nf_conntrack_tuple_common.h>
@@ -18,10 +18,4 @@ enum sctp_conntrack { · 12 unmodified lines
18 SCTP_CONNTRACK_MAX18 SCTP_CONNTRACK_MAX
19};19};
20 20
21struct ip_ct_sctp {21#endif /* _UAPI_NF_CONNTRACK_SCTP_H */
22 enum sctp_conntrack state;
23
24 __be32 vtag[IP_CT_DIR_MAX];
25};
26
27#endif /* _NF_CONNTRACK_SCTP_H */
include/uapi/linux/netfilter/nf_conntrack_tuple_common.h+3−0
@@ -1,6 +1,9 @@
1#ifndef _NF_CONNTRACK_TUPLE_COMMON_H1#ifndef _NF_CONNTRACK_TUPLE_COMMON_H
2#define _NF_CONNTRACK_TUPLE_COMMON_H2#define _NF_CONNTRACK_TUPLE_COMMON_H
3 3
4#include <linux/types.h>
5#include <linux/netfilter.h>
6
4enum ip_conntrack_dir {7enum ip_conntrack_dir {
5 IP_CT_DIR_ORIGINAL,8 IP_CT_DIR_ORIGINAL,
6 IP_CT_DIR_REPLY,9 IP_CT_DIR_REPLY,
include/uapi/linux/netfilter/nf_tables.h+91−0
@@ -83,6 +83,7 @@ enum nft_verdicts { · 82 unmodified lines
83 * @NFT_MSG_DELSETELEM: delete a set element (enum nft_set_elem_attributes)83 * @NFT_MSG_DELSETELEM: delete a set element (enum nft_set_elem_attributes)
84 * @NFT_MSG_NEWGEN: announce a new generation, only for events (enum nft_gen_attributes)84 * @NFT_MSG_NEWGEN: announce a new generation, only for events (enum nft_gen_attributes)
85 * @NFT_MSG_GETGEN: get the rule-set generation (enum nft_gen_attributes)85 * @NFT_MSG_GETGEN: get the rule-set generation (enum nft_gen_attributes)
86 * @NFT_MSG_TRACE: trace event (enum nft_trace_attributes)
86 */87 */
87enum nf_tables_msg_types {88enum nf_tables_msg_types {
88 NFT_MSG_NEWTABLE,89 NFT_MSG_NEWTABLE,
@@ -102,6 +103,7 @@ enum nf_tables_msg_types { · 13 unmodified lines
102 NFT_MSG_DELSETELEM,103 NFT_MSG_DELSETELEM,
103 NFT_MSG_NEWGEN,104 NFT_MSG_NEWGEN,
104 NFT_MSG_GETGEN,105 NFT_MSG_GETGEN,
106 NFT_MSG_TRACE,
105 NFT_MSG_MAX,107 NFT_MSG_MAX,
106};108};
107 109
@@ -289,6 +291,7 @@ enum nft_set_desc_attributes { · 181 unmodified lines
289 * @NFTA_SET_ID: uniquely identifies a set in a transaction (NLA_U32)291 * @NFTA_SET_ID: uniquely identifies a set in a transaction (NLA_U32)
290 * @NFTA_SET_TIMEOUT: default timeout value (NLA_U64)292 * @NFTA_SET_TIMEOUT: default timeout value (NLA_U64)
291 * @NFTA_SET_GC_INTERVAL: garbage collection interval (NLA_U32)293 * @NFTA_SET_GC_INTERVAL: garbage collection interval (NLA_U32)
294 * @NFTA_SET_USERDATA: user data (NLA_BINARY)
292 */295 */
293enum nft_set_attributes {296enum nft_set_attributes {
294 NFTA_SET_UNSPEC,297 NFTA_SET_UNSPEC,
@@ -304,6 +307,7 @@ enum nft_set_attributes { · 9 unmodified lines
304 NFTA_SET_ID,307 NFTA_SET_ID,
305 NFTA_SET_TIMEOUT,308 NFTA_SET_TIMEOUT,
306 NFTA_SET_GC_INTERVAL,309 NFTA_SET_GC_INTERVAL,
310 NFTA_SET_USERDATA,
307 __NFTA_SET_MAX311 __NFTA_SET_MAX
308};312};
309#define NFTA_SET_MAX (__NFTA_SET_MAX - 1)313#define NFTA_SET_MAX (__NFTA_SET_MAX - 1)
@@ -597,6 +601,17 @@ enum nft_payload_bases { · 287 unmodified lines
597 NFT_PAYLOAD_TRANSPORT_HEADER,601 NFT_PAYLOAD_TRANSPORT_HEADER,
598};602};
599 603
604/**
605 * enum nft_payload_csum_types - nf_tables payload expression checksum types
606 *
607 * @NFT_PAYLOAD_CSUM_NONE: no checksumming
608 * @NFT_PAYLOAD_CSUM_INET: internet checksum (RFC 791)
609 */
610enum nft_payload_csum_types {
611 NFT_PAYLOAD_CSUM_NONE,
612 NFT_PAYLOAD_CSUM_INET,
613};
614
600/**615/**
601 * enum nft_payload_attributes - nf_tables payload expression netlink attributes616 * enum nft_payload_attributes - nf_tables payload expression netlink attributes
602 *617 *
@@ -604,6 +619,9 @@ enum nft_payload_bases { · 1 unmodified line
604 * @NFTA_PAYLOAD_BASE: payload base (NLA_U32: nft_payload_bases)619 * @NFTA_PAYLOAD_BASE: payload base (NLA_U32: nft_payload_bases)
605 * @NFTA_PAYLOAD_OFFSET: payload offset relative to base (NLA_U32)620 * @NFTA_PAYLOAD_OFFSET: payload offset relative to base (NLA_U32)
606 * @NFTA_PAYLOAD_LEN: payload length (NLA_U32)621 * @NFTA_PAYLOAD_LEN: payload length (NLA_U32)
622 * @NFTA_PAYLOAD_SREG: source register to load data from (NLA_U32: nft_registers)
623 * @NFTA_PAYLOAD_CSUM_TYPE: checksum type (NLA_U32)
624 * @NFTA_PAYLOAD_CSUM_OFFSET: checksum offset relative to base (NLA_U32)
607 */625 */
608enum nft_payload_attributes {626enum nft_payload_attributes {
609 NFTA_PAYLOAD_UNSPEC,627 NFTA_PAYLOAD_UNSPEC,
@@ -611,6 +629,9 @@ enum nft_payload_attributes { · 1 unmodified line
611 NFTA_PAYLOAD_BASE,629 NFTA_PAYLOAD_BASE,
612 NFTA_PAYLOAD_OFFSET,630 NFTA_PAYLOAD_OFFSET,
613 NFTA_PAYLOAD_LEN,631 NFTA_PAYLOAD_LEN,
632 NFTA_PAYLOAD_SREG,
633 NFTA_PAYLOAD_CSUM_TYPE,
634 NFTA_PAYLOAD_CSUM_OFFSET,
614 __NFTA_PAYLOAD_MAX635 __NFTA_PAYLOAD_MAX
615};636};
616#define NFTA_PAYLOAD_MAX (__NFTA_PAYLOAD_MAX - 1)637#define NFTA_PAYLOAD_MAX (__NFTA_PAYLOAD_MAX - 1)
@@ -736,6 +757,8 @@ enum nft_ct_keys { · 119 unmodified lines
736 NFT_CT_PROTO_SRC,757 NFT_CT_PROTO_SRC,
737 NFT_CT_PROTO_DST,758 NFT_CT_PROTO_DST,
738 NFT_CT_LABELS,759 NFT_CT_LABELS,
760 NFT_CT_PKTS,
761 NFT_CT_BYTES,
739};762};
740 763
741/**764/**
@@ -761,6 +784,10 @@ enum nft_limit_type { · 19 unmodified lines
761 NFT_LIMIT_PKT_BYTES784 NFT_LIMIT_PKT_BYTES
762};785};
763 786
787enum nft_limit_flags {
788 NFT_LIMIT_F_INV = (1 << 0),
789};
790
764/**791/**
765 * enum nft_limit_attributes - nf_tables limit expression netlink attributes792 * enum nft_limit_attributes - nf_tables limit expression netlink attributes
766 *793 *
@@ -768,6 +795,7 @@ enum nft_limit_type { · 1 unmodified line
768 * @NFTA_LIMIT_UNIT: refill unit (NLA_U64)795 * @NFTA_LIMIT_UNIT: refill unit (NLA_U64)
769 * @NFTA_LIMIT_BURST: burst (NLA_U32)796 * @NFTA_LIMIT_BURST: burst (NLA_U32)
770 * @NFTA_LIMIT_TYPE: type of limit (NLA_U32: enum nft_limit_type)797 * @NFTA_LIMIT_TYPE: type of limit (NLA_U32: enum nft_limit_type)
798 * @NFTA_LIMIT_FLAGS: flags (NLA_U32: enum nft_limit_flags)
771 */799 */
772enum nft_limit_attributes {800enum nft_limit_attributes {
773 NFTA_LIMIT_UNSPEC,801 NFTA_LIMIT_UNSPEC,
@@ -775,6 +803,7 @@ enum nft_limit_attributes { · 1 unmodified line
775 NFTA_LIMIT_UNIT,803 NFTA_LIMIT_UNIT,
776 NFTA_LIMIT_BURST,804 NFTA_LIMIT_BURST,
777 NFTA_LIMIT_TYPE,805 NFTA_LIMIT_TYPE,
806 NFTA_LIMIT_FLAGS,
778 __NFTA_LIMIT_MAX807 __NFTA_LIMIT_MAX
779};808};
780#define NFTA_LIMIT_MAX (__NFTA_LIMIT_MAX - 1)809#define NFTA_LIMIT_MAX (__NFTA_LIMIT_MAX - 1)
@@ -958,6 +987,18 @@ enum nft_dup_attributes { · 177 unmodified lines
958};987};
959#define NFTA_DUP_MAX (__NFTA_DUP_MAX - 1)988#define NFTA_DUP_MAX (__NFTA_DUP_MAX - 1)
960 989
990/**
991 * enum nft_fwd_attributes - nf_tables fwd expression netlink attributes
992 *
993 * @NFTA_FWD_SREG_DEV: source register of output interface (NLA_U32: nft_register)
994 */
995enum nft_fwd_attributes {
996 NFTA_FWD_UNSPEC,
997 NFTA_FWD_SREG_DEV,
998 __NFTA_FWD_MAX
999};
1000#define NFTA_FWD_MAX (__NFTA_FWD_MAX - 1)
1001
961/**1002/**
962 * enum nft_gen_attributes - nf_tables ruleset generation attributes1003 * enum nft_gen_attributes - nf_tables ruleset generation attributes
963 *1004 *
@@ -970,4 +1011,54 @@ enum nft_gen_attributes { · 6 unmodified lines
970};1011};
971#define NFTA_GEN_MAX (__NFTA_GEN_MAX - 1)1012#define NFTA_GEN_MAX (__NFTA_GEN_MAX - 1)
972 1013
1014/**
1015 * enum nft_trace_attributes - nf_tables trace netlink attributes
1016 *
1017 * @NFTA_TRACE_TABLE: name of the table (NLA_STRING)
1018 * @NFTA_TRACE_CHAIN: name of the chain (NLA_STRING)
1019 * @NFTA_TRACE_RULE_HANDLE: numeric handle of the rule (NLA_U64)
1020 * @NFTA_TRACE_TYPE: type of the event (NLA_U32: nft_trace_types)
1021 * @NFTA_TRACE_VERDICT: verdict returned by hook (NLA_NESTED: nft_verdicts)
1022 * @NFTA_TRACE_ID: pseudo-id, same for each skb traced (NLA_U32)
1023 * @NFTA_TRACE_LL_HEADER: linklayer header (NLA_BINARY)
1024 * @NFTA_TRACE_NETWORK_HEADER: network header (NLA_BINARY)
1025 * @NFTA_TRACE_TRANSPORT_HEADER: transport header (NLA_BINARY)
1026 * @NFTA_TRACE_IIF: indev ifindex (NLA_U32)
1027 * @NFTA_TRACE_IIFTYPE: netdev->type of indev (NLA_U16)
1028 * @NFTA_TRACE_OIF: outdev ifindex (NLA_U32)
1029 * @NFTA_TRACE_OIFTYPE: netdev->type of outdev (NLA_U16)
1030 * @NFTA_TRACE_MARK: nfmark (NLA_U32)
1031 * @NFTA_TRACE_NFPROTO: nf protocol processed (NLA_U32)
1032 * @NFTA_TRACE_POLICY: policy that decided fate of packet (NLA_U32)
1033 */
1034enum nft_trace_attibutes {
1035 NFTA_TRACE_UNSPEC,
1036 NFTA_TRACE_TABLE,
1037 NFTA_TRACE_CHAIN,
1038 NFTA_TRACE_RULE_HANDLE,
1039 NFTA_TRACE_TYPE,
1040 NFTA_TRACE_VERDICT,
1041 NFTA_TRACE_ID,
1042 NFTA_TRACE_LL_HEADER,
1043 NFTA_TRACE_NETWORK_HEADER,
1044 NFTA_TRACE_TRANSPORT_HEADER,
1045 NFTA_TRACE_IIF,
1046 NFTA_TRACE_IIFTYPE,
1047 NFTA_TRACE_OIF,
1048 NFTA_TRACE_OIFTYPE,
1049 NFTA_TRACE_MARK,
1050 NFTA_TRACE_NFPROTO,
1051 NFTA_TRACE_POLICY,
1052 __NFTA_TRACE_MAX
1053};
1054#define NFTA_TRACE_MAX (__NFTA_TRACE_MAX - 1)
1055
1056enum nft_trace_types {
1057 NFT_TRACETYPE_UNSPEC,
1058 NFT_TRACETYPE_POLICY,
1059 NFT_TRACETYPE_RETURN,
1060 NFT_TRACETYPE_RULE,
1061 __NFT_TRACETYPE_MAX
1062};
1063#define NFT_TRACETYPE_MAX (__NFT_TRACETYPE_MAX - 1)
973#endif /* _LINUX_NF_TABLES_H */1064#endif /* _LINUX_NF_TABLES_H */
include/uapi/linux/netfilter/nfnetlink.h+2−0
@@ -22,6 +22,8 @@ enum nfnetlink_groups { · 21 unmodified lines
22#define NFNLGRP_NFTABLES NFNLGRP_NFTABLES22#define NFNLGRP_NFTABLES NFNLGRP_NFTABLES
23 NFNLGRP_ACCT_QUOTA,23 NFNLGRP_ACCT_QUOTA,
24#define NFNLGRP_ACCT_QUOTA NFNLGRP_ACCT_QUOTA24#define NFNLGRP_ACCT_QUOTA NFNLGRP_ACCT_QUOTA
25 NFNLGRP_NFTRACE,
26#define NFNLGRP_NFTRACE NFNLGRP_NFTRACE
25 __NFNLGRP_MAX,27 __NFNLGRP_MAX,
26};28};
27#define NFNLGRP_MAX (__NFNLGRP_MAX - 1)29#define NFNLGRP_MAX (__NFNLGRP_MAX - 1)
include/uapi/linux/netfilter/xt_HMARK.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2#define XT_HMARK_H_2#define XT_HMARK_H_
3 3
4#include <linux/types.h>4#include <linux/types.h>
5#include <linux/netfilter.h>
5 6
6enum {7enum {
7 XT_HMARK_SADDR_MASK,8 XT_HMARK_SADDR_MASK,
include/uapi/linux/netfilter/xt_RATEEST.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2#define _XT_RATEEST_TARGET_H2#define _XT_RATEEST_TARGET_H
3 3
4#include <linux/types.h>4#include <linux/types.h>
5#include <linux/if.h>
5 6
6struct xt_rateest_target_info {7struct xt_rateest_target_info {
7 char name[IFNAMSIZ];8 char name[IFNAMSIZ];
include/uapi/linux/netfilter/xt_TEE.h+2−0
@@ -1,6 +1,8 @@
1#ifndef _XT_TEE_TARGET_H1#ifndef _XT_TEE_TARGET_H
2#define _XT_TEE_TARGET_H2#define _XT_TEE_TARGET_H
3 3
4#include <linux/netfilter.h>
5
4struct xt_tee_tginfo {6struct xt_tee_tginfo {
5 union nf_inet_addr gw;7 union nf_inet_addr gw;
6 char oif[16];8 char oif[16];
include/uapi/linux/netfilter/xt_TPROXY.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2#define _XT_TPROXY_H2#define _XT_TPROXY_H
3 3
4#include <linux/types.h>4#include <linux/types.h>
5#include <linux/netfilter.h>
5 6
6/* TPROXY target is capable of marking the packet to perform7/* TPROXY target is capable of marking the packet to perform
7 * redirection. We can get rid of that whenever we get support for8 * redirection. We can get rid of that whenever we get support for
include/uapi/linux/netfilter/xt_cgroup.h+14−1
@@ -2,10 +2,23 @@ · 1 unmodified line
2#define _UAPI_XT_CGROUP_H2#define _UAPI_XT_CGROUP_H
3 3
4#include <linux/types.h>4#include <linux/types.h>
5#include <linux/limits.h>
5 6
6struct xt_cgroup_info {7struct xt_cgroup_info_v0 {
7 __u32 id;8 __u32 id;
8 __u32 invert;9 __u32 invert;
9};10};
10 11
12struct xt_cgroup_info_v1 {
13 __u8 has_path;
14 __u8 has_classid;
15 __u8 invert_path;
16 __u8 invert_classid;
17 char path[PATH_MAX];
18 __u32 classid;
19
20 /* kernel internal data */
21 void *priv __attribute__((aligned(8)));
22};
23
11#endif /* _UAPI_XT_CGROUP_H */24#endif /* _UAPI_XT_CGROUP_H */
include/uapi/linux/netfilter/xt_hashlimit.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2#define _UAPI_XT_HASHLIMIT_H2#define _UAPI_XT_HASHLIMIT_H
3 3
4#include <linux/types.h>4#include <linux/types.h>
5#include <linux/if.h>
5 6
6/* timings are in milliseconds. */7/* timings are in milliseconds. */
7#define XT_HASHLIMIT_SCALE 100008#define XT_HASHLIMIT_SCALE 10000
include/uapi/linux/netfilter/xt_ipvs.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2#define _XT_IPVS_H2#define _XT_IPVS_H
3 3
4#include <linux/types.h>4#include <linux/types.h>
5#include <linux/netfilter.h>
5 6
6enum {7enum {
7 XT_IPVS_IPVS_PROPERTY = 1 << 0, /* all other options imply this one */8 XT_IPVS_IPVS_PROPERTY = 1 << 0, /* all other options imply this one */
include/uapi/linux/netfilter/xt_mac.h+2−0
@@ -1,6 +1,8 @@
1#ifndef _XT_MAC_H1#ifndef _XT_MAC_H
2#define _XT_MAC_H2#define _XT_MAC_H
3 3
4#include <linux/if_ether.h>
5
4struct xt_mac_info {6struct xt_mac_info {
5 unsigned char srcaddr[ETH_ALEN];7 unsigned char srcaddr[ETH_ALEN];
6 int invert;8 int invert;
include/uapi/linux/netfilter/xt_osf.h+2−0
@@ -20,6 +20,8 @@ · 19 unmodified lines
20#define _XT_OSF_H20#define _XT_OSF_H
21 21
22#include <linux/types.h>22#include <linux/types.h>
23#include <linux/ip.h>
24#include <linux/tcp.h>
23 25
24#define MAXGENRELEN 3226#define MAXGENRELEN 32
25 27
include/uapi/linux/netfilter/xt_physdev.h+1−1
@@ -2,7 +2,7 @@ · 1 unmodified line
2#define _UAPI_XT_PHYSDEV_H2#define _UAPI_XT_PHYSDEV_H
3 3
4#include <linux/types.h>4#include <linux/types.h>
5 5#include <linux/if.h>
6 6
7#define XT_PHYSDEV_OP_IN 0x017#define XT_PHYSDEV_OP_IN 0x01
8#define XT_PHYSDEV_OP_OUT 0x028#define XT_PHYSDEV_OP_OUT 0x02
include/uapi/linux/netfilter/xt_policy.h+2−0
@@ -2,6 +2,8 @@ · 1 unmodified line
2#define _XT_POLICY_H2#define _XT_POLICY_H
3 3
4#include <linux/types.h>4#include <linux/types.h>
5#include <linux/in.h>
6#include <linux/in6.h>
5 7
6#define XT_POLICY_MAX_ELEM 48#define XT_POLICY_MAX_ELEM 4
7 9
include/uapi/linux/netfilter/xt_rateest.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2#define _XT_RATEEST_MATCH_H2#define _XT_RATEEST_MATCH_H
3 3
4#include <linux/types.h>4#include <linux/types.h>
5#include <linux/if.h>
5 6
6enum xt_rateest_match_flags {7enum xt_rateest_match_flags {
7 XT_RATEEST_MATCH_INVERT = 1<<0,8 XT_RATEEST_MATCH_INVERT = 1<<0,
include/uapi/linux/netfilter/xt_recent.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2#define _LINUX_NETFILTER_XT_RECENT_H 12#define _LINUX_NETFILTER_XT_RECENT_H 1
3 3
4#include <linux/types.h>4#include <linux/types.h>
5#include <linux/netfilter.h>
5 6
6enum {7enum {
7 XT_RECENT_CHECK = 1 << 0,8 XT_RECENT_CHECK = 1 << 0,
include/uapi/linux/netfilter/xt_sctp.h+6−6
@@ -66,26 +66,26 @@ struct xt_sctp_info { · 65 unmodified lines
66 66
67#define SCTP_CHUNKMAP_IS_CLEAR(chunkmap) \67#define SCTP_CHUNKMAP_IS_CLEAR(chunkmap) \
68 __sctp_chunkmap_is_clear((chunkmap), ARRAY_SIZE(chunkmap))68 __sctp_chunkmap_is_clear((chunkmap), ARRAY_SIZE(chunkmap))
69static inline bool69static inline _Bool
70__sctp_chunkmap_is_clear(const __u32 *chunkmap, unsigned int n)70__sctp_chunkmap_is_clear(const __u32 *chunkmap, unsigned int n)
71{71{
72 unsigned int i;72 unsigned int i;
73 for (i = 0; i < n; ++i)73 for (i = 0; i < n; ++i)
74 if (chunkmap[i])74 if (chunkmap[i])
75 return false;75 return 0;
76 return true;76 return 1;
77}77}
78 78
79#define SCTP_CHUNKMAP_IS_ALL_SET(chunkmap) \79#define SCTP_CHUNKMAP_IS_ALL_SET(chunkmap) \
80 __sctp_chunkmap_is_all_set((chunkmap), ARRAY_SIZE(chunkmap))80 __sctp_chunkmap_is_all_set((chunkmap), ARRAY_SIZE(chunkmap))
81static inline bool81static inline _Bool
82__sctp_chunkmap_is_all_set(const __u32 *chunkmap, unsigned int n)82__sctp_chunkmap_is_all_set(const __u32 *chunkmap, unsigned int n)
83{83{
84 unsigned int i;84 unsigned int i;
85 for (i = 0; i < n; ++i)85 for (i = 0; i < n; ++i)
86 if (chunkmap[i] != ~0U)86 if (chunkmap[i] != ~0U)
87 return false;87 return 0;
88 return true;88 return 1;
89}89}
90 90
91#endif /* _XT_SCTP_H_ */91#endif /* _XT_SCTP_H_ */
include/uapi/linux/netfilter_arp/arp_tables.h+1−0
@@ -11,6 +11,7 @@ · 10 unmodified lines
11 11
12#include <linux/types.h>12#include <linux/types.h>
13#include <linux/compiler.h>13#include <linux/compiler.h>
14#include <linux/if.h>
14#include <linux/netfilter_arp.h>15#include <linux/netfilter_arp.h>
15 16
16#include <linux/netfilter/x_tables.h>17#include <linux/netfilter/x_tables.h>
include/uapi/linux/netfilter_bridge.h+1−0
@@ -4,6 +4,7 @@ · 3 unmodified lines
4/* bridge-specific defines for netfilter. 4/* bridge-specific defines for netfilter.
5 */5 */
6 6
7#include <linux/in.h>
7#include <linux/netfilter.h>8#include <linux/netfilter.h>
8#include <linux/if_ether.h>9#include <linux/if_ether.h>
9#include <linux/if_vlan.h>10#include <linux/if_vlan.h>
include/uapi/linux/netfilter_bridge/ebt_arp.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2#define __LINUX_BRIDGE_EBT_ARP_H2#define __LINUX_BRIDGE_EBT_ARP_H
3 3
4#include <linux/types.h>4#include <linux/types.h>
5#include <linux/if_ether.h>
5 6
6#define EBT_ARP_OPCODE 0x017#define EBT_ARP_OPCODE 0x01
7#define EBT_ARP_HTYPE 0x028#define EBT_ARP_HTYPE 0x02
include/uapi/linux/netfilter_bridge/ebt_arpreply.h+2−0
@@ -1,6 +1,8 @@
1#ifndef __LINUX_BRIDGE_EBT_ARPREPLY_H1#ifndef __LINUX_BRIDGE_EBT_ARPREPLY_H
2#define __LINUX_BRIDGE_EBT_ARPREPLY_H2#define __LINUX_BRIDGE_EBT_ARPREPLY_H
3 3
4#include <linux/if_ether.h>
5
4struct ebt_arpreply_info {6struct ebt_arpreply_info {
5 unsigned char mac[ETH_ALEN];7 unsigned char mac[ETH_ALEN];
6 int target;8 int target;
include/uapi/linux/netfilter_bridge/ebt_ip6.h+1−0
@@ -13,6 +13,7 @@ · 12 unmodified lines
13#define __LINUX_BRIDGE_EBT_IP6_H13#define __LINUX_BRIDGE_EBT_IP6_H
14 14
15#include <linux/types.h>15#include <linux/types.h>
16#include <linux/in6.h>
16 17
17#define EBT_IP6_SOURCE 0x0118#define EBT_IP6_SOURCE 0x01
18#define EBT_IP6_DEST 0x0219#define EBT_IP6_DEST 0x02
include/uapi/linux/netfilter_bridge/ebt_nat.h+2−0
@@ -1,6 +1,8 @@
1#ifndef __LINUX_BRIDGE_EBT_NAT_H1#ifndef __LINUX_BRIDGE_EBT_NAT_H
2#define __LINUX_BRIDGE_EBT_NAT_H2#define __LINUX_BRIDGE_EBT_NAT_H
3 3
4#include <linux/if_ether.h>
5
4#define NAT_ARP_BIT (0x00000010)6#define NAT_ARP_BIT (0x00000010)
5struct ebt_nat_info {7struct ebt_nat_info {
6 unsigned char mac[ETH_ALEN];8 unsigned char mac[ETH_ALEN];
include/uapi/linux/netfilter_bridge/ebtables.h+4−2
@@ -12,6 +12,8 @@ · 11 unmodified lines
12 12
13#ifndef _UAPI__LINUX_BRIDGE_EFF_H13#ifndef _UAPI__LINUX_BRIDGE_EFF_H
14#define _UAPI__LINUX_BRIDGE_EFF_H14#define _UAPI__LINUX_BRIDGE_EFF_H
15#include <linux/types.h>
16#include <linux/if.h>
15#include <linux/netfilter_bridge.h>17#include <linux/netfilter_bridge.h>
16 18
17#define EBT_TABLE_MAXNAMELEN 3219#define EBT_TABLE_MAXNAMELEN 32
@@ -33,8 +35,8 @@ struct xt_match; · 15 unmodified lines
33struct xt_target;35struct xt_target;
34 36
35struct ebt_counter {37struct ebt_counter {
36 uint64_t pcnt;38 __u64 pcnt;
37 uint64_t bcnt;39 __u64 bcnt;
38};40};
39 41
40struct ebt_replace {42struct ebt_replace {
include/uapi/linux/netfilter_ipv4/ip_tables.h+1−0
@@ -17,6 +17,7 @@ · 16 unmodified lines
17 17
18#include <linux/types.h>18#include <linux/types.h>
19#include <linux/compiler.h>19#include <linux/compiler.h>
20#include <linux/if.h>
20#include <linux/netfilter_ipv4.h>21#include <linux/netfilter_ipv4.h>
21 22
22#include <linux/netfilter/x_tables.h>23#include <linux/netfilter/x_tables.h>
include/uapi/linux/netfilter_ipv6/ip6_tables.h+1−0
@@ -17,6 +17,7 @@ · 16 unmodified lines
17 17
18#include <linux/types.h>18#include <linux/types.h>
19#include <linux/compiler.h>19#include <linux/compiler.h>
20#include <linux/if.h>
20#include <linux/netfilter_ipv6.h>21#include <linux/netfilter_ipv6.h>
21 22
22#include <linux/netfilter/x_tables.h>23#include <linux/netfilter/x_tables.h>
include/uapi/linux/netfilter_ipv6/ip6t_rt.h+1−1
@@ -2,7 +2,7 @@ · 1 unmodified line
2#define _IP6T_RT_H2#define _IP6T_RT_H
3 3
4#include <linux/types.h>4#include <linux/types.h>
5/*#include <linux/in6.h>*/5#include <linux/in6.h>
6 6
7#define IP6T_RT_HOPS 167#define IP6T_RT_HOPS 16
8 8
include/uapi/linux/nl80211.h+9−2
@@ -820,6 +820,10 @@ · 819 unmodified lines
820 * as an event to indicate changes for devices with wiphy-specific regdom820 * as an event to indicate changes for devices with wiphy-specific regdom
821 * management.821 * management.
822 *822 *
823 * @NL80211_CMD_ABORT_SCAN: Stop an ongoing scan. Returns -ENOENT if a scan is
824 * not running. The driver indicates the status of the scan through
825 * cfg80211_scan_done().
826 *
823 * @NL80211_CMD_MAX: highest used command number827 * @NL80211_CMD_MAX: highest used command number
824 * @__NL80211_CMD_AFTER_LAST: internal use828 * @__NL80211_CMD_AFTER_LAST: internal use
825 */829 */
@@ -1006,6 +1010,8 @@ enum nl80211_commands { · 180 unmodified lines
1006 1010
1007 NL80211_CMD_WIPHY_REG_CHANGE,1011 NL80211_CMD_WIPHY_REG_CHANGE,
1008 1012
1013 NL80211_CMD_ABORT_SCAN,
1014
1009 /* add new commands above here */1015 /* add new commands above here */
1010 1016
1011 /* used to define NL80211_CMD_MAX below */1017 /* used to define NL80211_CMD_MAX below */
@@ -1764,8 +1770,9 @@ enum nl80211_commands { · 752 unmodified lines
1764 * over all channels.1770 * over all channels.
1765 *1771 *
1766 * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a1772 * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a
1767 * scheduled scan (or a WoWLAN net-detect scan) is started, u321773 * scheduled scan is started. Or the delay before a WoWLAN
1768 * in seconds.1774 * net-detect scan is started, counting from the moment the
1775 * system is suspended. This value is a u32, in seconds.
1769 1776
1770 * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device1777 * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
1771 * is operating in an indoor environment.1778 * is operating in an indoor environment.
include/uapi/linux/pkt_sched.h+4−0
@@ -72,6 +72,10 @@ struct tc_estimator { · 71 unmodified lines
72#define TC_H_UNSPEC (0U)72#define TC_H_UNSPEC (0U)
73#define TC_H_ROOT (0xFFFFFFFFU)73#define TC_H_ROOT (0xFFFFFFFFU)
74#define TC_H_INGRESS (0xFFFFFFF1U)74#define TC_H_INGRESS (0xFFFFFFF1U)
75#define TC_H_CLSACT TC_H_INGRESS
76
77#define TC_H_MIN_INGRESS 0xFFF2U
78#define TC_H_MIN_EGRESS 0xFFF3U
75 79
76/* Need to corrospond to iproute2 tc/tc_core.h "enum link_layer" */80/* Need to corrospond to iproute2 tc/tc_core.h "enum link_layer" */
77enum tc_link_layer {81enum tc_link_layer {
include/uapi/linux/rtnetlink.h+1−0
@@ -311,6 +311,7 @@ enum rtattr_type_t { · 310 unmodified lines
311 RTA_PREF,311 RTA_PREF,
312 RTA_ENCAP_TYPE,312 RTA_ENCAP_TYPE,
313 RTA_ENCAP,313 RTA_ENCAP,
314 RTA_EXPIRES,
314 __RTA_MAX315 __RTA_MAX
315};316};
316 317
include/uapi/linux/sock_diag.h+1−0
@@ -4,6 +4,7 @@ · 3 unmodified lines
4#include <linux/types.h>4#include <linux/types.h>
5 5
6#define SOCK_DIAG_BY_FAMILY 206#define SOCK_DIAG_BY_FAMILY 20
7#define SOCK_DESTROY 21
7 8
8struct sock_diag_req {9struct sock_diag_req {
9 __u8 sdiag_family;10 __u8 sdiag_family;
include/uapi/linux/sockios.h+1−1
@@ -27,7 +27,7 @@ · 26 unmodified lines
27/* Routing table calls. */27/* Routing table calls. */
28#define SIOCADDRT 0x890B /* add routing table entry */28#define SIOCADDRT 0x890B /* add routing table entry */
29#define SIOCDELRT 0x890C /* delete routing table entry */29#define SIOCDELRT 0x890C /* delete routing table entry */
30#define SIOCRTMSG 0x890D /* call to routing system */30#define SIOCRTMSG 0x890D /* unused */
31 31
32/* Socket configuration controls. */32/* Socket configuration controls. */
33#define SIOCGIFNAME 0x8910 /* get iface name */33#define SIOCGIFNAME 0x8910 /* get iface name */