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 ...
Showing the changes to include/uapi (43 of 1739 files). Show all
Unified · Split
| @@ -87,4 +87,7 @@ · 86 unmodified lines | |||
| 87 | #define SO_ATTACH_BPF 50 | 87 | #define SO_ATTACH_BPF 50 |
| 88 | #define SO_DETACH_BPF SO_DETACH_FILTER | 88 | #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 */ |
| @@ -269,9 +269,29 @@ enum bpf_func_id { · 268 unmodified lines | |||
| 269 | * Return: 0 on success | 269 | * 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 structure | 296 | * 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 | ||
| 296 | struct bpf_tunnel_key { | 316 | struct 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__ */ |
| @@ -542,6 +542,7 @@ struct ethtool_pauseparam { · 541 unmodified lines | |||
| 542 | * now deprecated | 542 | * now deprecated |
| 543 | * @ETH_SS_FEATURES: Device feature names | 543 | * @ETH_SS_FEATURES: Device feature names |
| 544 | * @ETH_SS_RSS_HASH_FUNCS: RSS hush function names | 544 | * @ETH_SS_RSS_HASH_FUNCS: RSS hush function names |
| 545 | * @ETH_SS_PHY_STATS: Statistic names, for use with %ETHTOOL_GPHYSTATS | ||
| 545 | */ | 546 | */ |
| 546 | enum ethtool_stringset { | 547 | enum 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_GSET | 1233 | #define SPARC_ETH_GSET ETHTOOL_GSET |
| @@ -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_MAX | 469 | __IFLA_GENEVE_MAX |
| 466 | }; | 470 | }; |
| 467 | #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) | 471 | #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) |
| @@ -3,13 +3,35 @@ · 2 unmodified lines | |||
| 3 | #ifndef _UAPI_LINUX_ILA_H | 3 | #ifndef _UAPI_LINUX_ILA_H |
| 4 | #define _UAPI_LINUX_ILA_H | 4 | #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 | |||
| 6 | enum { | 10 | enum { |
| 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 | ||
| 23 | enum { | ||
| 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 */ |
| @@ -196,6 +196,7 @@ struct in6_flowlabel_req { · 195 unmodified lines | |||
| 196 | 196 | ||
| 197 | #define IPV6_IPSEC_POLICY 34 | 197 | #define IPV6_IPSEC_POLICY 34 |
| 198 | #define IPV6_XFRM_POLICY 35 | 198 | #define IPV6_XFRM_POLICY 35 |
| 199 | #define IPV6_HDRINCL 36 | ||
| 199 | #endif | 200 | #endif |
| 200 | 201 | ||
| 201 | /* | 202 | /* |
| @@ -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 keep | 8 | * 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 200 | 16 | #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 |
| 38 | typedef unsigned long vifbitmap_t; /* User mode code depends on this lot */ | 36 | typedef unsigned long vifbitmap_t; /* User mode code depends on this lot */ |
| 39 | typedef unsigned short vifi_t; | 37 | typedef 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 select | 41 | |
| 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 the | 50 | * mrouted 3.6 structures for compatibility |
| 55 | * mrouted 3.6 structures for compatibility | ||
| 56 | */ | 51 | */ |
| 57 | |||
| 58 | struct vifctl { | 52 | struct 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 of | 67 | #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 | |||
| 80 | struct mfcctl { | 71 | struct 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 | |||
| 95 | struct sioc_sg_req { | 83 | struct 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 | |||
| 107 | struct sioc_vif_req { | 92 | struct 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 control | 101 | * 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 | |||
| 120 | struct igmpmsg { | 103 | struct 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 */ |
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef _UAPI__IP_SET_BITMAP_H | 1 | #ifndef _UAPI__IP_SET_BITMAP_H |
| 2 | #define _UAPI__IP_SET_BITMAP_H | 2 | #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 */ |
| 5 | enum { | 7 | enum { |
| 6 | /* The element is out of the range of the set */ | 8 | /* The element is out of the range of the set */ |
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef _UAPI__IP_SET_HASH_H | 1 | #ifndef _UAPI__IP_SET_HASH_H |
| 2 | #define _UAPI__IP_SET_HASH_H | 2 | #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 */ |
| 5 | enum { | 7 | enum { |
| 6 | /* Hash is full */ | 8 | /* Hash is full */ |
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef _UAPI__IP_SET_LIST_H | 1 | #ifndef _UAPI__IP_SET_LIST_H |
| 2 | #define _UAPI__IP_SET_LIST_H | 2 | #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 */ |
| 5 | enum { | 7 | enum { |
| 6 | /* Set name to be added/deleted/tested does not exist. */ | 8 | /* Set name to be added/deleted/tested does not exist. */ |
| @@ -1,5 +1,5 @@ | |||
| 1 | #ifndef _NF_CONNTRACK_SCTP_H | 1 | #ifndef _UAPI_NF_CONNTRACK_SCTP_H |
| 2 | #define _NF_CONNTRACK_SCTP_H | 2 | #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_MAX | 18 | SCTP_CONNTRACK_MAX |
| 19 | }; | 19 | }; |
| 20 | 20 | ||
| 21 | struct 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 */ | ||
| @@ -1,6 +1,9 @@ | |||
| 1 | #ifndef _NF_CONNTRACK_TUPLE_COMMON_H | 1 | #ifndef _NF_CONNTRACK_TUPLE_COMMON_H |
| 2 | #define _NF_CONNTRACK_TUPLE_COMMON_H | 2 | #define _NF_CONNTRACK_TUPLE_COMMON_H |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | ||
| 5 | #include <linux/netfilter.h> | ||
| 6 | |||
| 4 | enum ip_conntrack_dir { | 7 | enum ip_conntrack_dir { |
| 5 | IP_CT_DIR_ORIGINAL, | 8 | IP_CT_DIR_ORIGINAL, |
| 6 | IP_CT_DIR_REPLY, | 9 | IP_CT_DIR_REPLY, |
| @@ -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 | */ |
| 87 | enum nf_tables_msg_types { | 88 | enum 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 | */ |
| 293 | enum nft_set_attributes { | 296 | enum 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_MAX | 311 | __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 | */ | ||
| 610 | enum 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 attributes | 616 | * 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 | */ |
| 608 | enum nft_payload_attributes { | 626 | enum 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_MAX | 635 | __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_BYTES | 784 | NFT_LIMIT_PKT_BYTES |
| 762 | }; | 785 | }; |
| 763 | 786 | ||
| 787 | enum nft_limit_flags { | ||
| 788 | NFT_LIMIT_F_INV = (1 << 0), | ||
| 789 | }; | ||
| 790 | |||
| 764 | /** | 791 | /** |
| 765 | * enum nft_limit_attributes - nf_tables limit expression netlink attributes | 792 | * 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 | */ |
| 772 | enum nft_limit_attributes { | 800 | enum 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_MAX | 807 | __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 | */ | ||
| 995 | enum 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 attributes | 1003 | * 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 | */ | ||
| 1034 | enum 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 | |||
| 1056 | enum 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 */ |
| @@ -22,6 +22,8 @@ enum nfnetlink_groups { · 21 unmodified lines | |||
| 22 | #define NFNLGRP_NFTABLES NFNLGRP_NFTABLES | 22 | #define NFNLGRP_NFTABLES NFNLGRP_NFTABLES |
| 23 | NFNLGRP_ACCT_QUOTA, | 23 | NFNLGRP_ACCT_QUOTA, |
| 24 | #define NFNLGRP_ACCT_QUOTA NFNLGRP_ACCT_QUOTA | 24 | #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) |
| @@ -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 | ||
| 6 | enum { | 7 | enum { |
| 7 | XT_HMARK_SADDR_MASK, | 8 | XT_HMARK_SADDR_MASK, |
| @@ -2,6 +2,7 @@ · 1 unmodified line | |||
| 2 | #define _XT_RATEEST_TARGET_H | 2 | #define _XT_RATEEST_TARGET_H |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 5 | #include <linux/if.h> | ||
| 5 | 6 | ||
| 6 | struct xt_rateest_target_info { | 7 | struct xt_rateest_target_info { |
| 7 | char name[IFNAMSIZ]; | 8 | char name[IFNAMSIZ]; |
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef _XT_TEE_TARGET_H | 1 | #ifndef _XT_TEE_TARGET_H |
| 2 | #define _XT_TEE_TARGET_H | 2 | #define _XT_TEE_TARGET_H |
| 3 | 3 | ||
| 4 | #include <linux/netfilter.h> | ||
| 5 | |||
| 4 | struct xt_tee_tginfo { | 6 | struct xt_tee_tginfo { |
| 5 | union nf_inet_addr gw; | 7 | union nf_inet_addr gw; |
| 6 | char oif[16]; | 8 | char oif[16]; |
| @@ -2,6 +2,7 @@ · 1 unmodified line | |||
| 2 | #define _XT_TPROXY_H | 2 | #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 perform | 7 | /* TPROXY target is capable of marking the packet to perform |
| 7 | * redirection. We can get rid of that whenever we get support for | 8 | * redirection. We can get rid of that whenever we get support for |
| @@ -2,10 +2,23 @@ · 1 unmodified line | |||
| 2 | #define _UAPI_XT_CGROUP_H | 2 | #define _UAPI_XT_CGROUP_H |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 5 | #include <linux/limits.h> | ||
| 5 | 6 | ||
| 6 | struct xt_cgroup_info { | 7 | struct xt_cgroup_info_v0 { |
| 7 | __u32 id; | 8 | __u32 id; |
| 8 | __u32 invert; | 9 | __u32 invert; |
| 9 | }; | 10 | }; |
| 10 | 11 | ||
| 12 | struct 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 */ |
| @@ -2,6 +2,7 @@ · 1 unmodified line | |||
| 2 | #define _UAPI_XT_HASHLIMIT_H | 2 | #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 10000 | 8 | #define XT_HASHLIMIT_SCALE 10000 |
| @@ -2,6 +2,7 @@ · 1 unmodified line | |||
| 2 | #define _XT_IPVS_H | 2 | #define _XT_IPVS_H |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 5 | #include <linux/netfilter.h> | ||
| 5 | 6 | ||
| 6 | enum { | 7 | enum { |
| 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 */ |
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef _XT_MAC_H | 1 | #ifndef _XT_MAC_H |
| 2 | #define _XT_MAC_H | 2 | #define _XT_MAC_H |
| 3 | 3 | ||
| 4 | #include <linux/if_ether.h> | ||
| 5 | |||
| 4 | struct xt_mac_info { | 6 | struct xt_mac_info { |
| 5 | unsigned char srcaddr[ETH_ALEN]; | 7 | unsigned char srcaddr[ETH_ALEN]; |
| 6 | int invert; | 8 | int invert; |
| @@ -20,6 +20,8 @@ · 19 unmodified lines | |||
| 20 | #define _XT_OSF_H | 20 | #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 32 | 26 | #define MAXGENRELEN 32 |
| 25 | 27 | ||
| @@ -2,7 +2,7 @@ · 1 unmodified line | |||
| 2 | #define _UAPI_XT_PHYSDEV_H | 2 | #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 0x01 | 7 | #define XT_PHYSDEV_OP_IN 0x01 |
| 8 | #define XT_PHYSDEV_OP_OUT 0x02 | 8 | #define XT_PHYSDEV_OP_OUT 0x02 |
| @@ -2,6 +2,8 @@ · 1 unmodified line | |||
| 2 | #define _XT_POLICY_H | 2 | #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 4 | 8 | #define XT_POLICY_MAX_ELEM 4 |
| 7 | 9 | ||
| @@ -2,6 +2,7 @@ · 1 unmodified line | |||
| 2 | #define _XT_RATEEST_MATCH_H | 2 | #define _XT_RATEEST_MATCH_H |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 5 | #include <linux/if.h> | ||
| 5 | 6 | ||
| 6 | enum xt_rateest_match_flags { | 7 | enum xt_rateest_match_flags { |
| 7 | XT_RATEEST_MATCH_INVERT = 1<<0, | 8 | XT_RATEEST_MATCH_INVERT = 1<<0, |
| @@ -2,6 +2,7 @@ · 1 unmodified line | |||
| 2 | #define _LINUX_NETFILTER_XT_RECENT_H 1 | 2 | #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 | ||
| 6 | enum { | 7 | enum { |
| 7 | XT_RECENT_CHECK = 1 << 0, | 8 | XT_RECENT_CHECK = 1 << 0, |
| @@ -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)) |
| 69 | static inline bool | 69 | static 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)) |
| 81 | static inline bool | 81 | static 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_ */ |
| @@ -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> |
| @@ -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> |
| @@ -2,6 +2,7 @@ · 1 unmodified line | |||
| 2 | #define __LINUX_BRIDGE_EBT_ARP_H | 2 | #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 0x01 | 7 | #define EBT_ARP_OPCODE 0x01 |
| 7 | #define EBT_ARP_HTYPE 0x02 | 8 | #define EBT_ARP_HTYPE 0x02 |
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef __LINUX_BRIDGE_EBT_ARPREPLY_H | 1 | #ifndef __LINUX_BRIDGE_EBT_ARPREPLY_H |
| 2 | #define __LINUX_BRIDGE_EBT_ARPREPLY_H | 2 | #define __LINUX_BRIDGE_EBT_ARPREPLY_H |
| 3 | 3 | ||
| 4 | #include <linux/if_ether.h> | ||
| 5 | |||
| 4 | struct ebt_arpreply_info { | 6 | struct ebt_arpreply_info { |
| 5 | unsigned char mac[ETH_ALEN]; | 7 | unsigned char mac[ETH_ALEN]; |
| 6 | int target; | 8 | int target; |
| @@ -13,6 +13,7 @@ · 12 unmodified lines | |||
| 13 | #define __LINUX_BRIDGE_EBT_IP6_H | 13 | #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 0x01 | 18 | #define EBT_IP6_SOURCE 0x01 |
| 18 | #define EBT_IP6_DEST 0x02 | 19 | #define EBT_IP6_DEST 0x02 |
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef __LINUX_BRIDGE_EBT_NAT_H | 1 | #ifndef __LINUX_BRIDGE_EBT_NAT_H |
| 2 | #define __LINUX_BRIDGE_EBT_NAT_H | 2 | #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) |
| 5 | struct ebt_nat_info { | 7 | struct ebt_nat_info { |
| 6 | unsigned char mac[ETH_ALEN]; | 8 | unsigned char mac[ETH_ALEN]; |
| @@ -12,6 +12,8 @@ · 11 unmodified lines | |||
| 12 | 12 | ||
| 13 | #ifndef _UAPI__LINUX_BRIDGE_EFF_H | 13 | #ifndef _UAPI__LINUX_BRIDGE_EFF_H |
| 14 | #define _UAPI__LINUX_BRIDGE_EFF_H | 14 | #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 32 | 19 | #define EBT_TABLE_MAXNAMELEN 32 |
| @@ -33,8 +35,8 @@ struct xt_match; · 15 unmodified lines | |||
| 33 | struct xt_target; | 35 | struct xt_target; |
| 34 | 36 | ||
| 35 | struct ebt_counter { | 37 | struct ebt_counter { |
| 36 | uint64_t pcnt; | 38 | __u64 pcnt; |
| 37 | uint64_t bcnt; | 39 | __u64 bcnt; |
| 38 | }; | 40 | }; |
| 39 | 41 | ||
| 40 | struct ebt_replace { | 42 | struct ebt_replace { |
| @@ -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> |
| @@ -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> |
| @@ -2,7 +2,7 @@ · 1 unmodified line | |||
| 2 | #define _IP6T_RT_H | 2 | #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 16 | 7 | #define IP6T_RT_HOPS 16 |
| 8 | 8 | ||
| @@ -820,6 +820,10 @@ · 819 unmodified lines | |||
| 820 | * as an event to indicate changes for devices with wiphy-specific regdom | 820 | * 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 number | 827 | * @NL80211_CMD_MAX: highest used command number |
| 824 | * @__NL80211_CMD_AFTER_LAST: internal use | 828 | * @__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 a | 1772 | * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a |
| 1767 | * scheduled scan (or a WoWLAN net-detect scan) is started, u32 | 1773 | * 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 device | 1777 | * @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. |
| @@ -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" */ |
| 77 | enum tc_link_layer { | 81 | enum tc_link_layer { |
| @@ -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_MAX | 315 | __RTA_MAX |
| 315 | }; | 316 | }; |
| 316 | 317 | ||
| @@ -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 20 | 6 | #define SOCK_DIAG_BY_FAMILY 20 |
| 7 | #define SOCK_DESTROY 21 | ||
| 7 | 8 | ||
| 8 | struct sock_diag_req { | 9 | struct sock_diag_req { |
| 9 | __u8 sdiag_family; | 10 | __u8 sdiag_family; |
| @@ -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 */ |