diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-15 18:04:25 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-15 18:04:25 -0400 |
| commit | 9a76aba02a37718242d7cdc294f0a3901928aa57 (patch) | |
| tree | 2040d038f85d2120f21af83b0793efd5af1864e3 /include/uapi/linux | |
| parent | 0a957467c5fd46142bc9c52758ffc552d4c5e2f7 (diff) | |
| parent | 26a1ccc6c117be8e33e0410fce8c5298b0015b99 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking updates from David Miller:
"Highlights:
- Gustavo A. R. Silva keeps working on the implicit switch fallthru
changes.
- Support 802.11ax High-Efficiency wireless in cfg80211 et al, From
Luca Coelho.
- Re-enable ASPM in r8169, from Kai-Heng Feng.
- Add virtual XFRM interfaces, which avoids all of the limitations of
existing IPSEC tunnels. From Steffen Klassert.
- Convert GRO over to use a hash table, so that when we have many
flows active we don't traverse a long list during accumluation.
- Many new self tests for routing, TC, tunnels, etc. Too many
contributors to mention them all, but I'm really happy to keep
seeing this stuff.
- Hardware timestamping support for dpaa_eth/fsl-fman from Yangbo Lu.
- Lots of cleanups and fixes in L2TP code from Guillaume Nault.
- Add IPSEC offload support to netdevsim, from Shannon Nelson.
- Add support for slotting with non-uniform distribution to netem
packet scheduler, from Yousuk Seung.
- Add UDP GSO support to mlx5e, from Boris Pismenny.
- Support offloading of Team LAG in NFP, from John Hurley.
- Allow to configure TX queue selection based upon RX queue, from
Amritha Nambiar.
- Support ethtool ring size configuration in aquantia, from Anton
Mikaev.
- Support DSCP and flowlabel per-transport in SCTP, from Xin Long.
- Support list based batching and stack traversal of SKBs, this is
very exciting work. From Edward Cree.
- Busyloop optimizations in vhost_net, from Toshiaki Makita.
- Introduce the ETF qdisc, which allows time based transmissions. IGB
can offload this in hardware. From Vinicius Costa Gomes.
- Add parameter support to devlink, from Moshe Shemesh.
- Several multiplication and division optimizations for BPF JIT in
nfp driver, from Jiong Wang.
- Lots of prepatory work to make more of the packet scheduler layer
lockless, when possible, from Vlad Buslov.
- Add ACK filter and NAT awareness to sch_cake packet scheduler, from
Toke Høiland-Jørgensen.
- Support regions and region snapshots in devlink, from Alex Vesker.
- Allow to attach XDP programs to both HW and SW at the same time on
a given device, with initial support in nfp. From Jakub Kicinski.
- Add TLS RX offload and support in mlx5, from Ilya Lesokhin.
- Use PHYLIB in r8169 driver, from Heiner Kallweit.
- All sorts of changes to support Spectrum 2 in mlxsw driver, from
Ido Schimmel.
- PTP support in mv88e6xxx DSA driver, from Andrew Lunn.
- Make TCP_USER_TIMEOUT socket option more accurate, from Jon
Maxwell.
- Support for templates in packet scheduler classifier, from Jiri
Pirko.
- IPV6 support in RDS, from Ka-Cheong Poon.
- Native tproxy support in nf_tables, from Máté Eckl.
- Maintain IP fragment queue in an rbtree, but optimize properly for
in-order frags. From Peter Oskolkov.
- Improvde handling of ACKs on hole repairs, from Yuchung Cheng"
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1996 commits)
bpf: test: fix spelling mistake "REUSEEPORT" -> "REUSEPORT"
hv/netvsc: Fix NULL dereference at single queue mode fallback
net: filter: mark expected switch fall-through
xen-netfront: fix warn message as irq device name has '/'
cxgb4: Add new T5 PCI device ids 0x50af and 0x50b0
net: dsa: mv88e6xxx: missing unlock on error path
rds: fix building with IPV6=m
inet/connection_sock: prefer _THIS_IP_ to current_text_addr
net: dsa: mv88e6xxx: bitwise vs logical bug
net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd()
ieee802154: hwsim: using right kind of iteration
net: hns3: Add vlan filter setting by ethtool command -K
net: hns3: Set tx ring' tc info when netdev is up
net: hns3: Remove tx ring BD len register in hns3_enet
net: hns3: Fix desc num set to default when setting channel
net: hns3: Fix for phy link issue when using marvell phy driver
net: hns3: Fix for information of phydev lost problem when down/up
net: hns3: Fix for command format parsing error in hclge_is_all_function_id_zero
net: hns3: Add support for serdes loopback selftest
bnxt_en: take coredump_record structure off stack
...
Diffstat (limited to 'include/uapi/linux')
36 files changed, 857 insertions, 48 deletions
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index b7db3261c62d..66917a4eba27 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h | |||
| @@ -75,6 +75,11 @@ struct bpf_lpm_trie_key { | |||
| 75 | __u8 data[0]; /* Arbitrary size */ | 75 | __u8 data[0]; /* Arbitrary size */ |
| 76 | }; | 76 | }; |
| 77 | 77 | ||
| 78 | struct bpf_cgroup_storage_key { | ||
| 79 | __u64 cgroup_inode_id; /* cgroup inode id */ | ||
| 80 | __u32 attach_type; /* program attach type */ | ||
| 81 | }; | ||
| 82 | |||
| 78 | /* BPF syscall commands, see bpf(2) man-page for details. */ | 83 | /* BPF syscall commands, see bpf(2) man-page for details. */ |
| 79 | enum bpf_cmd { | 84 | enum bpf_cmd { |
| 80 | BPF_MAP_CREATE, | 85 | BPF_MAP_CREATE, |
| @@ -120,6 +125,8 @@ enum bpf_map_type { | |||
| 120 | BPF_MAP_TYPE_CPUMAP, | 125 | BPF_MAP_TYPE_CPUMAP, |
| 121 | BPF_MAP_TYPE_XSKMAP, | 126 | BPF_MAP_TYPE_XSKMAP, |
| 122 | BPF_MAP_TYPE_SOCKHASH, | 127 | BPF_MAP_TYPE_SOCKHASH, |
| 128 | BPF_MAP_TYPE_CGROUP_STORAGE, | ||
| 129 | BPF_MAP_TYPE_REUSEPORT_SOCKARRAY, | ||
| 123 | }; | 130 | }; |
| 124 | 131 | ||
| 125 | enum bpf_prog_type { | 132 | enum bpf_prog_type { |
| @@ -144,6 +151,7 @@ enum bpf_prog_type { | |||
| 144 | BPF_PROG_TYPE_CGROUP_SOCK_ADDR, | 151 | BPF_PROG_TYPE_CGROUP_SOCK_ADDR, |
| 145 | BPF_PROG_TYPE_LWT_SEG6LOCAL, | 152 | BPF_PROG_TYPE_LWT_SEG6LOCAL, |
| 146 | BPF_PROG_TYPE_LIRC_MODE2, | 153 | BPF_PROG_TYPE_LIRC_MODE2, |
| 154 | BPF_PROG_TYPE_SK_REUSEPORT, | ||
| 147 | }; | 155 | }; |
| 148 | 156 | ||
| 149 | enum bpf_attach_type { | 157 | enum bpf_attach_type { |
| @@ -1371,6 +1379,20 @@ union bpf_attr { | |||
| 1371 | * A 8-byte long non-decreasing number on success, or 0 if the | 1379 | * A 8-byte long non-decreasing number on success, or 0 if the |
| 1372 | * socket field is missing inside *skb*. | 1380 | * socket field is missing inside *skb*. |
| 1373 | * | 1381 | * |
| 1382 | * u64 bpf_get_socket_cookie(struct bpf_sock_addr *ctx) | ||
| 1383 | * Description | ||
| 1384 | * Equivalent to bpf_get_socket_cookie() helper that accepts | ||
| 1385 | * *skb*, but gets socket from **struct bpf_sock_addr** contex. | ||
| 1386 | * Return | ||
| 1387 | * A 8-byte long non-decreasing number. | ||
| 1388 | * | ||
| 1389 | * u64 bpf_get_socket_cookie(struct bpf_sock_ops *ctx) | ||
| 1390 | * Description | ||
| 1391 | * Equivalent to bpf_get_socket_cookie() helper that accepts | ||
| 1392 | * *skb*, but gets socket from **struct bpf_sock_ops** contex. | ||
| 1393 | * Return | ||
| 1394 | * A 8-byte long non-decreasing number. | ||
| 1395 | * | ||
| 1374 | * u32 bpf_get_socket_uid(struct sk_buff *skb) | 1396 | * u32 bpf_get_socket_uid(struct sk_buff *skb) |
| 1375 | * Return | 1397 | * Return |
| 1376 | * The owner UID of the socket associated to *skb*. If the socket | 1398 | * The owner UID of the socket associated to *skb*. If the socket |
| @@ -1826,7 +1848,7 @@ union bpf_attr { | |||
| 1826 | * A non-negative value equal to or less than *size* on success, | 1848 | * A non-negative value equal to or less than *size* on success, |
| 1827 | * or a negative error in case of failure. | 1849 | * or a negative error in case of failure. |
| 1828 | * | 1850 | * |
| 1829 | * int skb_load_bytes_relative(const struct sk_buff *skb, u32 offset, void *to, u32 len, u32 start_header) | 1851 | * int bpf_skb_load_bytes_relative(const struct sk_buff *skb, u32 offset, void *to, u32 len, u32 start_header) |
| 1830 | * Description | 1852 | * Description |
| 1831 | * This helper is similar to **bpf_skb_load_bytes**\ () in that | 1853 | * This helper is similar to **bpf_skb_load_bytes**\ () in that |
| 1832 | * it provides an easy way to load *len* bytes from *offset* | 1854 | * it provides an easy way to load *len* bytes from *offset* |
| @@ -1877,7 +1899,7 @@ union bpf_attr { | |||
| 1877 | * * < 0 if any input argument is invalid | 1899 | * * < 0 if any input argument is invalid |
| 1878 | * * 0 on success (packet is forwarded, nexthop neighbor exists) | 1900 | * * 0 on success (packet is forwarded, nexthop neighbor exists) |
| 1879 | * * > 0 one of **BPF_FIB_LKUP_RET_** codes explaining why the | 1901 | * * > 0 one of **BPF_FIB_LKUP_RET_** codes explaining why the |
| 1880 | * * packet is not forwarded or needs assist from full stack | 1902 | * packet is not forwarded or needs assist from full stack |
| 1881 | * | 1903 | * |
| 1882 | * int bpf_sock_hash_update(struct bpf_sock_ops_kern *skops, struct bpf_map *map, void *key, u64 flags) | 1904 | * int bpf_sock_hash_update(struct bpf_sock_ops_kern *skops, struct bpf_map *map, void *key, u64 flags) |
| 1883 | * Description | 1905 | * Description |
| @@ -2033,7 +2055,6 @@ union bpf_attr { | |||
| 2033 | * This helper is only available is the kernel was compiled with | 2055 | * This helper is only available is the kernel was compiled with |
| 2034 | * the **CONFIG_BPF_LIRC_MODE2** configuration option set to | 2056 | * the **CONFIG_BPF_LIRC_MODE2** configuration option set to |
| 2035 | * "**y**". | 2057 | * "**y**". |
| 2036 | * | ||
| 2037 | * Return | 2058 | * Return |
| 2038 | * 0 | 2059 | * 0 |
| 2039 | * | 2060 | * |
| @@ -2053,7 +2074,6 @@ union bpf_attr { | |||
| 2053 | * This helper is only available is the kernel was compiled with | 2074 | * This helper is only available is the kernel was compiled with |
| 2054 | * the **CONFIG_BPF_LIRC_MODE2** configuration option set to | 2075 | * the **CONFIG_BPF_LIRC_MODE2** configuration option set to |
| 2055 | * "**y**". | 2076 | * "**y**". |
| 2056 | * | ||
| 2057 | * Return | 2077 | * Return |
| 2058 | * 0 | 2078 | * 0 |
| 2059 | * | 2079 | * |
| @@ -2073,10 +2093,54 @@ union bpf_attr { | |||
| 2073 | * Return | 2093 | * Return |
| 2074 | * The id is returned or 0 in case the id could not be retrieved. | 2094 | * The id is returned or 0 in case the id could not be retrieved. |
| 2075 | * | 2095 | * |
| 2096 | * u64 bpf_skb_ancestor_cgroup_id(struct sk_buff *skb, int ancestor_level) | ||
| 2097 | * Description | ||
| 2098 | * Return id of cgroup v2 that is ancestor of cgroup associated | ||
| 2099 | * with the *skb* at the *ancestor_level*. The root cgroup is at | ||
| 2100 | * *ancestor_level* zero and each step down the hierarchy | ||
| 2101 | * increments the level. If *ancestor_level* == level of cgroup | ||
| 2102 | * associated with *skb*, then return value will be same as that | ||
| 2103 | * of **bpf_skb_cgroup_id**\ (). | ||
| 2104 | * | ||
| 2105 | * The helper is useful to implement policies based on cgroups | ||
| 2106 | * that are upper in hierarchy than immediate cgroup associated | ||
| 2107 | * with *skb*. | ||
| 2108 | * | ||
| 2109 | * The format of returned id and helper limitations are same as in | ||
| 2110 | * **bpf_skb_cgroup_id**\ (). | ||
| 2111 | * Return | ||
| 2112 | * The id is returned or 0 in case the id could not be retrieved. | ||
| 2113 | * | ||
| 2076 | * u64 bpf_get_current_cgroup_id(void) | 2114 | * u64 bpf_get_current_cgroup_id(void) |
| 2077 | * Return | 2115 | * Return |
| 2078 | * A 64-bit integer containing the current cgroup id based | 2116 | * A 64-bit integer containing the current cgroup id based |
| 2079 | * on the cgroup within which the current task is running. | 2117 | * on the cgroup within which the current task is running. |
| 2118 | * | ||
| 2119 | * void* get_local_storage(void *map, u64 flags) | ||
| 2120 | * Description | ||
| 2121 | * Get the pointer to the local storage area. | ||
| 2122 | * The type and the size of the local storage is defined | ||
| 2123 | * by the *map* argument. | ||
| 2124 | * The *flags* meaning is specific for each map type, | ||
| 2125 | * and has to be 0 for cgroup local storage. | ||
| 2126 | * | ||
| 2127 | * Depending on the bpf program type, a local storage area | ||
| 2128 | * can be shared between multiple instances of the bpf program, | ||
| 2129 | * running simultaneously. | ||
| 2130 | * | ||
| 2131 | * A user should care about the synchronization by himself. | ||
| 2132 | * For example, by using the BPF_STX_XADD instruction to alter | ||
| 2133 | * the shared data. | ||
| 2134 | * Return | ||
| 2135 | * Pointer to the local storage area. | ||
| 2136 | * | ||
| 2137 | * int bpf_sk_select_reuseport(struct sk_reuseport_md *reuse, struct bpf_map *map, void *key, u64 flags) | ||
| 2138 | * Description | ||
| 2139 | * Select a SO_REUSEPORT sk from a BPF_MAP_TYPE_REUSEPORT_ARRAY map | ||
| 2140 | * It checks the selected sk is matching the incoming | ||
| 2141 | * request in the skb. | ||
| 2142 | * Return | ||
| 2143 | * 0 on success, or a negative error in case of failure. | ||
| 2080 | */ | 2144 | */ |
| 2081 | #define __BPF_FUNC_MAPPER(FN) \ | 2145 | #define __BPF_FUNC_MAPPER(FN) \ |
| 2082 | FN(unspec), \ | 2146 | FN(unspec), \ |
| @@ -2159,7 +2223,10 @@ union bpf_attr { | |||
| 2159 | FN(rc_repeat), \ | 2223 | FN(rc_repeat), \ |
| 2160 | FN(rc_keydown), \ | 2224 | FN(rc_keydown), \ |
| 2161 | FN(skb_cgroup_id), \ | 2225 | FN(skb_cgroup_id), \ |
| 2162 | FN(get_current_cgroup_id), | 2226 | FN(get_current_cgroup_id), \ |
| 2227 | FN(get_local_storage), \ | ||
| 2228 | FN(sk_select_reuseport), \ | ||
| 2229 | FN(skb_ancestor_cgroup_id), | ||
| 2163 | 2230 | ||
| 2164 | /* integer value in 'imm' field of BPF_CALL instruction selects which helper | 2231 | /* integer value in 'imm' field of BPF_CALL instruction selects which helper |
| 2165 | * function eBPF program intends to call | 2232 | * function eBPF program intends to call |
| @@ -2376,6 +2443,30 @@ struct sk_msg_md { | |||
| 2376 | __u32 local_port; /* stored in host byte order */ | 2443 | __u32 local_port; /* stored in host byte order */ |
| 2377 | }; | 2444 | }; |
| 2378 | 2445 | ||
| 2446 | struct sk_reuseport_md { | ||
| 2447 | /* | ||
| 2448 | * Start of directly accessible data. It begins from | ||
| 2449 | * the tcp/udp header. | ||
| 2450 | */ | ||
| 2451 | void *data; | ||
| 2452 | void *data_end; /* End of directly accessible data */ | ||
| 2453 | /* | ||
| 2454 | * Total length of packet (starting from the tcp/udp header). | ||
| 2455 | * Note that the directly accessible bytes (data_end - data) | ||
| 2456 | * could be less than this "len". Those bytes could be | ||
| 2457 | * indirectly read by a helper "bpf_skb_load_bytes()". | ||
| 2458 | */ | ||
| 2459 | __u32 len; | ||
| 2460 | /* | ||
| 2461 | * Eth protocol in the mac header (network byte order). e.g. | ||
| 2462 | * ETH_P_IP(0x0800) and ETH_P_IPV6(0x86DD) | ||
| 2463 | */ | ||
| 2464 | __u32 eth_protocol; | ||
| 2465 | __u32 ip_protocol; /* IP protocol. e.g. IPPROTO_TCP, IPPROTO_UDP */ | ||
| 2466 | __u32 bind_inany; /* Is sock bound to an INANY address? */ | ||
| 2467 | __u32 hash; /* A hash of the packet 4 tuples */ | ||
| 2468 | }; | ||
| 2469 | |||
| 2379 | #define BPF_TAG_SIZE 8 | 2470 | #define BPF_TAG_SIZE 8 |
| 2380 | 2471 | ||
| 2381 | struct bpf_prog_info { | 2472 | struct bpf_prog_info { |
| @@ -2557,6 +2648,9 @@ enum { | |||
| 2557 | * Arg1: old_state | 2648 | * Arg1: old_state |
| 2558 | * Arg2: new_state | 2649 | * Arg2: new_state |
| 2559 | */ | 2650 | */ |
| 2651 | BPF_SOCK_OPS_TCP_LISTEN_CB, /* Called on listen(2), right after | ||
| 2652 | * socket transition to LISTEN state. | ||
| 2653 | */ | ||
| 2560 | }; | 2654 | }; |
| 2561 | 2655 | ||
| 2562 | /* List of TCP states. There is a build check in net/ipv4/tcp.c to detect | 2656 | /* List of TCP states. There is a build check in net/ipv4/tcp.c to detect |
diff --git a/include/uapi/linux/can.h b/include/uapi/linux/can.h index d7f97ac197a9..0afb7d8e867f 100644 --- a/include/uapi/linux/can.h +++ b/include/uapi/linux/can.h | |||
| @@ -77,7 +77,7 @@ typedef __u32 canid_t; | |||
| 77 | /* | 77 | /* |
| 78 | * Controller Area Network Error Message Frame Mask structure | 78 | * Controller Area Network Error Message Frame Mask structure |
| 79 | * | 79 | * |
| 80 | * bit 0-28 : error class mask (see include/linux/can/error.h) | 80 | * bit 0-28 : error class mask (see include/uapi/linux/can/error.h) |
| 81 | * bit 29-31 : set to zero | 81 | * bit 29-31 : set to zero |
| 82 | */ | 82 | */ |
| 83 | typedef __u32 can_err_mask_t; | 83 | typedef __u32 can_err_mask_t; |
diff --git a/include/uapi/linux/dcbnl.h b/include/uapi/linux/dcbnl.h index 60aa2e446698..69df19aa8e72 100644 --- a/include/uapi/linux/dcbnl.h +++ b/include/uapi/linux/dcbnl.h | |||
| @@ -233,7 +233,8 @@ struct cee_pfc { | |||
| 233 | * 2 Well known port number over TCP or SCTP | 233 | * 2 Well known port number over TCP or SCTP |
| 234 | * 3 Well known port number over UDP or DCCP | 234 | * 3 Well known port number over UDP or DCCP |
| 235 | * 4 Well known port number over TCP, SCTP, UDP, or DCCP | 235 | * 4 Well known port number over TCP, SCTP, UDP, or DCCP |
| 236 | * 5-7 Reserved | 236 | * 5 Differentiated Services Code Point (DSCP) value |
| 237 | * 6-7 Reserved | ||
| 237 | * | 238 | * |
| 238 | * Selector field values for CEE | 239 | * Selector field values for CEE |
| 239 | * 0 Ethertype | 240 | * 0 Ethertype |
diff --git a/include/uapi/linux/devlink.h b/include/uapi/linux/devlink.h index 75cb5450c851..79407bbd296d 100644 --- a/include/uapi/linux/devlink.h +++ b/include/uapi/linux/devlink.h | |||
| @@ -78,6 +78,17 @@ enum devlink_command { | |||
| 78 | */ | 78 | */ |
| 79 | DEVLINK_CMD_RELOAD, | 79 | DEVLINK_CMD_RELOAD, |
| 80 | 80 | ||
| 81 | DEVLINK_CMD_PARAM_GET, /* can dump */ | ||
| 82 | DEVLINK_CMD_PARAM_SET, | ||
| 83 | DEVLINK_CMD_PARAM_NEW, | ||
| 84 | DEVLINK_CMD_PARAM_DEL, | ||
| 85 | |||
| 86 | DEVLINK_CMD_REGION_GET, | ||
| 87 | DEVLINK_CMD_REGION_SET, | ||
| 88 | DEVLINK_CMD_REGION_NEW, | ||
| 89 | DEVLINK_CMD_REGION_DEL, | ||
| 90 | DEVLINK_CMD_REGION_READ, | ||
| 91 | |||
| 81 | /* add new commands above here */ | 92 | /* add new commands above here */ |
| 82 | __DEVLINK_CMD_MAX, | 93 | __DEVLINK_CMD_MAX, |
| 83 | DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1 | 94 | DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1 |
| @@ -142,6 +153,16 @@ enum devlink_port_flavour { | |||
| 142 | */ | 153 | */ |
| 143 | }; | 154 | }; |
| 144 | 155 | ||
| 156 | enum devlink_param_cmode { | ||
| 157 | DEVLINK_PARAM_CMODE_RUNTIME, | ||
| 158 | DEVLINK_PARAM_CMODE_DRIVERINIT, | ||
| 159 | DEVLINK_PARAM_CMODE_PERMANENT, | ||
| 160 | |||
| 161 | /* Add new configuration modes above */ | ||
| 162 | __DEVLINK_PARAM_CMODE_MAX, | ||
| 163 | DEVLINK_PARAM_CMODE_MAX = __DEVLINK_PARAM_CMODE_MAX - 1 | ||
| 164 | }; | ||
| 165 | |||
| 145 | enum devlink_attr { | 166 | enum devlink_attr { |
| 146 | /* don't change the order or add anything between, this is ABI! */ | 167 | /* don't change the order or add anything between, this is ABI! */ |
| 147 | DEVLINK_ATTR_UNSPEC, | 168 | DEVLINK_ATTR_UNSPEC, |
| @@ -238,6 +259,27 @@ enum devlink_attr { | |||
| 238 | DEVLINK_ATTR_PORT_NUMBER, /* u32 */ | 259 | DEVLINK_ATTR_PORT_NUMBER, /* u32 */ |
| 239 | DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER, /* u32 */ | 260 | DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER, /* u32 */ |
| 240 | 261 | ||
| 262 | DEVLINK_ATTR_PARAM, /* nested */ | ||
| 263 | DEVLINK_ATTR_PARAM_NAME, /* string */ | ||
| 264 | DEVLINK_ATTR_PARAM_GENERIC, /* flag */ | ||
| 265 | DEVLINK_ATTR_PARAM_TYPE, /* u8 */ | ||
| 266 | DEVLINK_ATTR_PARAM_VALUES_LIST, /* nested */ | ||
| 267 | DEVLINK_ATTR_PARAM_VALUE, /* nested */ | ||
| 268 | DEVLINK_ATTR_PARAM_VALUE_DATA, /* dynamic */ | ||
| 269 | DEVLINK_ATTR_PARAM_VALUE_CMODE, /* u8 */ | ||
| 270 | |||
| 271 | DEVLINK_ATTR_REGION_NAME, /* string */ | ||
| 272 | DEVLINK_ATTR_REGION_SIZE, /* u64 */ | ||
| 273 | DEVLINK_ATTR_REGION_SNAPSHOTS, /* nested */ | ||
| 274 | DEVLINK_ATTR_REGION_SNAPSHOT, /* nested */ | ||
| 275 | DEVLINK_ATTR_REGION_SNAPSHOT_ID, /* u32 */ | ||
| 276 | |||
| 277 | DEVLINK_ATTR_REGION_CHUNKS, /* nested */ | ||
| 278 | DEVLINK_ATTR_REGION_CHUNK, /* nested */ | ||
| 279 | DEVLINK_ATTR_REGION_CHUNK_DATA, /* binary */ | ||
| 280 | DEVLINK_ATTR_REGION_CHUNK_ADDR, /* u64 */ | ||
| 281 | DEVLINK_ATTR_REGION_CHUNK_LEN, /* u64 */ | ||
| 282 | |||
| 241 | /* add new attributes above here, update the policy in devlink.c */ | 283 | /* add new attributes above here, update the policy in devlink.c */ |
| 242 | 284 | ||
| 243 | __DEVLINK_ATTR_MAX, | 285 | __DEVLINK_ATTR_MAX, |
diff --git a/include/uapi/linux/errqueue.h b/include/uapi/linux/errqueue.h index dc64cfaf13da..c0151200f7d1 100644 --- a/include/uapi/linux/errqueue.h +++ b/include/uapi/linux/errqueue.h | |||
| @@ -20,12 +20,16 @@ struct sock_extended_err { | |||
| 20 | #define SO_EE_ORIGIN_ICMP6 3 | 20 | #define SO_EE_ORIGIN_ICMP6 3 |
| 21 | #define SO_EE_ORIGIN_TXSTATUS 4 | 21 | #define SO_EE_ORIGIN_TXSTATUS 4 |
| 22 | #define SO_EE_ORIGIN_ZEROCOPY 5 | 22 | #define SO_EE_ORIGIN_ZEROCOPY 5 |
| 23 | #define SO_EE_ORIGIN_TXTIME 6 | ||
| 23 | #define SO_EE_ORIGIN_TIMESTAMPING SO_EE_ORIGIN_TXSTATUS | 24 | #define SO_EE_ORIGIN_TIMESTAMPING SO_EE_ORIGIN_TXSTATUS |
| 24 | 25 | ||
| 25 | #define SO_EE_OFFENDER(ee) ((struct sockaddr*)((ee)+1)) | 26 | #define SO_EE_OFFENDER(ee) ((struct sockaddr*)((ee)+1)) |
| 26 | 27 | ||
| 27 | #define SO_EE_CODE_ZEROCOPY_COPIED 1 | 28 | #define SO_EE_CODE_ZEROCOPY_COPIED 1 |
| 28 | 29 | ||
| 30 | #define SO_EE_CODE_TXTIME_INVALID_PARAM 1 | ||
| 31 | #define SO_EE_CODE_TXTIME_MISSED 2 | ||
| 32 | |||
| 29 | /** | 33 | /** |
| 30 | * struct scm_timestamping - timestamps exposed through cmsg | 34 | * struct scm_timestamping - timestamps exposed through cmsg |
| 31 | * | 35 | * |
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h index 7363f18e65a5..dc69391d2bba 100644 --- a/include/uapi/linux/ethtool.h +++ b/include/uapi/linux/ethtool.h | |||
| @@ -870,7 +870,8 @@ struct ethtool_flow_ext { | |||
| 870 | * includes the %FLOW_EXT or %FLOW_MAC_EXT flag | 870 | * includes the %FLOW_EXT or %FLOW_MAC_EXT flag |
| 871 | * (see &struct ethtool_flow_ext description). | 871 | * (see &struct ethtool_flow_ext description). |
| 872 | * @ring_cookie: RX ring/queue index to deliver to, or %RX_CLS_FLOW_DISC | 872 | * @ring_cookie: RX ring/queue index to deliver to, or %RX_CLS_FLOW_DISC |
| 873 | * if packets should be discarded | 873 | * if packets should be discarded, or %RX_CLS_FLOW_WAKE if the |
| 874 | * packets should be used for Wake-on-LAN with %WAKE_FILTER | ||
| 874 | * @location: Location of rule in the table. Locations must be | 875 | * @location: Location of rule in the table. Locations must be |
| 875 | * numbered such that a flow matching multiple rules will be | 876 | * numbered such that a flow matching multiple rules will be |
| 876 | * classified according to the first (lowest numbered) rule. | 877 | * classified according to the first (lowest numbered) rule. |
| @@ -902,13 +903,13 @@ struct ethtool_rx_flow_spec { | |||
| 902 | static inline __u64 ethtool_get_flow_spec_ring(__u64 ring_cookie) | 903 | static inline __u64 ethtool_get_flow_spec_ring(__u64 ring_cookie) |
| 903 | { | 904 | { |
| 904 | return ETHTOOL_RX_FLOW_SPEC_RING & ring_cookie; | 905 | return ETHTOOL_RX_FLOW_SPEC_RING & ring_cookie; |
| 905 | }; | 906 | } |
| 906 | 907 | ||
| 907 | static inline __u64 ethtool_get_flow_spec_ring_vf(__u64 ring_cookie) | 908 | static inline __u64 ethtool_get_flow_spec_ring_vf(__u64 ring_cookie) |
| 908 | { | 909 | { |
| 909 | return (ETHTOOL_RX_FLOW_SPEC_RING_VF & ring_cookie) >> | 910 | return (ETHTOOL_RX_FLOW_SPEC_RING_VF & ring_cookie) >> |
| 910 | ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF; | 911 | ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF; |
| 911 | }; | 912 | } |
| 912 | 913 | ||
| 913 | /** | 914 | /** |
| 914 | * struct ethtool_rxnfc - command to get or set RX flow classification rules | 915 | * struct ethtool_rxnfc - command to get or set RX flow classification rules |
| @@ -1634,6 +1635,7 @@ static inline int ethtool_validate_duplex(__u8 duplex) | |||
| 1634 | #define WAKE_ARP (1 << 4) | 1635 | #define WAKE_ARP (1 << 4) |
| 1635 | #define WAKE_MAGIC (1 << 5) | 1636 | #define WAKE_MAGIC (1 << 5) |
| 1636 | #define WAKE_MAGICSECURE (1 << 6) /* only meaningful if WAKE_MAGIC */ | 1637 | #define WAKE_MAGICSECURE (1 << 6) /* only meaningful if WAKE_MAGIC */ |
| 1638 | #define WAKE_FILTER (1 << 7) | ||
| 1637 | 1639 | ||
| 1638 | /* L2-L4 network traffic flow types */ | 1640 | /* L2-L4 network traffic flow types */ |
| 1639 | #define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */ | 1641 | #define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */ |
| @@ -1671,6 +1673,7 @@ static inline int ethtool_validate_duplex(__u8 duplex) | |||
| 1671 | #define RXH_DISCARD (1 << 31) | 1673 | #define RXH_DISCARD (1 << 31) |
| 1672 | 1674 | ||
| 1673 | #define RX_CLS_FLOW_DISC 0xffffffffffffffffULL | 1675 | #define RX_CLS_FLOW_DISC 0xffffffffffffffffULL |
| 1676 | #define RX_CLS_FLOW_WAKE 0xfffffffffffffffeULL | ||
| 1674 | 1677 | ||
| 1675 | /* Special RX classification rule insert location values */ | 1678 | /* Special RX classification rule insert location values */ |
| 1676 | #define RX_CLS_LOC_SPECIAL 0x80000000 /* flag */ | 1679 | #define RX_CLS_LOC_SPECIAL 0x80000000 /* flag */ |
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index cf01b6824244..43391e2d1153 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h | |||
| @@ -164,6 +164,8 @@ enum { | |||
| 164 | IFLA_CARRIER_UP_COUNT, | 164 | IFLA_CARRIER_UP_COUNT, |
| 165 | IFLA_CARRIER_DOWN_COUNT, | 165 | IFLA_CARRIER_DOWN_COUNT, |
| 166 | IFLA_NEW_IFINDEX, | 166 | IFLA_NEW_IFINDEX, |
| 167 | IFLA_MIN_MTU, | ||
| 168 | IFLA_MAX_MTU, | ||
| 167 | __IFLA_MAX | 169 | __IFLA_MAX |
| 168 | }; | 170 | }; |
| 169 | 171 | ||
| @@ -334,6 +336,7 @@ enum { | |||
| 334 | IFLA_BRPORT_GROUP_FWD_MASK, | 336 | IFLA_BRPORT_GROUP_FWD_MASK, |
| 335 | IFLA_BRPORT_NEIGH_SUPPRESS, | 337 | IFLA_BRPORT_NEIGH_SUPPRESS, |
| 336 | IFLA_BRPORT_ISOLATED, | 338 | IFLA_BRPORT_ISOLATED, |
| 339 | IFLA_BRPORT_BACKUP_PORT, | ||
| 337 | __IFLA_BRPORT_MAX | 340 | __IFLA_BRPORT_MAX |
| 338 | }; | 341 | }; |
| 339 | #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) | 342 | #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) |
| @@ -459,6 +462,16 @@ enum { | |||
| 459 | 462 | ||
| 460 | #define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1) | 463 | #define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1) |
| 461 | 464 | ||
| 465 | /* XFRM section */ | ||
| 466 | enum { | ||
| 467 | IFLA_XFRM_UNSPEC, | ||
| 468 | IFLA_XFRM_LINK, | ||
| 469 | IFLA_XFRM_IF_ID, | ||
| 470 | __IFLA_XFRM_MAX | ||
| 471 | }; | ||
| 472 | |||
| 473 | #define IFLA_XFRM_MAX (__IFLA_XFRM_MAX - 1) | ||
| 474 | |||
| 462 | enum macsec_validation_type { | 475 | enum macsec_validation_type { |
| 463 | MACSEC_VALIDATE_DISABLED = 0, | 476 | MACSEC_VALIDATE_DISABLED = 0, |
| 464 | MACSEC_VALIDATE_CHECK = 1, | 477 | MACSEC_VALIDATE_CHECK = 1, |
| @@ -920,6 +933,7 @@ enum { | |||
| 920 | XDP_ATTACHED_DRV, | 933 | XDP_ATTACHED_DRV, |
| 921 | XDP_ATTACHED_SKB, | 934 | XDP_ATTACHED_SKB, |
| 922 | XDP_ATTACHED_HW, | 935 | XDP_ATTACHED_HW, |
| 936 | XDP_ATTACHED_MULTI, | ||
| 923 | }; | 937 | }; |
| 924 | 938 | ||
| 925 | enum { | 939 | enum { |
| @@ -928,6 +942,9 @@ enum { | |||
| 928 | IFLA_XDP_ATTACHED, | 942 | IFLA_XDP_ATTACHED, |
| 929 | IFLA_XDP_FLAGS, | 943 | IFLA_XDP_FLAGS, |
| 930 | IFLA_XDP_PROG_ID, | 944 | IFLA_XDP_PROG_ID, |
| 945 | IFLA_XDP_DRV_PROG_ID, | ||
| 946 | IFLA_XDP_SKB_PROG_ID, | ||
| 947 | IFLA_XDP_HW_PROG_ID, | ||
| 931 | __IFLA_XDP_MAX, | 948 | __IFLA_XDP_MAX, |
| 932 | }; | 949 | }; |
| 933 | 950 | ||
diff --git a/include/uapi/linux/ila.h b/include/uapi/linux/ila.h index 483b77af4eb8..db45d3e49a12 100644 --- a/include/uapi/linux/ila.h +++ b/include/uapi/linux/ila.h | |||
| @@ -30,6 +30,7 @@ enum { | |||
| 30 | ILA_CMD_ADD, | 30 | ILA_CMD_ADD, |
| 31 | ILA_CMD_DEL, | 31 | ILA_CMD_DEL, |
| 32 | ILA_CMD_GET, | 32 | ILA_CMD_GET, |
| 33 | ILA_CMD_FLUSH, | ||
| 33 | 34 | ||
| 34 | __ILA_CMD_MAX, | 35 | __ILA_CMD_MAX, |
| 35 | }; | 36 | }; |
diff --git a/include/uapi/linux/ip.h b/include/uapi/linux/ip.h index b24a742beae5..e42d13b55cf3 100644 --- a/include/uapi/linux/ip.h +++ b/include/uapi/linux/ip.h | |||
| @@ -168,6 +168,7 @@ enum | |||
| 168 | IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN, | 168 | IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN, |
| 169 | IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST, | 169 | IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST, |
| 170 | IPV4_DEVCONF_DROP_GRATUITOUS_ARP, | 170 | IPV4_DEVCONF_DROP_GRATUITOUS_ARP, |
| 171 | IPV4_DEVCONF_BC_FORWARDING, | ||
| 171 | __IPV4_DEVCONF_MAX | 172 | __IPV4_DEVCONF_MAX |
| 172 | }; | 173 | }; |
| 173 | 174 | ||
diff --git a/include/uapi/linux/l2tp.h b/include/uapi/linux/l2tp.h index 7d570c7bd117..61158f5a1a5b 100644 --- a/include/uapi/linux/l2tp.h +++ b/include/uapi/linux/l2tp.h | |||
| @@ -60,14 +60,14 @@ struct sockaddr_l2tpip6 { | |||
| 60 | /* | 60 | /* |
| 61 | * Commands. | 61 | * Commands. |
| 62 | * Valid TLVs of each command are:- | 62 | * Valid TLVs of each command are:- |
| 63 | * TUNNEL_CREATE - CONN_ID, pw_type, netns, ifname, ipinfo, udpinfo, udpcsum, vlanid | 63 | * TUNNEL_CREATE - CONN_ID, pw_type, netns, ifname, ipinfo, udpinfo, udpcsum |
| 64 | * TUNNEL_DELETE - CONN_ID | 64 | * TUNNEL_DELETE - CONN_ID |
| 65 | * TUNNEL_MODIFY - CONN_ID, udpcsum | 65 | * TUNNEL_MODIFY - CONN_ID, udpcsum |
| 66 | * TUNNEL_GETSTATS - CONN_ID, (stats) | 66 | * TUNNEL_GETSTATS - CONN_ID, (stats) |
| 67 | * TUNNEL_GET - CONN_ID, (...) | 67 | * TUNNEL_GET - CONN_ID, (...) |
| 68 | * SESSION_CREATE - SESSION_ID, PW_TYPE, data_seq, cookie, peer_cookie, l2spec | 68 | * SESSION_CREATE - SESSION_ID, PW_TYPE, cookie, peer_cookie, l2spec |
| 69 | * SESSION_DELETE - SESSION_ID | 69 | * SESSION_DELETE - SESSION_ID |
| 70 | * SESSION_MODIFY - SESSION_ID, data_seq | 70 | * SESSION_MODIFY - SESSION_ID |
| 71 | * SESSION_GET - SESSION_ID, (...) | 71 | * SESSION_GET - SESSION_ID, (...) |
| 72 | * SESSION_GETSTATS - SESSION_ID, (stats) | 72 | * SESSION_GETSTATS - SESSION_ID, (stats) |
| 73 | * | 73 | * |
| @@ -95,7 +95,7 @@ enum { | |||
| 95 | L2TP_ATTR_PW_TYPE, /* u16, enum l2tp_pwtype */ | 95 | L2TP_ATTR_PW_TYPE, /* u16, enum l2tp_pwtype */ |
| 96 | L2TP_ATTR_ENCAP_TYPE, /* u16, enum l2tp_encap_type */ | 96 | L2TP_ATTR_ENCAP_TYPE, /* u16, enum l2tp_encap_type */ |
| 97 | L2TP_ATTR_OFFSET, /* u16 (not used) */ | 97 | L2TP_ATTR_OFFSET, /* u16 (not used) */ |
| 98 | L2TP_ATTR_DATA_SEQ, /* u16 */ | 98 | L2TP_ATTR_DATA_SEQ, /* u16 (not used) */ |
| 99 | L2TP_ATTR_L2SPEC_TYPE, /* u8, enum l2tp_l2spec_type */ | 99 | L2TP_ATTR_L2SPEC_TYPE, /* u8, enum l2tp_l2spec_type */ |
| 100 | L2TP_ATTR_L2SPEC_LEN, /* u8 (not used) */ | 100 | L2TP_ATTR_L2SPEC_LEN, /* u8 (not used) */ |
| 101 | L2TP_ATTR_PROTO_VERSION, /* u8 */ | 101 | L2TP_ATTR_PROTO_VERSION, /* u8 */ |
| @@ -105,7 +105,7 @@ enum { | |||
| 105 | L2TP_ATTR_SESSION_ID, /* u32 */ | 105 | L2TP_ATTR_SESSION_ID, /* u32 */ |
| 106 | L2TP_ATTR_PEER_SESSION_ID, /* u32 */ | 106 | L2TP_ATTR_PEER_SESSION_ID, /* u32 */ |
| 107 | L2TP_ATTR_UDP_CSUM, /* u8 */ | 107 | L2TP_ATTR_UDP_CSUM, /* u8 */ |
| 108 | L2TP_ATTR_VLAN_ID, /* u16 */ | 108 | L2TP_ATTR_VLAN_ID, /* u16 (not used) */ |
| 109 | L2TP_ATTR_COOKIE, /* 0, 4 or 8 bytes */ | 109 | L2TP_ATTR_COOKIE, /* 0, 4 or 8 bytes */ |
| 110 | L2TP_ATTR_PEER_COOKIE, /* 0, 4 or 8 bytes */ | 110 | L2TP_ATTR_PEER_COOKIE, /* 0, 4 or 8 bytes */ |
| 111 | L2TP_ATTR_DEBUG, /* u32, enum l2tp_debug_flags */ | 111 | L2TP_ATTR_DEBUG, /* u32, enum l2tp_debug_flags */ |
| @@ -119,8 +119,8 @@ enum { | |||
| 119 | L2TP_ATTR_IP_DADDR, /* u32 */ | 119 | L2TP_ATTR_IP_DADDR, /* u32 */ |
| 120 | L2TP_ATTR_UDP_SPORT, /* u16 */ | 120 | L2TP_ATTR_UDP_SPORT, /* u16 */ |
| 121 | L2TP_ATTR_UDP_DPORT, /* u16 */ | 121 | L2TP_ATTR_UDP_DPORT, /* u16 */ |
| 122 | L2TP_ATTR_MTU, /* u16 */ | 122 | L2TP_ATTR_MTU, /* u16 (not used) */ |
| 123 | L2TP_ATTR_MRU, /* u16 */ | 123 | L2TP_ATTR_MRU, /* u16 (not used) */ |
| 124 | L2TP_ATTR_STATS, /* nested */ | 124 | L2TP_ATTR_STATS, /* nested */ |
| 125 | L2TP_ATTR_IP6_SADDR, /* struct in6_addr */ | 125 | L2TP_ATTR_IP6_SADDR, /* struct in6_addr */ |
| 126 | L2TP_ATTR_IP6_DADDR, /* struct in6_addr */ | 126 | L2TP_ATTR_IP6_DADDR, /* struct in6_addr */ |
| @@ -169,6 +169,7 @@ enum l2tp_encap_type { | |||
| 169 | L2TP_ENCAPTYPE_IP, | 169 | L2TP_ENCAPTYPE_IP, |
| 170 | }; | 170 | }; |
| 171 | 171 | ||
| 172 | /* For L2TP_ATTR_DATA_SEQ. Unused. */ | ||
| 172 | enum l2tp_seqmode { | 173 | enum l2tp_seqmode { |
| 173 | L2TP_SEQ_NONE = 0, | 174 | L2TP_SEQ_NONE = 0, |
| 174 | L2TP_SEQ_IP = 1, | 175 | L2TP_SEQ_IP = 1, |
diff --git a/include/uapi/linux/mii.h b/include/uapi/linux/mii.h index b5c2fdcf23fd..a506216591d6 100644 --- a/include/uapi/linux/mii.h +++ b/include/uapi/linux/mii.h | |||
| @@ -136,6 +136,7 @@ | |||
| 136 | #define CTL1000_ENABLE_MASTER 0x1000 | 136 | #define CTL1000_ENABLE_MASTER 0x1000 |
| 137 | 137 | ||
| 138 | /* 1000BASE-T Status register */ | 138 | /* 1000BASE-T Status register */ |
| 139 | #define LPA_1000MSFAIL 0x8000 /* Master/Slave resolution failure */ | ||
| 139 | #define LPA_1000LOCALRXOK 0x2000 /* Link partner local receiver status */ | 140 | #define LPA_1000LOCALRXOK 0x2000 /* Link partner local receiver status */ |
| 140 | #define LPA_1000REMRXOK 0x1000 /* Link partner remote receiver status */ | 141 | #define LPA_1000REMRXOK 0x1000 /* Link partner remote receiver status */ |
| 141 | #define LPA_1000FULL 0x0800 /* Link partner 1000BASE-T full duplex */ | 142 | #define LPA_1000FULL 0x0800 /* Link partner 1000BASE-T full duplex */ |
diff --git a/include/uapi/linux/mroute.h b/include/uapi/linux/mroute.h index 10f9ff9426a2..5d37a9ccce63 100644 --- a/include/uapi/linux/mroute.h +++ b/include/uapi/linux/mroute.h | |||
| @@ -120,6 +120,7 @@ enum { | |||
| 120 | IPMRA_TABLE_MROUTE_DO_ASSERT, | 120 | IPMRA_TABLE_MROUTE_DO_ASSERT, |
| 121 | IPMRA_TABLE_MROUTE_DO_PIM, | 121 | IPMRA_TABLE_MROUTE_DO_PIM, |
| 122 | IPMRA_TABLE_VIFS, | 122 | IPMRA_TABLE_VIFS, |
| 123 | IPMRA_TABLE_MROUTE_DO_WRVIFWHOLE, | ||
| 123 | __IPMRA_TABLE_MAX | 124 | __IPMRA_TABLE_MAX |
| 124 | }; | 125 | }; |
| 125 | #define IPMRA_TABLE_MAX (__IPMRA_TABLE_MAX - 1) | 126 | #define IPMRA_TABLE_MAX (__IPMRA_TABLE_MAX - 1) |
| @@ -173,5 +174,6 @@ enum { | |||
| 173 | #define IGMPMSG_NOCACHE 1 /* Kern cache fill request to mrouted */ | 174 | #define IGMPMSG_NOCACHE 1 /* Kern cache fill request to mrouted */ |
| 174 | #define IGMPMSG_WRONGVIF 2 /* For PIM assert processing (unused) */ | 175 | #define IGMPMSG_WRONGVIF 2 /* For PIM assert processing (unused) */ |
| 175 | #define IGMPMSG_WHOLEPKT 3 /* For PIM Register processing */ | 176 | #define IGMPMSG_WHOLEPKT 3 /* For PIM Register processing */ |
| 177 | #define IGMPMSG_WRVIFWHOLE 4 /* For PIM Register and assert processing */ | ||
| 176 | 178 | ||
| 177 | #endif /* _UAPI__LINUX_MROUTE_H */ | 179 | #endif /* _UAPI__LINUX_MROUTE_H */ |
diff --git a/include/uapi/linux/net_tstamp.h b/include/uapi/linux/net_tstamp.h index 4fe104b2411f..97ff3c17ec4d 100644 --- a/include/uapi/linux/net_tstamp.h +++ b/include/uapi/linux/net_tstamp.h | |||
| @@ -141,4 +141,22 @@ struct scm_ts_pktinfo { | |||
| 141 | __u32 reserved[2]; | 141 | __u32 reserved[2]; |
| 142 | }; | 142 | }; |
| 143 | 143 | ||
| 144 | /* | ||
| 145 | * SO_TXTIME gets a struct sock_txtime with flags being an integer bit | ||
| 146 | * field comprised of these values. | ||
| 147 | */ | ||
| 148 | enum txtime_flags { | ||
| 149 | SOF_TXTIME_DEADLINE_MODE = (1 << 0), | ||
| 150 | SOF_TXTIME_REPORT_ERRORS = (1 << 1), | ||
| 151 | |||
| 152 | SOF_TXTIME_FLAGS_LAST = SOF_TXTIME_REPORT_ERRORS, | ||
| 153 | SOF_TXTIME_FLAGS_MASK = (SOF_TXTIME_FLAGS_LAST - 1) | | ||
| 154 | SOF_TXTIME_FLAGS_LAST | ||
| 155 | }; | ||
| 156 | |||
| 157 | struct sock_txtime { | ||
| 158 | clockid_t clockid; /* reference clockid */ | ||
| 159 | __u32 flags; /* as defined by enum txtime_flags */ | ||
| 160 | }; | ||
| 161 | |||
| 144 | #endif /* _NET_TIMESTAMPING_H */ | 162 | #endif /* _NET_TIMESTAMPING_H */ |
diff --git a/include/uapi/linux/netconf.h b/include/uapi/linux/netconf.h index c84fcdfca862..fac4edd55379 100644 --- a/include/uapi/linux/netconf.h +++ b/include/uapi/linux/netconf.h | |||
| @@ -18,6 +18,7 @@ enum { | |||
| 18 | NETCONFA_PROXY_NEIGH, | 18 | NETCONFA_PROXY_NEIGH, |
| 19 | NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, | 19 | NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, |
| 20 | NETCONFA_INPUT, | 20 | NETCONFA_INPUT, |
| 21 | NETCONFA_BC_FORWARDING, | ||
| 21 | __NETCONFA_MAX | 22 | __NETCONFA_MAX |
| 22 | }; | 23 | }; |
| 23 | #define NETCONFA_MAX (__NETCONFA_MAX - 1) | 24 | #define NETCONFA_MAX (__NETCONFA_MAX - 1) |
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h index 89438e68dc03..e23290ffdc77 100644 --- a/include/uapi/linux/netfilter/nf_tables.h +++ b/include/uapi/linux/netfilter/nf_tables.h | |||
| @@ -8,6 +8,7 @@ | |||
| 8 | #define NFT_SET_MAXNAMELEN NFT_NAME_MAXLEN | 8 | #define NFT_SET_MAXNAMELEN NFT_NAME_MAXLEN |
| 9 | #define NFT_OBJ_MAXNAMELEN NFT_NAME_MAXLEN | 9 | #define NFT_OBJ_MAXNAMELEN NFT_NAME_MAXLEN |
| 10 | #define NFT_USERDATA_MAXLEN 256 | 10 | #define NFT_USERDATA_MAXLEN 256 |
| 11 | #define NFT_OSF_MAXGENRELEN 16 | ||
| 11 | 12 | ||
| 12 | /** | 13 | /** |
| 13 | * enum nft_registers - nf_tables registers | 14 | * enum nft_registers - nf_tables registers |
| @@ -921,10 +922,12 @@ enum nft_socket_attributes { | |||
| 921 | /* | 922 | /* |
| 922 | * enum nft_socket_keys - nf_tables socket expression keys | 923 | * enum nft_socket_keys - nf_tables socket expression keys |
| 923 | * | 924 | * |
| 924 | * @NFT_SOCKET_TRANSPARENT: Value of the IP(V6)_TRANSPARENT socket option_ | 925 | * @NFT_SOCKET_TRANSPARENT: Value of the IP(V6)_TRANSPARENT socket option |
| 926 | * @NFT_SOCKET_MARK: Value of the socket mark | ||
| 925 | */ | 927 | */ |
| 926 | enum nft_socket_keys { | 928 | enum nft_socket_keys { |
| 927 | NFT_SOCKET_TRANSPARENT, | 929 | NFT_SOCKET_TRANSPARENT, |
| 930 | NFT_SOCKET_MARK, | ||
| 928 | __NFT_SOCKET_MAX | 931 | __NFT_SOCKET_MAX |
| 929 | }; | 932 | }; |
| 930 | #define NFT_SOCKET_MAX (__NFT_SOCKET_MAX - 1) | 933 | #define NFT_SOCKET_MAX (__NFT_SOCKET_MAX - 1) |
| @@ -955,6 +958,7 @@ enum nft_socket_keys { | |||
| 955 | * @NFT_CT_DST_IP: conntrack layer 3 protocol destination (IPv4 address) | 958 | * @NFT_CT_DST_IP: conntrack layer 3 protocol destination (IPv4 address) |
| 956 | * @NFT_CT_SRC_IP6: conntrack layer 3 protocol source (IPv6 address) | 959 | * @NFT_CT_SRC_IP6: conntrack layer 3 protocol source (IPv6 address) |
| 957 | * @NFT_CT_DST_IP6: conntrack layer 3 protocol destination (IPv6 address) | 960 | * @NFT_CT_DST_IP6: conntrack layer 3 protocol destination (IPv6 address) |
| 961 | * @NFT_CT_TIMEOUT: connection tracking timeout policy assigned to conntrack | ||
| 958 | */ | 962 | */ |
| 959 | enum nft_ct_keys { | 963 | enum nft_ct_keys { |
| 960 | NFT_CT_STATE, | 964 | NFT_CT_STATE, |
| @@ -980,6 +984,7 @@ enum nft_ct_keys { | |||
| 980 | NFT_CT_DST_IP, | 984 | NFT_CT_DST_IP, |
| 981 | NFT_CT_SRC_IP6, | 985 | NFT_CT_SRC_IP6, |
| 982 | NFT_CT_DST_IP6, | 986 | NFT_CT_DST_IP6, |
| 987 | NFT_CT_TIMEOUT, | ||
| 983 | __NFT_CT_MAX | 988 | __NFT_CT_MAX |
| 984 | }; | 989 | }; |
| 985 | #define NFT_CT_MAX (__NFT_CT_MAX - 1) | 990 | #define NFT_CT_MAX (__NFT_CT_MAX - 1) |
| @@ -1251,6 +1256,22 @@ enum nft_nat_attributes { | |||
| 1251 | #define NFTA_NAT_MAX (__NFTA_NAT_MAX - 1) | 1256 | #define NFTA_NAT_MAX (__NFTA_NAT_MAX - 1) |
| 1252 | 1257 | ||
| 1253 | /** | 1258 | /** |
| 1259 | * enum nft_tproxy_attributes - nf_tables tproxy expression netlink attributes | ||
| 1260 | * | ||
| 1261 | * NFTA_TPROXY_FAMILY: Target address family (NLA_U32: nft_registers) | ||
| 1262 | * NFTA_TPROXY_REG_ADDR: Target address register (NLA_U32: nft_registers) | ||
| 1263 | * NFTA_TPROXY_REG_PORT: Target port register (NLA_U32: nft_registers) | ||
| 1264 | */ | ||
| 1265 | enum nft_tproxy_attributes { | ||
| 1266 | NFTA_TPROXY_UNSPEC, | ||
| 1267 | NFTA_TPROXY_FAMILY, | ||
| 1268 | NFTA_TPROXY_REG_ADDR, | ||
| 1269 | NFTA_TPROXY_REG_PORT, | ||
| 1270 | __NFTA_TPROXY_MAX | ||
| 1271 | }; | ||
| 1272 | #define NFTA_TPROXY_MAX (__NFTA_TPROXY_MAX - 1) | ||
| 1273 | |||
| 1274 | /** | ||
| 1254 | * enum nft_masq_attributes - nf_tables masquerade expression attributes | 1275 | * enum nft_masq_attributes - nf_tables masquerade expression attributes |
| 1255 | * | 1276 | * |
| 1256 | * @NFTA_MASQ_FLAGS: NAT flags (see NF_NAT_RANGE_* in linux/netfilter/nf_nat.h) (NLA_U32) | 1277 | * @NFTA_MASQ_FLAGS: NAT flags (see NF_NAT_RANGE_* in linux/netfilter/nf_nat.h) (NLA_U32) |
| @@ -1392,13 +1413,24 @@ enum nft_ct_helper_attributes { | |||
| 1392 | }; | 1413 | }; |
| 1393 | #define NFTA_CT_HELPER_MAX (__NFTA_CT_HELPER_MAX - 1) | 1414 | #define NFTA_CT_HELPER_MAX (__NFTA_CT_HELPER_MAX - 1) |
| 1394 | 1415 | ||
| 1416 | enum nft_ct_timeout_timeout_attributes { | ||
| 1417 | NFTA_CT_TIMEOUT_UNSPEC, | ||
| 1418 | NFTA_CT_TIMEOUT_L3PROTO, | ||
| 1419 | NFTA_CT_TIMEOUT_L4PROTO, | ||
| 1420 | NFTA_CT_TIMEOUT_DATA, | ||
| 1421 | __NFTA_CT_TIMEOUT_MAX, | ||
| 1422 | }; | ||
| 1423 | #define NFTA_CT_TIMEOUT_MAX (__NFTA_CT_TIMEOUT_MAX - 1) | ||
| 1424 | |||
| 1395 | #define NFT_OBJECT_UNSPEC 0 | 1425 | #define NFT_OBJECT_UNSPEC 0 |
| 1396 | #define NFT_OBJECT_COUNTER 1 | 1426 | #define NFT_OBJECT_COUNTER 1 |
| 1397 | #define NFT_OBJECT_QUOTA 2 | 1427 | #define NFT_OBJECT_QUOTA 2 |
| 1398 | #define NFT_OBJECT_CT_HELPER 3 | 1428 | #define NFT_OBJECT_CT_HELPER 3 |
| 1399 | #define NFT_OBJECT_LIMIT 4 | 1429 | #define NFT_OBJECT_LIMIT 4 |
| 1400 | #define NFT_OBJECT_CONNLIMIT 5 | 1430 | #define NFT_OBJECT_CONNLIMIT 5 |
| 1401 | #define __NFT_OBJECT_MAX 6 | 1431 | #define NFT_OBJECT_TUNNEL 6 |
| 1432 | #define NFT_OBJECT_CT_TIMEOUT 7 | ||
| 1433 | #define __NFT_OBJECT_MAX 8 | ||
| 1402 | #define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1) | 1434 | #define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1) |
| 1403 | 1435 | ||
| 1404 | /** | 1436 | /** |
| @@ -1461,6 +1493,13 @@ enum nft_flowtable_hook_attributes { | |||
| 1461 | }; | 1493 | }; |
| 1462 | #define NFTA_FLOWTABLE_HOOK_MAX (__NFTA_FLOWTABLE_HOOK_MAX - 1) | 1494 | #define NFTA_FLOWTABLE_HOOK_MAX (__NFTA_FLOWTABLE_HOOK_MAX - 1) |
| 1463 | 1495 | ||
| 1496 | enum nft_osf_attributes { | ||
| 1497 | NFTA_OSF_UNSPEC, | ||
| 1498 | NFTA_OSF_DREG, | ||
| 1499 | __NFTA_OSF_MAX, | ||
| 1500 | }; | ||
| 1501 | #define NFTA_OSF_MAX (__NFTA_OSF_MAX - 1) | ||
| 1502 | |||
| 1464 | /** | 1503 | /** |
| 1465 | * enum nft_device_attributes - nf_tables device netlink attributes | 1504 | * enum nft_device_attributes - nf_tables device netlink attributes |
| 1466 | * | 1505 | * |
| @@ -1555,4 +1594,85 @@ enum nft_ng_types { | |||
| 1555 | }; | 1594 | }; |
| 1556 | #define NFT_NG_MAX (__NFT_NG_MAX - 1) | 1595 | #define NFT_NG_MAX (__NFT_NG_MAX - 1) |
| 1557 | 1596 | ||
| 1597 | enum nft_tunnel_key_ip_attributes { | ||
| 1598 | NFTA_TUNNEL_KEY_IP_UNSPEC, | ||
| 1599 | NFTA_TUNNEL_KEY_IP_SRC, | ||
| 1600 | NFTA_TUNNEL_KEY_IP_DST, | ||
| 1601 | __NFTA_TUNNEL_KEY_IP_MAX | ||
| 1602 | }; | ||
| 1603 | #define NFTA_TUNNEL_KEY_IP_MAX (__NFTA_TUNNEL_KEY_IP_MAX - 1) | ||
| 1604 | |||
| 1605 | enum nft_tunnel_ip6_attributes { | ||
| 1606 | NFTA_TUNNEL_KEY_IP6_UNSPEC, | ||
| 1607 | NFTA_TUNNEL_KEY_IP6_SRC, | ||
| 1608 | NFTA_TUNNEL_KEY_IP6_DST, | ||
| 1609 | NFTA_TUNNEL_KEY_IP6_FLOWLABEL, | ||
| 1610 | __NFTA_TUNNEL_KEY_IP6_MAX | ||
| 1611 | }; | ||
| 1612 | #define NFTA_TUNNEL_KEY_IP6_MAX (__NFTA_TUNNEL_KEY_IP6_MAX - 1) | ||
| 1613 | |||
| 1614 | enum nft_tunnel_opts_attributes { | ||
| 1615 | NFTA_TUNNEL_KEY_OPTS_UNSPEC, | ||
| 1616 | NFTA_TUNNEL_KEY_OPTS_VXLAN, | ||
| 1617 | NFTA_TUNNEL_KEY_OPTS_ERSPAN, | ||
| 1618 | __NFTA_TUNNEL_KEY_OPTS_MAX | ||
| 1619 | }; | ||
| 1620 | #define NFTA_TUNNEL_KEY_OPTS_MAX (__NFTA_TUNNEL_KEY_OPTS_MAX - 1) | ||
| 1621 | |||
| 1622 | enum nft_tunnel_opts_vxlan_attributes { | ||
| 1623 | NFTA_TUNNEL_KEY_VXLAN_UNSPEC, | ||
| 1624 | NFTA_TUNNEL_KEY_VXLAN_GBP, | ||
| 1625 | __NFTA_TUNNEL_KEY_VXLAN_MAX | ||
| 1626 | }; | ||
| 1627 | #define NFTA_TUNNEL_KEY_VXLAN_MAX (__NFTA_TUNNEL_KEY_VXLAN_MAX - 1) | ||
| 1628 | |||
| 1629 | enum nft_tunnel_opts_erspan_attributes { | ||
| 1630 | NFTA_TUNNEL_KEY_ERSPAN_UNSPEC, | ||
| 1631 | NFTA_TUNNEL_KEY_ERSPAN_VERSION, | ||
| 1632 | NFTA_TUNNEL_KEY_ERSPAN_V1_INDEX, | ||
| 1633 | NFTA_TUNNEL_KEY_ERSPAN_V2_HWID, | ||
| 1634 | NFTA_TUNNEL_KEY_ERSPAN_V2_DIR, | ||
| 1635 | __NFTA_TUNNEL_KEY_ERSPAN_MAX | ||
| 1636 | }; | ||
| 1637 | #define NFTA_TUNNEL_KEY_ERSPAN_MAX (__NFTA_TUNNEL_KEY_ERSPAN_MAX - 1) | ||
| 1638 | |||
| 1639 | enum nft_tunnel_flags { | ||
| 1640 | NFT_TUNNEL_F_ZERO_CSUM_TX = (1 << 0), | ||
| 1641 | NFT_TUNNEL_F_DONT_FRAGMENT = (1 << 1), | ||
| 1642 | NFT_TUNNEL_F_SEQ_NUMBER = (1 << 2), | ||
| 1643 | }; | ||
| 1644 | #define NFT_TUNNEL_F_MASK (NFT_TUNNEL_F_ZERO_CSUM_TX | \ | ||
| 1645 | NFT_TUNNEL_F_DONT_FRAGMENT | \ | ||
| 1646 | NFT_TUNNEL_F_SEQ_NUMBER) | ||
| 1647 | |||
| 1648 | enum nft_tunnel_key_attributes { | ||
| 1649 | NFTA_TUNNEL_KEY_UNSPEC, | ||
| 1650 | NFTA_TUNNEL_KEY_ID, | ||
| 1651 | NFTA_TUNNEL_KEY_IP, | ||
| 1652 | NFTA_TUNNEL_KEY_IP6, | ||
| 1653 | NFTA_TUNNEL_KEY_FLAGS, | ||
| 1654 | NFTA_TUNNEL_KEY_TOS, | ||
| 1655 | NFTA_TUNNEL_KEY_TTL, | ||
| 1656 | NFTA_TUNNEL_KEY_SPORT, | ||
| 1657 | NFTA_TUNNEL_KEY_DPORT, | ||
| 1658 | NFTA_TUNNEL_KEY_OPTS, | ||
| 1659 | __NFTA_TUNNEL_KEY_MAX | ||
| 1660 | }; | ||
| 1661 | #define NFTA_TUNNEL_KEY_MAX (__NFTA_TUNNEL_KEY_MAX - 1) | ||
| 1662 | |||
| 1663 | enum nft_tunnel_keys { | ||
| 1664 | NFT_TUNNEL_PATH, | ||
| 1665 | NFT_TUNNEL_ID, | ||
| 1666 | __NFT_TUNNEL_MAX | ||
| 1667 | }; | ||
| 1668 | #define NFT_TUNNEL_MAX (__NFT_TUNNEL_MAX - 1) | ||
| 1669 | |||
| 1670 | enum nft_tunnel_attributes { | ||
| 1671 | NFTA_TUNNEL_UNSPEC, | ||
| 1672 | NFTA_TUNNEL_KEY, | ||
| 1673 | NFTA_TUNNEL_DREG, | ||
| 1674 | __NFTA_TUNNEL_MAX | ||
| 1675 | }; | ||
| 1676 | #define NFTA_TUNNEL_MAX (__NFTA_TUNNEL_MAX - 1) | ||
| 1677 | |||
| 1558 | #endif /* _LINUX_NF_TABLES_H */ | 1678 | #endif /* _LINUX_NF_TABLES_H */ |
diff --git a/include/uapi/linux/netfilter/nf_osf.h b/include/uapi/linux/netfilter/nfnetlink_osf.h index 8f2f2f403183..76a3527df5dd 100644 --- a/include/uapi/linux/netfilter/nf_osf.h +++ b/include/uapi/linux/netfilter/nfnetlink_osf.h | |||
| @@ -16,9 +16,14 @@ | |||
| 16 | 16 | ||
| 17 | #define NF_OSF_TTL_TRUE 0 /* True ip and fingerprint TTL comparison */ | 17 | #define NF_OSF_TTL_TRUE 0 /* True ip and fingerprint TTL comparison */ |
| 18 | 18 | ||
| 19 | /* Check if ip TTL is less than fingerprint one */ | ||
| 20 | #define NF_OSF_TTL_LESS 1 | ||
| 21 | |||
| 19 | /* Do not compare ip and fingerprint TTL at all */ | 22 | /* Do not compare ip and fingerprint TTL at all */ |
| 20 | #define NF_OSF_TTL_NOCHECK 2 | 23 | #define NF_OSF_TTL_NOCHECK 2 |
| 21 | 24 | ||
| 25 | #define NF_OSF_FLAGMASK (NF_OSF_GENRE | NF_OSF_TTL | \ | ||
| 26 | NF_OSF_LOG | NF_OSF_INVERT) | ||
| 22 | /* Wildcard MSS (kind of). | 27 | /* Wildcard MSS (kind of). |
| 23 | * It is used to implement a state machine for the different wildcard values | 28 | * It is used to implement a state machine for the different wildcard values |
| 24 | * of the MSS and window sizes. | 29 | * of the MSS and window sizes. |
| @@ -83,4 +88,31 @@ enum iana_options { | |||
| 83 | OSFOPT_EMPTY = 255, | 88 | OSFOPT_EMPTY = 255, |
| 84 | }; | 89 | }; |
| 85 | 90 | ||
| 91 | /* Initial window size option state machine: multiple of mss, mtu or | ||
| 92 | * plain numeric value. Can also be made as plain numeric value which | ||
| 93 | * is not a multiple of specified value. | ||
| 94 | */ | ||
| 95 | enum nf_osf_window_size_options { | ||
| 96 | OSF_WSS_PLAIN = 0, | ||
| 97 | OSF_WSS_MSS, | ||
| 98 | OSF_WSS_MTU, | ||
| 99 | OSF_WSS_MODULO, | ||
| 100 | OSF_WSS_MAX, | ||
| 101 | }; | ||
| 102 | |||
| 103 | enum nf_osf_attr_type { | ||
| 104 | OSF_ATTR_UNSPEC, | ||
| 105 | OSF_ATTR_FINGER, | ||
| 106 | OSF_ATTR_MAX, | ||
| 107 | }; | ||
| 108 | |||
| 109 | /* | ||
| 110 | * Add/remove fingerprint from the kernel. | ||
| 111 | */ | ||
| 112 | enum nf_osf_msg_types { | ||
| 113 | OSF_MSG_ADD, | ||
| 114 | OSF_MSG_REMOVE, | ||
| 115 | OSF_MSG_MAX, | ||
| 116 | }; | ||
| 117 | |||
| 86 | #endif /* _NF_OSF_H */ | 118 | #endif /* _NF_OSF_H */ |
diff --git a/include/uapi/linux/netfilter/xt_osf.h b/include/uapi/linux/netfilter/xt_osf.h index 72956eceeb09..24102b5286ec 100644 --- a/include/uapi/linux/netfilter/xt_osf.h +++ b/include/uapi/linux/netfilter/xt_osf.h | |||
| @@ -23,7 +23,7 @@ | |||
| 23 | #include <linux/types.h> | 23 | #include <linux/types.h> |
| 24 | #include <linux/ip.h> | 24 | #include <linux/ip.h> |
| 25 | #include <linux/tcp.h> | 25 | #include <linux/tcp.h> |
| 26 | #include <linux/netfilter/nf_osf.h> | 26 | #include <linux/netfilter/nfnetlink_osf.h> |
| 27 | 27 | ||
| 28 | #define XT_OSF_GENRE NF_OSF_GENRE | 28 | #define XT_OSF_GENRE NF_OSF_GENRE |
| 29 | #define XT_OSF_INVERT NF_OSF_INVERT | 29 | #define XT_OSF_INVERT NF_OSF_INVERT |
| @@ -37,8 +37,7 @@ | |||
| 37 | 37 | ||
| 38 | #define XT_OSF_TTL_TRUE NF_OSF_TTL_TRUE | 38 | #define XT_OSF_TTL_TRUE NF_OSF_TTL_TRUE |
| 39 | #define XT_OSF_TTL_NOCHECK NF_OSF_TTL_NOCHECK | 39 | #define XT_OSF_TTL_NOCHECK NF_OSF_TTL_NOCHECK |
| 40 | 40 | #define XT_OSF_TTL_LESS NF_OSF_TTL_LESS | |
| 41 | #define XT_OSF_TTL_LESS 1 /* Check if ip TTL is less than fingerprint one */ | ||
| 42 | 41 | ||
| 43 | #define xt_osf_wc nf_osf_wc | 42 | #define xt_osf_wc nf_osf_wc |
| 44 | #define xt_osf_opt nf_osf_opt | 43 | #define xt_osf_opt nf_osf_opt |
| @@ -47,19 +46,8 @@ | |||
| 47 | #define xt_osf_finger nf_osf_finger | 46 | #define xt_osf_finger nf_osf_finger |
| 48 | #define xt_osf_nlmsg nf_osf_nlmsg | 47 | #define xt_osf_nlmsg nf_osf_nlmsg |
| 49 | 48 | ||
| 50 | /* | 49 | #define xt_osf_window_size_options nf_osf_window_size_options |
| 51 | * Add/remove fingerprint from the kernel. | 50 | #define xt_osf_attr_type nf_osf_attr_type |
| 52 | */ | 51 | #define xt_osf_msg_types nf_osf_msg_types |
| 53 | enum xt_osf_msg_types { | ||
| 54 | OSF_MSG_ADD, | ||
| 55 | OSF_MSG_REMOVE, | ||
| 56 | OSF_MSG_MAX, | ||
| 57 | }; | ||
| 58 | |||
| 59 | enum xt_osf_attr_type { | ||
| 60 | OSF_ATTR_UNSPEC, | ||
| 61 | OSF_ATTR_FINGER, | ||
| 62 | OSF_ATTR_MAX, | ||
| 63 | }; | ||
| 64 | 52 | ||
| 65 | #endif /* _XT_OSF_H */ | 53 | #endif /* _XT_OSF_H */ |
diff --git a/include/uapi/linux/netfilter_bridge.h b/include/uapi/linux/netfilter_bridge.h index 12fb77633f83..156ccd089df1 100644 --- a/include/uapi/linux/netfilter_bridge.h +++ b/include/uapi/linux/netfilter_bridge.h | |||
| @@ -26,4 +26,15 @@ | |||
| 26 | #define NF_BR_BROUTING 5 | 26 | #define NF_BR_BROUTING 5 |
| 27 | #define NF_BR_NUMHOOKS 6 | 27 | #define NF_BR_NUMHOOKS 6 |
| 28 | 28 | ||
| 29 | enum nf_br_hook_priorities { | ||
| 30 | NF_BR_PRI_FIRST = INT_MIN, | ||
| 31 | NF_BR_PRI_NAT_DST_BRIDGED = -300, | ||
| 32 | NF_BR_PRI_FILTER_BRIDGED = -200, | ||
| 33 | NF_BR_PRI_BRNF = 0, | ||
| 34 | NF_BR_PRI_NAT_DST_OTHER = 100, | ||
| 35 | NF_BR_PRI_FILTER_OTHER = 200, | ||
| 36 | NF_BR_PRI_NAT_SRC = 300, | ||
| 37 | NF_BR_PRI_LAST = INT_MAX, | ||
| 38 | }; | ||
| 39 | |||
| 29 | #endif /* _UAPI__LINUX_BRIDGE_NETFILTER_H */ | 40 | #endif /* _UAPI__LINUX_BRIDGE_NETFILTER_H */ |
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index 27e4e441caac..7acc16f34942 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h | |||
| @@ -2237,6 +2237,9 @@ enum nl80211_commands { | |||
| 2237 | * enforced. | 2237 | * enforced. |
| 2238 | * @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes | 2238 | * @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes |
| 2239 | * a flow is assigned on each round of the DRR scheduler. | 2239 | * a flow is assigned on each round of the DRR scheduler. |
| 2240 | * @NL80211_ATTR_HE_CAPABILITY: HE Capability information element (from | ||
| 2241 | * association request when used with NL80211_CMD_NEW_STATION). Can be set | ||
| 2242 | * only if %NL80211_STA_FLAG_WME is set. | ||
| 2240 | * | 2243 | * |
| 2241 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available | 2244 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2242 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 2245 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| @@ -2677,6 +2680,8 @@ enum nl80211_attrs { | |||
| 2677 | NL80211_ATTR_TXQ_MEMORY_LIMIT, | 2680 | NL80211_ATTR_TXQ_MEMORY_LIMIT, |
| 2678 | NL80211_ATTR_TXQ_QUANTUM, | 2681 | NL80211_ATTR_TXQ_QUANTUM, |
| 2679 | 2682 | ||
| 2683 | NL80211_ATTR_HE_CAPABILITY, | ||
| 2684 | |||
| 2680 | /* add attributes here, update the policy in nl80211.c */ | 2685 | /* add attributes here, update the policy in nl80211.c */ |
| 2681 | 2686 | ||
| 2682 | __NL80211_ATTR_AFTER_LAST, | 2687 | __NL80211_ATTR_AFTER_LAST, |
| @@ -2726,7 +2731,8 @@ enum nl80211_attrs { | |||
| 2726 | #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 | 2731 | #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 |
| 2727 | #define NL80211_HT_CAPABILITY_LEN 26 | 2732 | #define NL80211_HT_CAPABILITY_LEN 26 |
| 2728 | #define NL80211_VHT_CAPABILITY_LEN 12 | 2733 | #define NL80211_VHT_CAPABILITY_LEN 12 |
| 2729 | 2734 | #define NL80211_HE_MIN_CAPABILITY_LEN 16 | |
| 2735 | #define NL80211_HE_MAX_CAPABILITY_LEN 51 | ||
| 2730 | #define NL80211_MAX_NR_CIPHER_SUITES 5 | 2736 | #define NL80211_MAX_NR_CIPHER_SUITES 5 |
| 2731 | #define NL80211_MAX_NR_AKM_SUITES 2 | 2737 | #define NL80211_MAX_NR_AKM_SUITES 2 |
| 2732 | 2738 | ||
| @@ -2854,6 +2860,38 @@ struct nl80211_sta_flag_update { | |||
| 2854 | } __attribute__((packed)); | 2860 | } __attribute__((packed)); |
| 2855 | 2861 | ||
| 2856 | /** | 2862 | /** |
| 2863 | * enum nl80211_he_gi - HE guard interval | ||
| 2864 | * @NL80211_RATE_INFO_HE_GI_0_8: 0.8 usec | ||
| 2865 | * @NL80211_RATE_INFO_HE_GI_1_6: 1.6 usec | ||
| 2866 | * @NL80211_RATE_INFO_HE_GI_3_2: 3.2 usec | ||
| 2867 | */ | ||
| 2868 | enum nl80211_he_gi { | ||
| 2869 | NL80211_RATE_INFO_HE_GI_0_8, | ||
| 2870 | NL80211_RATE_INFO_HE_GI_1_6, | ||
| 2871 | NL80211_RATE_INFO_HE_GI_3_2, | ||
| 2872 | }; | ||
| 2873 | |||
| 2874 | /** | ||
| 2875 | * enum nl80211_he_ru_alloc - HE RU allocation values | ||
| 2876 | * @NL80211_RATE_INFO_HE_RU_ALLOC_26: 26-tone RU allocation | ||
| 2877 | * @NL80211_RATE_INFO_HE_RU_ALLOC_52: 52-tone RU allocation | ||
| 2878 | * @NL80211_RATE_INFO_HE_RU_ALLOC_106: 106-tone RU allocation | ||
| 2879 | * @NL80211_RATE_INFO_HE_RU_ALLOC_242: 242-tone RU allocation | ||
| 2880 | * @NL80211_RATE_INFO_HE_RU_ALLOC_484: 484-tone RU allocation | ||
| 2881 | * @NL80211_RATE_INFO_HE_RU_ALLOC_996: 996-tone RU allocation | ||
| 2882 | * @NL80211_RATE_INFO_HE_RU_ALLOC_2x996: 2x996-tone RU allocation | ||
| 2883 | */ | ||
| 2884 | enum nl80211_he_ru_alloc { | ||
| 2885 | NL80211_RATE_INFO_HE_RU_ALLOC_26, | ||
| 2886 | NL80211_RATE_INFO_HE_RU_ALLOC_52, | ||
| 2887 | NL80211_RATE_INFO_HE_RU_ALLOC_106, | ||
| 2888 | NL80211_RATE_INFO_HE_RU_ALLOC_242, | ||
| 2889 | NL80211_RATE_INFO_HE_RU_ALLOC_484, | ||
| 2890 | NL80211_RATE_INFO_HE_RU_ALLOC_996, | ||
| 2891 | NL80211_RATE_INFO_HE_RU_ALLOC_2x996, | ||
| 2892 | }; | ||
| 2893 | |||
| 2894 | /** | ||
| 2857 | * enum nl80211_rate_info - bitrate information | 2895 | * enum nl80211_rate_info - bitrate information |
| 2858 | * | 2896 | * |
| 2859 | * These attribute types are used with %NL80211_STA_INFO_TXRATE | 2897 | * These attribute types are used with %NL80211_STA_INFO_TXRATE |
| @@ -2885,6 +2923,13 @@ struct nl80211_sta_flag_update { | |||
| 2885 | * @NL80211_RATE_INFO_5_MHZ_WIDTH: 5 MHz width - note that this is | 2923 | * @NL80211_RATE_INFO_5_MHZ_WIDTH: 5 MHz width - note that this is |
| 2886 | * a legacy rate and will be reported as the actual bitrate, i.e. | 2924 | * a legacy rate and will be reported as the actual bitrate, i.e. |
| 2887 | * a quarter of the base (20 MHz) rate | 2925 | * a quarter of the base (20 MHz) rate |
| 2926 | * @NL80211_RATE_INFO_HE_MCS: HE MCS index (u8, 0-11) | ||
| 2927 | * @NL80211_RATE_INFO_HE_NSS: HE NSS value (u8, 1-8) | ||
| 2928 | * @NL80211_RATE_INFO_HE_GI: HE guard interval identifier | ||
| 2929 | * (u8, see &enum nl80211_he_gi) | ||
| 2930 | * @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1) | ||
| 2931 | * @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then | ||
| 2932 | * non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc) | ||
| 2888 | * @__NL80211_RATE_INFO_AFTER_LAST: internal use | 2933 | * @__NL80211_RATE_INFO_AFTER_LAST: internal use |
| 2889 | */ | 2934 | */ |
| 2890 | enum nl80211_rate_info { | 2935 | enum nl80211_rate_info { |
| @@ -2901,6 +2946,11 @@ enum nl80211_rate_info { | |||
| 2901 | NL80211_RATE_INFO_160_MHZ_WIDTH, | 2946 | NL80211_RATE_INFO_160_MHZ_WIDTH, |
| 2902 | NL80211_RATE_INFO_10_MHZ_WIDTH, | 2947 | NL80211_RATE_INFO_10_MHZ_WIDTH, |
| 2903 | NL80211_RATE_INFO_5_MHZ_WIDTH, | 2948 | NL80211_RATE_INFO_5_MHZ_WIDTH, |
| 2949 | NL80211_RATE_INFO_HE_MCS, | ||
| 2950 | NL80211_RATE_INFO_HE_NSS, | ||
| 2951 | NL80211_RATE_INFO_HE_GI, | ||
| 2952 | NL80211_RATE_INFO_HE_DCM, | ||
| 2953 | NL80211_RATE_INFO_HE_RU_ALLOC, | ||
| 2904 | 2954 | ||
| 2905 | /* keep last */ | 2955 | /* keep last */ |
| 2906 | __NL80211_RATE_INFO_AFTER_LAST, | 2956 | __NL80211_RATE_INFO_AFTER_LAST, |
| @@ -3167,6 +3217,38 @@ enum nl80211_mpath_info { | |||
| 3167 | }; | 3217 | }; |
| 3168 | 3218 | ||
| 3169 | /** | 3219 | /** |
| 3220 | * enum nl80211_band_iftype_attr - Interface type data attributes | ||
| 3221 | * | ||
| 3222 | * @__NL80211_BAND_IFTYPE_ATTR_INVALID: attribute number 0 is reserved | ||
| 3223 | * @NL80211_BAND_IFTYPE_ATTR_IFTYPES: nested attribute containing a flag attribute | ||
| 3224 | * for each interface type that supports the band data | ||
| 3225 | * @NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC: HE MAC capabilities as in HE | ||
| 3226 | * capabilities IE | ||
| 3227 | * @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY: HE PHY capabilities as in HE | ||
| 3228 | * capabilities IE | ||
| 3229 | * @NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET: HE supported NSS/MCS as in HE | ||
| 3230 | * capabilities IE | ||
| 3231 | * @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE: HE PPE thresholds information as | ||
| 3232 | * defined in HE capabilities IE | ||
| 3233 | * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently | ||
| 3234 | * defined | ||
| 3235 | * @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use | ||
| 3236 | */ | ||
| 3237 | enum nl80211_band_iftype_attr { | ||
| 3238 | __NL80211_BAND_IFTYPE_ATTR_INVALID, | ||
| 3239 | |||
| 3240 | NL80211_BAND_IFTYPE_ATTR_IFTYPES, | ||
| 3241 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC, | ||
| 3242 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY, | ||
| 3243 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET, | ||
| 3244 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, | ||
| 3245 | |||
| 3246 | /* keep last */ | ||
| 3247 | __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST, | ||
| 3248 | NL80211_BAND_IFTYPE_ATTR_MAX = __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST - 1 | ||
| 3249 | }; | ||
| 3250 | |||
| 3251 | /** | ||
| 3170 | * enum nl80211_band_attr - band attributes | 3252 | * enum nl80211_band_attr - band attributes |
| 3171 | * @__NL80211_BAND_ATTR_INVALID: attribute number 0 is reserved | 3253 | * @__NL80211_BAND_ATTR_INVALID: attribute number 0 is reserved |
| 3172 | * @NL80211_BAND_ATTR_FREQS: supported frequencies in this band, | 3254 | * @NL80211_BAND_ATTR_FREQS: supported frequencies in this band, |
| @@ -3181,6 +3263,8 @@ enum nl80211_mpath_info { | |||
| 3181 | * @NL80211_BAND_ATTR_VHT_MCS_SET: 32-byte attribute containing the MCS set as | 3263 | * @NL80211_BAND_ATTR_VHT_MCS_SET: 32-byte attribute containing the MCS set as |
| 3182 | * defined in 802.11ac | 3264 | * defined in 802.11ac |
| 3183 | * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE | 3265 | * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE |
| 3266 | * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using | ||
| 3267 | * attributes from &enum nl80211_band_iftype_attr | ||
| 3184 | * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined | 3268 | * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined |
| 3185 | * @__NL80211_BAND_ATTR_AFTER_LAST: internal use | 3269 | * @__NL80211_BAND_ATTR_AFTER_LAST: internal use |
| 3186 | */ | 3270 | */ |
| @@ -3196,6 +3280,7 @@ enum nl80211_band_attr { | |||
| 3196 | 3280 | ||
| 3197 | NL80211_BAND_ATTR_VHT_MCS_SET, | 3281 | NL80211_BAND_ATTR_VHT_MCS_SET, |
| 3198 | NL80211_BAND_ATTR_VHT_CAPA, | 3282 | NL80211_BAND_ATTR_VHT_CAPA, |
| 3283 | NL80211_BAND_ATTR_IFTYPE_DATA, | ||
| 3199 | 3284 | ||
| 3200 | /* keep last */ | 3285 | /* keep last */ |
| 3201 | __NL80211_BAND_ATTR_AFTER_LAST, | 3286 | __NL80211_BAND_ATTR_AFTER_LAST, |
| @@ -5133,6 +5218,11 @@ enum nl80211_feature_flags { | |||
| 5133 | * support to nl80211. | 5218 | * support to nl80211. |
| 5134 | * @NL80211_EXT_FEATURE_TXQS: Driver supports FQ-CoDel-enabled intermediate | 5219 | * @NL80211_EXT_FEATURE_TXQS: Driver supports FQ-CoDel-enabled intermediate |
| 5135 | * TXQs. | 5220 | * TXQs. |
| 5221 | * @NL80211_EXT_FEATURE_SCAN_RANDOM_SN: Driver/device supports randomizing the | ||
| 5222 | * SN in probe request frames if requested by %NL80211_SCAN_FLAG_RANDOM_SN. | ||
| 5223 | * @NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT: Driver/device can omit all data | ||
| 5224 | * except for supported rates from the probe request content if requested | ||
| 5225 | * by the %NL80211_SCAN_FLAG_MIN_PREQ_CONTENT flag. | ||
| 5136 | * | 5226 | * |
| 5137 | * @NUM_NL80211_EXT_FEATURES: number of extended features. | 5227 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 5138 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. | 5228 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| @@ -5167,6 +5257,8 @@ enum nl80211_ext_feature_index { | |||
| 5167 | NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211, | 5257 | NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211, |
| 5168 | NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT, | 5258 | NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT, |
| 5169 | NL80211_EXT_FEATURE_TXQS, | 5259 | NL80211_EXT_FEATURE_TXQS, |
| 5260 | NL80211_EXT_FEATURE_SCAN_RANDOM_SN, | ||
| 5261 | NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT, | ||
| 5170 | 5262 | ||
| 5171 | /* add new features before the definition below */ | 5263 | /* add new features before the definition below */ |
| 5172 | NUM_NL80211_EXT_FEATURES, | 5264 | NUM_NL80211_EXT_FEATURES, |
| @@ -5272,6 +5364,12 @@ enum nl80211_timeout_reason { | |||
| 5272 | * possible scan results. This flag hints the driver to use the best | 5364 | * possible scan results. This flag hints the driver to use the best |
| 5273 | * possible scan configuration to improve the accuracy in scanning. | 5365 | * possible scan configuration to improve the accuracy in scanning. |
| 5274 | * Latency and power use may get impacted with this flag. | 5366 | * Latency and power use may get impacted with this flag. |
| 5367 | * @NL80211_SCAN_FLAG_RANDOM_SN: randomize the sequence number in probe | ||
| 5368 | * request frames from this scan to avoid correlation/tracking being | ||
| 5369 | * possible. | ||
| 5370 | * @NL80211_SCAN_FLAG_MIN_PREQ_CONTENT: minimize probe request content to | ||
| 5371 | * only have supported rates and no additional capabilities (unless | ||
| 5372 | * added by userspace explicitly.) | ||
| 5275 | */ | 5373 | */ |
| 5276 | enum nl80211_scan_flags { | 5374 | enum nl80211_scan_flags { |
| 5277 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, | 5375 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, |
| @@ -5285,6 +5383,8 @@ enum nl80211_scan_flags { | |||
| 5285 | NL80211_SCAN_FLAG_LOW_SPAN = 1<<8, | 5383 | NL80211_SCAN_FLAG_LOW_SPAN = 1<<8, |
| 5286 | NL80211_SCAN_FLAG_LOW_POWER = 1<<9, | 5384 | NL80211_SCAN_FLAG_LOW_POWER = 1<<9, |
| 5287 | NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, | 5385 | NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, |
| 5386 | NL80211_SCAN_FLAG_RANDOM_SN = 1<<11, | ||
| 5387 | NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12, | ||
| 5288 | }; | 5388 | }; |
| 5289 | 5389 | ||
| 5290 | /** | 5390 | /** |
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index 863aabaa5cc9..dbe0cbe4f1b7 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
| @@ -840,6 +840,8 @@ struct ovs_action_push_eth { | |||
| 840 | * @OVS_ACTION_ATTR_POP_NSH: pop the outermost NSH header off the packet. | 840 | * @OVS_ACTION_ATTR_POP_NSH: pop the outermost NSH header off the packet. |
| 841 | * @OVS_ACTION_ATTR_METER: Run packet through a meter, which may drop the | 841 | * @OVS_ACTION_ATTR_METER: Run packet through a meter, which may drop the |
| 842 | * packet, or modify the packet (e.g., change the DSCP field). | 842 | * packet, or modify the packet (e.g., change the DSCP field). |
| 843 | * @OVS_ACTION_ATTR_CLONE: make a copy of the packet and execute a list of | ||
| 844 | * actions without affecting the original packet and key. | ||
| 843 | * | 845 | * |
| 844 | * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all | 846 | * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all |
| 845 | * fields within a header are modifiable, e.g. the IPv4 protocol and fragment | 847 | * fields within a header are modifiable, e.g. the IPv4 protocol and fragment |
| @@ -873,6 +875,7 @@ enum ovs_action_attr { | |||
| 873 | OVS_ACTION_ATTR_PUSH_NSH, /* Nested OVS_NSH_KEY_ATTR_*. */ | 875 | OVS_ACTION_ATTR_PUSH_NSH, /* Nested OVS_NSH_KEY_ATTR_*. */ |
| 874 | OVS_ACTION_ATTR_POP_NSH, /* No argument. */ | 876 | OVS_ACTION_ATTR_POP_NSH, /* No argument. */ |
| 875 | OVS_ACTION_ATTR_METER, /* u32 meter ID. */ | 877 | OVS_ACTION_ATTR_METER, /* u32 meter ID. */ |
| 878 | OVS_ACTION_ATTR_CLONE, /* Nested OVS_CLONE_ATTR_*. */ | ||
| 876 | 879 | ||
| 877 | __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted | 880 | __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted |
| 878 | * from userspace. */ | 881 | * from userspace. */ |
diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h index 84e4c1d0f874..be382fb0592d 100644 --- a/include/uapi/linux/pkt_cls.h +++ b/include/uapi/linux/pkt_cls.h | |||
| @@ -45,6 +45,7 @@ enum { | |||
| 45 | * the skb and act like everything | 45 | * the skb and act like everything |
| 46 | * is alright. | 46 | * is alright. |
| 47 | */ | 47 | */ |
| 48 | #define TC_ACT_VALUE_MAX TC_ACT_TRAP | ||
| 48 | 49 | ||
| 49 | /* There is a special kind of actions called "extended actions", | 50 | /* There is a special kind of actions called "extended actions", |
| 50 | * which need a value parameter. These have a local opcode located in | 51 | * which need a value parameter. These have a local opcode located in |
| @@ -55,11 +56,12 @@ enum { | |||
| 55 | #define __TC_ACT_EXT_SHIFT 28 | 56 | #define __TC_ACT_EXT_SHIFT 28 |
| 56 | #define __TC_ACT_EXT(local) ((local) << __TC_ACT_EXT_SHIFT) | 57 | #define __TC_ACT_EXT(local) ((local) << __TC_ACT_EXT_SHIFT) |
| 57 | #define TC_ACT_EXT_VAL_MASK ((1 << __TC_ACT_EXT_SHIFT) - 1) | 58 | #define TC_ACT_EXT_VAL_MASK ((1 << __TC_ACT_EXT_SHIFT) - 1) |
| 58 | #define TC_ACT_EXT_CMP(combined, opcode) \ | 59 | #define TC_ACT_EXT_OPCODE(combined) ((combined) & (~TC_ACT_EXT_VAL_MASK)) |
| 59 | (((combined) & (~TC_ACT_EXT_VAL_MASK)) == opcode) | 60 | #define TC_ACT_EXT_CMP(combined, opcode) (TC_ACT_EXT_OPCODE(combined) == opcode) |
| 60 | 61 | ||
| 61 | #define TC_ACT_JUMP __TC_ACT_EXT(1) | 62 | #define TC_ACT_JUMP __TC_ACT_EXT(1) |
| 62 | #define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2) | 63 | #define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2) |
| 64 | #define TC_ACT_EXT_OPCODE_MAX TC_ACT_GOTO_CHAIN | ||
| 63 | 65 | ||
| 64 | /* Action type identifiers*/ | 66 | /* Action type identifiers*/ |
| 65 | enum { | 67 | enum { |
| @@ -469,12 +471,47 @@ enum { | |||
| 469 | TCA_FLOWER_KEY_IP_TTL, /* u8 */ | 471 | TCA_FLOWER_KEY_IP_TTL, /* u8 */ |
| 470 | TCA_FLOWER_KEY_IP_TTL_MASK, /* u8 */ | 472 | TCA_FLOWER_KEY_IP_TTL_MASK, /* u8 */ |
| 471 | 473 | ||
| 474 | TCA_FLOWER_KEY_CVLAN_ID, /* be16 */ | ||
| 475 | TCA_FLOWER_KEY_CVLAN_PRIO, /* u8 */ | ||
| 476 | TCA_FLOWER_KEY_CVLAN_ETH_TYPE, /* be16 */ | ||
| 477 | |||
| 478 | TCA_FLOWER_KEY_ENC_IP_TOS, /* u8 */ | ||
| 479 | TCA_FLOWER_KEY_ENC_IP_TOS_MASK, /* u8 */ | ||
| 480 | TCA_FLOWER_KEY_ENC_IP_TTL, /* u8 */ | ||
| 481 | TCA_FLOWER_KEY_ENC_IP_TTL_MASK, /* u8 */ | ||
| 482 | |||
| 483 | TCA_FLOWER_KEY_ENC_OPTS, | ||
| 484 | TCA_FLOWER_KEY_ENC_OPTS_MASK, | ||
| 485 | |||
| 472 | __TCA_FLOWER_MAX, | 486 | __TCA_FLOWER_MAX, |
| 473 | }; | 487 | }; |
| 474 | 488 | ||
| 475 | #define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1) | 489 | #define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1) |
| 476 | 490 | ||
| 477 | enum { | 491 | enum { |
| 492 | TCA_FLOWER_KEY_ENC_OPTS_UNSPEC, | ||
| 493 | TCA_FLOWER_KEY_ENC_OPTS_GENEVE, /* Nested | ||
| 494 | * TCA_FLOWER_KEY_ENC_OPT_GENEVE_ | ||
| 495 | * attributes | ||
| 496 | */ | ||
| 497 | __TCA_FLOWER_KEY_ENC_OPTS_MAX, | ||
| 498 | }; | ||
| 499 | |||
| 500 | #define TCA_FLOWER_KEY_ENC_OPTS_MAX (__TCA_FLOWER_KEY_ENC_OPTS_MAX - 1) | ||
| 501 | |||
| 502 | enum { | ||
| 503 | TCA_FLOWER_KEY_ENC_OPT_GENEVE_UNSPEC, | ||
| 504 | TCA_FLOWER_KEY_ENC_OPT_GENEVE_CLASS, /* u16 */ | ||
| 505 | TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE, /* u8 */ | ||
| 506 | TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA, /* 4 to 128 bytes */ | ||
| 507 | |||
| 508 | __TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX, | ||
| 509 | }; | ||
| 510 | |||
| 511 | #define TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX \ | ||
| 512 | (__TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX - 1) | ||
| 513 | |||
| 514 | enum { | ||
| 478 | TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = (1 << 0), | 515 | TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = (1 << 0), |
| 479 | TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = (1 << 1), | 516 | TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = (1 << 1), |
| 480 | }; | 517 | }; |
diff --git a/include/uapi/linux/pkt_sched.h b/include/uapi/linux/pkt_sched.h index 37b5096ae97b..8975fd1a1421 100644 --- a/include/uapi/linux/pkt_sched.h +++ b/include/uapi/linux/pkt_sched.h | |||
| @@ -124,6 +124,21 @@ struct tc_fifo_qopt { | |||
| 124 | __u32 limit; /* Queue length: bytes for bfifo, packets for pfifo */ | 124 | __u32 limit; /* Queue length: bytes for bfifo, packets for pfifo */ |
| 125 | }; | 125 | }; |
| 126 | 126 | ||
| 127 | /* SKBPRIO section */ | ||
| 128 | |||
| 129 | /* | ||
| 130 | * Priorities go from zero to (SKBPRIO_MAX_PRIORITY - 1). | ||
| 131 | * SKBPRIO_MAX_PRIORITY should be at least 64 in order for skbprio to be able | ||
| 132 | * to map one to one the DS field of IPV4 and IPV6 headers. | ||
| 133 | * Memory allocation grows linearly with SKBPRIO_MAX_PRIORITY. | ||
| 134 | */ | ||
| 135 | |||
| 136 | #define SKBPRIO_MAX_PRIORITY 64 | ||
| 137 | |||
| 138 | struct tc_skbprio_qopt { | ||
| 139 | __u32 limit; /* Queue length in packets. */ | ||
| 140 | }; | ||
| 141 | |||
| 127 | /* PRIO section */ | 142 | /* PRIO section */ |
| 128 | 143 | ||
| 129 | #define TCQ_PRIO_BANDS 16 | 144 | #define TCQ_PRIO_BANDS 16 |
| @@ -539,6 +554,7 @@ enum { | |||
| 539 | TCA_NETEM_LATENCY64, | 554 | TCA_NETEM_LATENCY64, |
| 540 | TCA_NETEM_JITTER64, | 555 | TCA_NETEM_JITTER64, |
| 541 | TCA_NETEM_SLOT, | 556 | TCA_NETEM_SLOT, |
| 557 | TCA_NETEM_SLOT_DIST, | ||
| 542 | __TCA_NETEM_MAX, | 558 | __TCA_NETEM_MAX, |
| 543 | }; | 559 | }; |
| 544 | 560 | ||
| @@ -581,6 +597,8 @@ struct tc_netem_slot { | |||
| 581 | __s64 max_delay; | 597 | __s64 max_delay; |
| 582 | __s32 max_packets; | 598 | __s32 max_packets; |
| 583 | __s32 max_bytes; | 599 | __s32 max_bytes; |
| 600 | __s64 dist_delay; /* nsec */ | ||
| 601 | __s64 dist_jitter; /* nsec */ | ||
| 584 | }; | 602 | }; |
| 585 | 603 | ||
| 586 | enum { | 604 | enum { |
| @@ -934,4 +952,136 @@ enum { | |||
| 934 | 952 | ||
| 935 | #define TCA_CBS_MAX (__TCA_CBS_MAX - 1) | 953 | #define TCA_CBS_MAX (__TCA_CBS_MAX - 1) |
| 936 | 954 | ||
| 955 | |||
| 956 | /* ETF */ | ||
| 957 | struct tc_etf_qopt { | ||
| 958 | __s32 delta; | ||
| 959 | __s32 clockid; | ||
| 960 | __u32 flags; | ||
| 961 | #define TC_ETF_DEADLINE_MODE_ON BIT(0) | ||
| 962 | #define TC_ETF_OFFLOAD_ON BIT(1) | ||
| 963 | }; | ||
| 964 | |||
| 965 | enum { | ||
| 966 | TCA_ETF_UNSPEC, | ||
| 967 | TCA_ETF_PARMS, | ||
| 968 | __TCA_ETF_MAX, | ||
| 969 | }; | ||
| 970 | |||
| 971 | #define TCA_ETF_MAX (__TCA_ETF_MAX - 1) | ||
| 972 | |||
| 973 | |||
| 974 | /* CAKE */ | ||
| 975 | enum { | ||
| 976 | TCA_CAKE_UNSPEC, | ||
| 977 | TCA_CAKE_PAD, | ||
| 978 | TCA_CAKE_BASE_RATE64, | ||
| 979 | TCA_CAKE_DIFFSERV_MODE, | ||
| 980 | TCA_CAKE_ATM, | ||
| 981 | TCA_CAKE_FLOW_MODE, | ||
| 982 | TCA_CAKE_OVERHEAD, | ||
| 983 | TCA_CAKE_RTT, | ||
| 984 | TCA_CAKE_TARGET, | ||
| 985 | TCA_CAKE_AUTORATE, | ||
| 986 | TCA_CAKE_MEMORY, | ||
| 987 | TCA_CAKE_NAT, | ||
| 988 | TCA_CAKE_RAW, | ||
| 989 | TCA_CAKE_WASH, | ||
| 990 | TCA_CAKE_MPU, | ||
| 991 | TCA_CAKE_INGRESS, | ||
| 992 | TCA_CAKE_ACK_FILTER, | ||
| 993 | TCA_CAKE_SPLIT_GSO, | ||
| 994 | __TCA_CAKE_MAX | ||
| 995 | }; | ||
| 996 | #define TCA_CAKE_MAX (__TCA_CAKE_MAX - 1) | ||
| 997 | |||
| 998 | enum { | ||
| 999 | __TCA_CAKE_STATS_INVALID, | ||
| 1000 | TCA_CAKE_STATS_PAD, | ||
| 1001 | TCA_CAKE_STATS_CAPACITY_ESTIMATE64, | ||
| 1002 | TCA_CAKE_STATS_MEMORY_LIMIT, | ||
| 1003 | TCA_CAKE_STATS_MEMORY_USED, | ||
| 1004 | TCA_CAKE_STATS_AVG_NETOFF, | ||
| 1005 | TCA_CAKE_STATS_MIN_NETLEN, | ||
| 1006 | TCA_CAKE_STATS_MAX_NETLEN, | ||
| 1007 | TCA_CAKE_STATS_MIN_ADJLEN, | ||
| 1008 | TCA_CAKE_STATS_MAX_ADJLEN, | ||
| 1009 | TCA_CAKE_STATS_TIN_STATS, | ||
| 1010 | TCA_CAKE_STATS_DEFICIT, | ||
| 1011 | TCA_CAKE_STATS_COBALT_COUNT, | ||
| 1012 | TCA_CAKE_STATS_DROPPING, | ||
| 1013 | TCA_CAKE_STATS_DROP_NEXT_US, | ||
| 1014 | TCA_CAKE_STATS_P_DROP, | ||
| 1015 | TCA_CAKE_STATS_BLUE_TIMER_US, | ||
| 1016 | __TCA_CAKE_STATS_MAX | ||
| 1017 | }; | ||
| 1018 | #define TCA_CAKE_STATS_MAX (__TCA_CAKE_STATS_MAX - 1) | ||
| 1019 | |||
| 1020 | enum { | ||
| 1021 | __TCA_CAKE_TIN_STATS_INVALID, | ||
| 1022 | TCA_CAKE_TIN_STATS_PAD, | ||
| 1023 | TCA_CAKE_TIN_STATS_SENT_PACKETS, | ||
| 1024 | TCA_CAKE_TIN_STATS_SENT_BYTES64, | ||
| 1025 | TCA_CAKE_TIN_STATS_DROPPED_PACKETS, | ||
| 1026 | TCA_CAKE_TIN_STATS_DROPPED_BYTES64, | ||
| 1027 | TCA_CAKE_TIN_STATS_ACKS_DROPPED_PACKETS, | ||
| 1028 | TCA_CAKE_TIN_STATS_ACKS_DROPPED_BYTES64, | ||
| 1029 | TCA_CAKE_TIN_STATS_ECN_MARKED_PACKETS, | ||
| 1030 | TCA_CAKE_TIN_STATS_ECN_MARKED_BYTES64, | ||
| 1031 | TCA_CAKE_TIN_STATS_BACKLOG_PACKETS, | ||
| 1032 | TCA_CAKE_TIN_STATS_BACKLOG_BYTES, | ||
| 1033 | TCA_CAKE_TIN_STATS_THRESHOLD_RATE64, | ||
| 1034 | TCA_CAKE_TIN_STATS_TARGET_US, | ||
| 1035 | TCA_CAKE_TIN_STATS_INTERVAL_US, | ||
| 1036 | TCA_CAKE_TIN_STATS_WAY_INDIRECT_HITS, | ||
| 1037 | TCA_CAKE_TIN_STATS_WAY_MISSES, | ||
| 1038 | TCA_CAKE_TIN_STATS_WAY_COLLISIONS, | ||
| 1039 | TCA_CAKE_TIN_STATS_PEAK_DELAY_US, | ||
| 1040 | TCA_CAKE_TIN_STATS_AVG_DELAY_US, | ||
| 1041 | TCA_CAKE_TIN_STATS_BASE_DELAY_US, | ||
| 1042 | TCA_CAKE_TIN_STATS_SPARSE_FLOWS, | ||
| 1043 | TCA_CAKE_TIN_STATS_BULK_FLOWS, | ||
| 1044 | TCA_CAKE_TIN_STATS_UNRESPONSIVE_FLOWS, | ||
| 1045 | TCA_CAKE_TIN_STATS_MAX_SKBLEN, | ||
| 1046 | TCA_CAKE_TIN_STATS_FLOW_QUANTUM, | ||
| 1047 | __TCA_CAKE_TIN_STATS_MAX | ||
| 1048 | }; | ||
| 1049 | #define TCA_CAKE_TIN_STATS_MAX (__TCA_CAKE_TIN_STATS_MAX - 1) | ||
| 1050 | #define TC_CAKE_MAX_TINS (8) | ||
| 1051 | |||
| 1052 | enum { | ||
| 1053 | CAKE_FLOW_NONE = 0, | ||
| 1054 | CAKE_FLOW_SRC_IP, | ||
| 1055 | CAKE_FLOW_DST_IP, | ||
| 1056 | CAKE_FLOW_HOSTS, /* = CAKE_FLOW_SRC_IP | CAKE_FLOW_DST_IP */ | ||
| 1057 | CAKE_FLOW_FLOWS, | ||
| 1058 | CAKE_FLOW_DUAL_SRC, /* = CAKE_FLOW_SRC_IP | CAKE_FLOW_FLOWS */ | ||
| 1059 | CAKE_FLOW_DUAL_DST, /* = CAKE_FLOW_DST_IP | CAKE_FLOW_FLOWS */ | ||
| 1060 | CAKE_FLOW_TRIPLE, /* = CAKE_FLOW_HOSTS | CAKE_FLOW_FLOWS */ | ||
| 1061 | CAKE_FLOW_MAX, | ||
| 1062 | }; | ||
| 1063 | |||
| 1064 | enum { | ||
| 1065 | CAKE_DIFFSERV_DIFFSERV3 = 0, | ||
| 1066 | CAKE_DIFFSERV_DIFFSERV4, | ||
| 1067 | CAKE_DIFFSERV_DIFFSERV8, | ||
| 1068 | CAKE_DIFFSERV_BESTEFFORT, | ||
| 1069 | CAKE_DIFFSERV_PRECEDENCE, | ||
| 1070 | CAKE_DIFFSERV_MAX | ||
| 1071 | }; | ||
| 1072 | |||
| 1073 | enum { | ||
| 1074 | CAKE_ACK_NONE = 0, | ||
| 1075 | CAKE_ACK_FILTER, | ||
| 1076 | CAKE_ACK_AGGRESSIVE, | ||
| 1077 | CAKE_ACK_MAX | ||
| 1078 | }; | ||
| 1079 | |||
| 1080 | enum { | ||
| 1081 | CAKE_ATM_NONE = 0, | ||
| 1082 | CAKE_ATM_ATM, | ||
| 1083 | CAKE_ATM_PTM, | ||
| 1084 | CAKE_ATM_MAX | ||
| 1085 | }; | ||
| 1086 | |||
| 937 | #endif | 1087 | #endif |
diff --git a/include/uapi/linux/ppp-ioctl.h b/include/uapi/linux/ppp-ioctl.h index 784c2e3e572e..88b5f9990320 100644 --- a/include/uapi/linux/ppp-ioctl.h +++ b/include/uapi/linux/ppp-ioctl.h | |||
| @@ -68,7 +68,7 @@ struct ppp_option_data { | |||
| 68 | struct pppol2tp_ioc_stats { | 68 | struct pppol2tp_ioc_stats { |
| 69 | __u16 tunnel_id; /* redundant */ | 69 | __u16 tunnel_id; /* redundant */ |
| 70 | __u16 session_id; /* if zero, get tunnel stats */ | 70 | __u16 session_id; /* if zero, get tunnel stats */ |
| 71 | __u32 using_ipsec:1; /* valid only for session_id == 0 */ | 71 | __u32 using_ipsec:1; |
| 72 | __aligned_u64 tx_packets; | 72 | __aligned_u64 tx_packets; |
| 73 | __aligned_u64 tx_bytes; | 73 | __aligned_u64 tx_bytes; |
| 74 | __aligned_u64 tx_errors; | 74 | __aligned_u64 tx_errors; |
diff --git a/include/uapi/linux/rds.h b/include/uapi/linux/rds.h index 20c6bd0b0007..dc520e1a4123 100644 --- a/include/uapi/linux/rds.h +++ b/include/uapi/linux/rds.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */ | 1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2008 Oracle. All rights reserved. | 3 | * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. |
| 4 | * | 4 | * |
| 5 | * This software is available to you under a choice of one of two | 5 | * This software is available to you under a choice of one of two |
| 6 | * licenses. You may choose to be licensed under the terms of the GNU | 6 | * licenses. You may choose to be licensed under the terms of the GNU |
| @@ -118,7 +118,17 @@ | |||
| 118 | #define RDS_INFO_IB_CONNECTIONS 10008 | 118 | #define RDS_INFO_IB_CONNECTIONS 10008 |
| 119 | #define RDS_INFO_CONNECTION_STATS 10009 | 119 | #define RDS_INFO_CONNECTION_STATS 10009 |
| 120 | #define RDS_INFO_IWARP_CONNECTIONS 10010 | 120 | #define RDS_INFO_IWARP_CONNECTIONS 10010 |
| 121 | #define RDS_INFO_LAST 10010 | 121 | |
| 122 | /* PF_RDS6 options */ | ||
| 123 | #define RDS6_INFO_CONNECTIONS 10011 | ||
| 124 | #define RDS6_INFO_SEND_MESSAGES 10012 | ||
| 125 | #define RDS6_INFO_RETRANS_MESSAGES 10013 | ||
| 126 | #define RDS6_INFO_RECV_MESSAGES 10014 | ||
| 127 | #define RDS6_INFO_SOCKETS 10015 | ||
| 128 | #define RDS6_INFO_TCP_SOCKETS 10016 | ||
| 129 | #define RDS6_INFO_IB_CONNECTIONS 10017 | ||
| 130 | |||
| 131 | #define RDS_INFO_LAST 10017 | ||
| 122 | 132 | ||
| 123 | struct rds_info_counter { | 133 | struct rds_info_counter { |
| 124 | __u8 name[32]; | 134 | __u8 name[32]; |
| @@ -140,6 +150,15 @@ struct rds_info_connection { | |||
| 140 | __u8 flags; | 150 | __u8 flags; |
| 141 | } __attribute__((packed)); | 151 | } __attribute__((packed)); |
| 142 | 152 | ||
| 153 | struct rds6_info_connection { | ||
| 154 | __u64 next_tx_seq; | ||
| 155 | __u64 next_rx_seq; | ||
| 156 | struct in6_addr laddr; | ||
| 157 | struct in6_addr faddr; | ||
| 158 | __u8 transport[TRANSNAMSIZ]; /* null term ascii */ | ||
| 159 | __u8 flags; | ||
| 160 | } __attribute__((packed)); | ||
| 161 | |||
| 143 | #define RDS_INFO_MESSAGE_FLAG_ACK 0x01 | 162 | #define RDS_INFO_MESSAGE_FLAG_ACK 0x01 |
| 144 | #define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02 | 163 | #define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02 |
| 145 | 164 | ||
| @@ -153,6 +172,17 @@ struct rds_info_message { | |||
| 153 | __u8 flags; | 172 | __u8 flags; |
| 154 | } __attribute__((packed)); | 173 | } __attribute__((packed)); |
| 155 | 174 | ||
| 175 | struct rds6_info_message { | ||
| 176 | __u64 seq; | ||
| 177 | __u32 len; | ||
| 178 | struct in6_addr laddr; | ||
| 179 | struct in6_addr faddr; | ||
| 180 | __be16 lport; | ||
| 181 | __be16 fport; | ||
| 182 | __u8 flags; | ||
| 183 | __u8 tos; | ||
| 184 | } __attribute__((packed)); | ||
| 185 | |||
| 156 | struct rds_info_socket { | 186 | struct rds_info_socket { |
| 157 | __u32 sndbuf; | 187 | __u32 sndbuf; |
| 158 | __be32 bound_addr; | 188 | __be32 bound_addr; |
| @@ -163,6 +193,16 @@ struct rds_info_socket { | |||
| 163 | __u64 inum; | 193 | __u64 inum; |
| 164 | } __attribute__((packed)); | 194 | } __attribute__((packed)); |
| 165 | 195 | ||
| 196 | struct rds6_info_socket { | ||
| 197 | __u32 sndbuf; | ||
| 198 | struct in6_addr bound_addr; | ||
| 199 | struct in6_addr connected_addr; | ||
| 200 | __be16 bound_port; | ||
| 201 | __be16 connected_port; | ||
| 202 | __u32 rcvbuf; | ||
| 203 | __u64 inum; | ||
| 204 | } __attribute__((packed)); | ||
| 205 | |||
| 166 | struct rds_info_tcp_socket { | 206 | struct rds_info_tcp_socket { |
| 167 | __be32 local_addr; | 207 | __be32 local_addr; |
| 168 | __be16 local_port; | 208 | __be16 local_port; |
| @@ -175,6 +215,18 @@ struct rds_info_tcp_socket { | |||
| 175 | __u32 last_seen_una; | 215 | __u32 last_seen_una; |
| 176 | } __attribute__((packed)); | 216 | } __attribute__((packed)); |
| 177 | 217 | ||
| 218 | struct rds6_info_tcp_socket { | ||
| 219 | struct in6_addr local_addr; | ||
| 220 | __be16 local_port; | ||
| 221 | struct in6_addr peer_addr; | ||
| 222 | __be16 peer_port; | ||
| 223 | __u64 hdr_rem; | ||
| 224 | __u64 data_rem; | ||
| 225 | __u32 last_sent_nxt; | ||
| 226 | __u32 last_expected_una; | ||
| 227 | __u32 last_seen_una; | ||
| 228 | } __attribute__((packed)); | ||
| 229 | |||
| 178 | #define RDS_IB_GID_LEN 16 | 230 | #define RDS_IB_GID_LEN 16 |
| 179 | struct rds_info_rdma_connection { | 231 | struct rds_info_rdma_connection { |
| 180 | __be32 src_addr; | 232 | __be32 src_addr; |
| @@ -189,6 +241,19 @@ struct rds_info_rdma_connection { | |||
| 189 | __u32 rdma_mr_size; | 241 | __u32 rdma_mr_size; |
| 190 | }; | 242 | }; |
| 191 | 243 | ||
| 244 | struct rds6_info_rdma_connection { | ||
| 245 | struct in6_addr src_addr; | ||
| 246 | struct in6_addr dst_addr; | ||
| 247 | __u8 src_gid[RDS_IB_GID_LEN]; | ||
| 248 | __u8 dst_gid[RDS_IB_GID_LEN]; | ||
| 249 | |||
| 250 | __u32 max_send_wr; | ||
| 251 | __u32 max_recv_wr; | ||
| 252 | __u32 max_send_sge; | ||
| 253 | __u32 rdma_mr_max; | ||
| 254 | __u32 rdma_mr_size; | ||
| 255 | }; | ||
| 256 | |||
| 192 | /* RDS message Receive Path Latency points */ | 257 | /* RDS message Receive Path Latency points */ |
| 193 | enum rds_message_rxpath_latency { | 258 | enum rds_message_rxpath_latency { |
| 194 | RDS_MSG_RX_HDR_TO_DGRAM_START = 0, | 259 | RDS_MSG_RX_HDR_TO_DGRAM_START = 0, |
diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h index 7d8502313c99..46399367627f 100644 --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h | |||
| @@ -150,6 +150,13 @@ enum { | |||
| 150 | RTM_NEWCACHEREPORT = 96, | 150 | RTM_NEWCACHEREPORT = 96, |
| 151 | #define RTM_NEWCACHEREPORT RTM_NEWCACHEREPORT | 151 | #define RTM_NEWCACHEREPORT RTM_NEWCACHEREPORT |
| 152 | 152 | ||
| 153 | RTM_NEWCHAIN = 100, | ||
| 154 | #define RTM_NEWCHAIN RTM_NEWCHAIN | ||
| 155 | RTM_DELCHAIN, | ||
| 156 | #define RTM_DELCHAIN RTM_DELCHAIN | ||
| 157 | RTM_GETCHAIN, | ||
| 158 | #define RTM_GETCHAIN RTM_GETCHAIN | ||
| 159 | |||
| 153 | __RTM_MAX, | 160 | __RTM_MAX, |
| 154 | #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) | 161 | #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) |
| 155 | }; | 162 | }; |
diff --git a/include/uapi/linux/sctp.h b/include/uapi/linux/sctp.h index b64d583bf053..b479db5c71d9 100644 --- a/include/uapi/linux/sctp.h +++ b/include/uapi/linux/sctp.h | |||
| @@ -100,6 +100,7 @@ typedef __s32 sctp_assoc_t; | |||
| 100 | #define SCTP_RECVNXTINFO 33 | 100 | #define SCTP_RECVNXTINFO 33 |
| 101 | #define SCTP_DEFAULT_SNDINFO 34 | 101 | #define SCTP_DEFAULT_SNDINFO 34 |
| 102 | #define SCTP_AUTH_DEACTIVATE_KEY 35 | 102 | #define SCTP_AUTH_DEACTIVATE_KEY 35 |
| 103 | #define SCTP_REUSE_PORT 36 | ||
| 103 | 104 | ||
| 104 | /* Internal Socket Options. Some of the sctp library functions are | 105 | /* Internal Socket Options. Some of the sctp library functions are |
| 105 | * implemented using these socket options. | 106 | * implemented using these socket options. |
| @@ -762,6 +763,8 @@ enum sctp_spp_flags { | |||
| 762 | SPP_SACKDELAY_DISABLE = 1<<6, /*Disable SACK*/ | 763 | SPP_SACKDELAY_DISABLE = 1<<6, /*Disable SACK*/ |
| 763 | SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE, | 764 | SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE, |
| 764 | SPP_HB_TIME_IS_ZERO = 1<<7, /* Set HB delay to 0 */ | 765 | SPP_HB_TIME_IS_ZERO = 1<<7, /* Set HB delay to 0 */ |
| 766 | SPP_IPV6_FLOWLABEL = 1<<8, | ||
| 767 | SPP_DSCP = 1<<9, | ||
| 765 | }; | 768 | }; |
| 766 | 769 | ||
| 767 | struct sctp_paddrparams { | 770 | struct sctp_paddrparams { |
| @@ -772,6 +775,8 @@ struct sctp_paddrparams { | |||
| 772 | __u32 spp_pathmtu; | 775 | __u32 spp_pathmtu; |
| 773 | __u32 spp_sackdelay; | 776 | __u32 spp_sackdelay; |
| 774 | __u32 spp_flags; | 777 | __u32 spp_flags; |
| 778 | __u32 spp_ipv6_flowlabel; | ||
| 779 | __u8 spp_dscp; | ||
| 775 | } __attribute__((packed, aligned(4))); | 780 | } __attribute__((packed, aligned(4))); |
| 776 | 781 | ||
| 777 | /* | 782 | /* |
diff --git a/include/uapi/linux/smc_diag.h b/include/uapi/linux/smc_diag.h index 0ae5d4685ba3..ac9e8c96d9bd 100644 --- a/include/uapi/linux/smc_diag.h +++ b/include/uapi/linux/smc_diag.h | |||
| @@ -20,7 +20,7 @@ struct smc_diag_req { | |||
| 20 | struct smc_diag_msg { | 20 | struct smc_diag_msg { |
| 21 | __u8 diag_family; | 21 | __u8 diag_family; |
| 22 | __u8 diag_state; | 22 | __u8 diag_state; |
| 23 | __u8 diag_fallback; | 23 | __u8 diag_mode; |
| 24 | __u8 diag_shutdown; | 24 | __u8 diag_shutdown; |
| 25 | struct inet_diag_sockid id; | 25 | struct inet_diag_sockid id; |
| 26 | 26 | ||
| @@ -28,6 +28,13 @@ struct smc_diag_msg { | |||
| 28 | __u64 diag_inode; | 28 | __u64 diag_inode; |
| 29 | }; | 29 | }; |
| 30 | 30 | ||
| 31 | /* Mode of a connection */ | ||
| 32 | enum { | ||
| 33 | SMC_DIAG_MODE_SMCR, | ||
| 34 | SMC_DIAG_MODE_FALLBACK_TCP, | ||
| 35 | SMC_DIAG_MODE_SMCD, | ||
| 36 | }; | ||
| 37 | |||
| 31 | /* Extensions */ | 38 | /* Extensions */ |
| 32 | 39 | ||
| 33 | enum { | 40 | enum { |
| @@ -35,6 +42,8 @@ enum { | |||
| 35 | SMC_DIAG_CONNINFO, | 42 | SMC_DIAG_CONNINFO, |
| 36 | SMC_DIAG_LGRINFO, | 43 | SMC_DIAG_LGRINFO, |
| 37 | SMC_DIAG_SHUTDOWN, | 44 | SMC_DIAG_SHUTDOWN, |
| 45 | SMC_DIAG_DMBINFO, | ||
| 46 | SMC_DIAG_FALLBACK, | ||
| 38 | __SMC_DIAG_MAX, | 47 | __SMC_DIAG_MAX, |
| 39 | }; | 48 | }; |
| 40 | 49 | ||
| @@ -83,4 +92,18 @@ struct smc_diag_lgrinfo { | |||
| 83 | struct smc_diag_linkinfo lnk[1]; | 92 | struct smc_diag_linkinfo lnk[1]; |
| 84 | __u8 role; | 93 | __u8 role; |
| 85 | }; | 94 | }; |
| 95 | |||
| 96 | struct smc_diag_fallback { | ||
| 97 | __u32 reason; | ||
| 98 | __u32 peer_diagnosis; | ||
| 99 | }; | ||
| 100 | |||
| 101 | struct smcd_diag_dmbinfo { /* SMC-D Socket internals */ | ||
| 102 | __u32 linkid; /* Link identifier */ | ||
| 103 | __u64 peer_gid; /* Peer GID */ | ||
| 104 | __u64 my_gid; /* My GID */ | ||
| 105 | __u64 token; /* Token of DMB */ | ||
| 106 | __u64 peer_token; /* Token of remote DMBE */ | ||
| 107 | }; | ||
| 108 | |||
| 86 | #endif /* _UAPI_SMC_DIAG_H_ */ | 109 | #endif /* _UAPI_SMC_DIAG_H_ */ |
diff --git a/include/uapi/linux/snmp.h b/include/uapi/linux/snmp.h index 750d89120335..f80135e5feaa 100644 --- a/include/uapi/linux/snmp.h +++ b/include/uapi/linux/snmp.h | |||
| @@ -56,6 +56,7 @@ enum | |||
| 56 | IPSTATS_MIB_ECT1PKTS, /* InECT1Pkts */ | 56 | IPSTATS_MIB_ECT1PKTS, /* InECT1Pkts */ |
| 57 | IPSTATS_MIB_ECT0PKTS, /* InECT0Pkts */ | 57 | IPSTATS_MIB_ECT0PKTS, /* InECT0Pkts */ |
| 58 | IPSTATS_MIB_CEPKTS, /* InCEPkts */ | 58 | IPSTATS_MIB_CEPKTS, /* InCEPkts */ |
| 59 | IPSTATS_MIB_REASM_OVERLAPS, /* ReasmOverlaps */ | ||
| 59 | __IPSTATS_MIB_MAX | 60 | __IPSTATS_MIB_MAX |
| 60 | }; | 61 | }; |
| 61 | 62 | ||
| @@ -279,6 +280,8 @@ enum | |||
| 279 | LINUX_MIB_TCPDELIVERED, /* TCPDelivered */ | 280 | LINUX_MIB_TCPDELIVERED, /* TCPDelivered */ |
| 280 | LINUX_MIB_TCPDELIVEREDCE, /* TCPDeliveredCE */ | 281 | LINUX_MIB_TCPDELIVEREDCE, /* TCPDeliveredCE */ |
| 281 | LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */ | 282 | LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */ |
| 283 | LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */ | ||
| 284 | LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */ | ||
| 282 | __LINUX_MIB_MAX | 285 | __LINUX_MIB_MAX |
| 283 | }; | 286 | }; |
| 284 | 287 | ||
diff --git a/include/uapi/linux/sysctl.h b/include/uapi/linux/sysctl.h index 6b58371b1f0d..d71013fffaf6 100644 --- a/include/uapi/linux/sysctl.h +++ b/include/uapi/linux/sysctl.h | |||
| @@ -575,7 +575,8 @@ enum { | |||
| 575 | 575 | ||
| 576 | /* /proc/sys/net/ipv6/icmp */ | 576 | /* /proc/sys/net/ipv6/icmp */ |
| 577 | enum { | 577 | enum { |
| 578 | NET_IPV6_ICMP_RATELIMIT=1 | 578 | NET_IPV6_ICMP_RATELIMIT = 1, |
| 579 | NET_IPV6_ICMP_ECHO_IGNORE_ALL = 2 | ||
| 579 | }; | 580 | }; |
| 580 | 581 | ||
| 581 | /* /proc/sys/net/<protocol>/neigh/<dev> */ | 582 | /* /proc/sys/net/<protocol>/neigh/<dev> */ |
diff --git a/include/uapi/linux/tc_act/tc_pedit.h b/include/uapi/linux/tc_act/tc_pedit.h index 162d1094c41c..24ec792dacc1 100644 --- a/include/uapi/linux/tc_act/tc_pedit.h +++ b/include/uapi/linux/tc_act/tc_pedit.h | |||
| @@ -17,13 +17,15 @@ enum { | |||
| 17 | TCA_PEDIT_KEY_EX, | 17 | TCA_PEDIT_KEY_EX, |
| 18 | __TCA_PEDIT_MAX | 18 | __TCA_PEDIT_MAX |
| 19 | }; | 19 | }; |
| 20 | |||
| 20 | #define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1) | 21 | #define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1) |
| 21 | 22 | ||
| 22 | enum { | 23 | enum { |
| 23 | TCA_PEDIT_KEY_EX_HTYPE = 1, | 24 | TCA_PEDIT_KEY_EX_HTYPE = 1, |
| 24 | TCA_PEDIT_KEY_EX_CMD = 2, | 25 | TCA_PEDIT_KEY_EX_CMD = 2, |
| 25 | __TCA_PEDIT_KEY_EX_MAX | 26 | __TCA_PEDIT_KEY_EX_MAX |
| 26 | }; | 27 | }; |
| 28 | |||
| 27 | #define TCA_PEDIT_KEY_EX_MAX (__TCA_PEDIT_KEY_EX_MAX - 1) | 29 | #define TCA_PEDIT_KEY_EX_MAX (__TCA_PEDIT_KEY_EX_MAX - 1) |
| 28 | 30 | ||
| 29 | /* TCA_PEDIT_KEY_EX_HDR_TYPE_NETWROK is a special case for legacy users. It | 31 | /* TCA_PEDIT_KEY_EX_HDR_TYPE_NETWROK is a special case for legacy users. It |
| @@ -38,6 +40,7 @@ enum pedit_header_type { | |||
| 38 | TCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5, | 40 | TCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5, |
| 39 | __PEDIT_HDR_TYPE_MAX, | 41 | __PEDIT_HDR_TYPE_MAX, |
| 40 | }; | 42 | }; |
| 43 | |||
| 41 | #define TCA_PEDIT_HDR_TYPE_MAX (__PEDIT_HDR_TYPE_MAX - 1) | 44 | #define TCA_PEDIT_HDR_TYPE_MAX (__PEDIT_HDR_TYPE_MAX - 1) |
| 42 | 45 | ||
| 43 | enum pedit_cmd { | 46 | enum pedit_cmd { |
| @@ -45,6 +48,7 @@ enum pedit_cmd { | |||
| 45 | TCA_PEDIT_KEY_EX_CMD_ADD = 1, | 48 | TCA_PEDIT_KEY_EX_CMD_ADD = 1, |
| 46 | __PEDIT_CMD_MAX, | 49 | __PEDIT_CMD_MAX, |
| 47 | }; | 50 | }; |
| 51 | |||
| 48 | #define TCA_PEDIT_CMD_MAX (__PEDIT_CMD_MAX - 1) | 52 | #define TCA_PEDIT_CMD_MAX (__PEDIT_CMD_MAX - 1) |
| 49 | 53 | ||
| 50 | struct tc_pedit_key { | 54 | struct tc_pedit_key { |
| @@ -55,13 +59,14 @@ struct tc_pedit_key { | |||
| 55 | __u32 offmask; | 59 | __u32 offmask; |
| 56 | __u32 shift; | 60 | __u32 shift; |
| 57 | }; | 61 | }; |
| 58 | 62 | ||
| 59 | struct tc_pedit_sel { | 63 | struct tc_pedit_sel { |
| 60 | tc_gen; | 64 | tc_gen; |
| 61 | unsigned char nkeys; | 65 | unsigned char nkeys; |
| 62 | unsigned char flags; | 66 | unsigned char flags; |
| 63 | struct tc_pedit_key keys[0]; | 67 | struct tc_pedit_key keys[0]; |
| 64 | }; | 68 | }; |
| 69 | |||
| 65 | #define tc_pedit tc_pedit_sel | 70 | #define tc_pedit tc_pedit_sel |
| 66 | 71 | ||
| 67 | #endif | 72 | #endif |
diff --git a/include/uapi/linux/tc_act/tc_skbedit.h b/include/uapi/linux/tc_act/tc_skbedit.h index fbcfe27a4e6c..6de6071ebed6 100644 --- a/include/uapi/linux/tc_act/tc_skbedit.h +++ b/include/uapi/linux/tc_act/tc_skbedit.h | |||
| @@ -30,6 +30,7 @@ | |||
| 30 | #define SKBEDIT_F_MARK 0x4 | 30 | #define SKBEDIT_F_MARK 0x4 |
| 31 | #define SKBEDIT_F_PTYPE 0x8 | 31 | #define SKBEDIT_F_PTYPE 0x8 |
| 32 | #define SKBEDIT_F_MASK 0x10 | 32 | #define SKBEDIT_F_MASK 0x10 |
| 33 | #define SKBEDIT_F_INHERITDSFIELD 0x20 | ||
| 33 | 34 | ||
| 34 | struct tc_skbedit { | 35 | struct tc_skbedit { |
| 35 | tc_gen; | 36 | tc_gen; |
| @@ -45,6 +46,7 @@ enum { | |||
| 45 | TCA_SKBEDIT_PAD, | 46 | TCA_SKBEDIT_PAD, |
| 46 | TCA_SKBEDIT_PTYPE, | 47 | TCA_SKBEDIT_PTYPE, |
| 47 | TCA_SKBEDIT_MASK, | 48 | TCA_SKBEDIT_MASK, |
| 49 | TCA_SKBEDIT_FLAGS, | ||
| 48 | __TCA_SKBEDIT_MAX | 50 | __TCA_SKBEDIT_MAX |
| 49 | }; | 51 | }; |
| 50 | #define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1) | 52 | #define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1) |
diff --git a/include/uapi/linux/tc_act/tc_tunnel_key.h b/include/uapi/linux/tc_act/tc_tunnel_key.h index 72bbefe5d1d1..be384d63e1b5 100644 --- a/include/uapi/linux/tc_act/tc_tunnel_key.h +++ b/include/uapi/linux/tc_act/tc_tunnel_key.h | |||
| @@ -36,9 +36,37 @@ enum { | |||
| 36 | TCA_TUNNEL_KEY_PAD, | 36 | TCA_TUNNEL_KEY_PAD, |
| 37 | TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */ | 37 | TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */ |
| 38 | TCA_TUNNEL_KEY_NO_CSUM, /* u8 */ | 38 | TCA_TUNNEL_KEY_NO_CSUM, /* u8 */ |
| 39 | TCA_TUNNEL_KEY_ENC_OPTS, /* Nested TCA_TUNNEL_KEY_ENC_OPTS_ | ||
| 40 | * attributes | ||
| 41 | */ | ||
| 42 | TCA_TUNNEL_KEY_ENC_TOS, /* u8 */ | ||
| 43 | TCA_TUNNEL_KEY_ENC_TTL, /* u8 */ | ||
| 39 | __TCA_TUNNEL_KEY_MAX, | 44 | __TCA_TUNNEL_KEY_MAX, |
| 40 | }; | 45 | }; |
| 41 | 46 | ||
| 42 | #define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1) | 47 | #define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1) |
| 43 | 48 | ||
| 49 | enum { | ||
| 50 | TCA_TUNNEL_KEY_ENC_OPTS_UNSPEC, | ||
| 51 | TCA_TUNNEL_KEY_ENC_OPTS_GENEVE, /* Nested | ||
| 52 | * TCA_TUNNEL_KEY_ENC_OPTS_ | ||
| 53 | * attributes | ||
| 54 | */ | ||
| 55 | __TCA_TUNNEL_KEY_ENC_OPTS_MAX, | ||
| 56 | }; | ||
| 57 | |||
| 58 | #define TCA_TUNNEL_KEY_ENC_OPTS_MAX (__TCA_TUNNEL_KEY_ENC_OPTS_MAX - 1) | ||
| 59 | |||
| 60 | enum { | ||
| 61 | TCA_TUNNEL_KEY_ENC_OPT_GENEVE_UNSPEC, | ||
| 62 | TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS, /* be16 */ | ||
| 63 | TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE, /* u8 */ | ||
| 64 | TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA, /* 4 to 128 bytes */ | ||
| 65 | |||
| 66 | __TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX, | ||
| 67 | }; | ||
| 68 | |||
| 69 | #define TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX \ | ||
| 70 | (__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX - 1) | ||
| 71 | |||
| 44 | #endif | 72 | #endif |
diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h index e3f6ed8a7064..e02d31986ff9 100644 --- a/include/uapi/linux/tcp.h +++ b/include/uapi/linux/tcp.h | |||
| @@ -235,6 +235,11 @@ struct tcp_info { | |||
| 235 | 235 | ||
| 236 | __u32 tcpi_delivered; | 236 | __u32 tcpi_delivered; |
| 237 | __u32 tcpi_delivered_ce; | 237 | __u32 tcpi_delivered_ce; |
| 238 | |||
| 239 | __u64 tcpi_bytes_sent; /* RFC4898 tcpEStatsPerfHCDataOctetsOut */ | ||
| 240 | __u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */ | ||
| 241 | __u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */ | ||
| 242 | __u32 tcpi_reord_seen; /* reordering events seen */ | ||
| 238 | }; | 243 | }; |
| 239 | 244 | ||
| 240 | /* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */ | 245 | /* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */ |
| @@ -257,7 +262,10 @@ enum { | |||
| 257 | TCP_NLA_SND_SSTHRESH, /* Slow start size threshold */ | 262 | TCP_NLA_SND_SSTHRESH, /* Slow start size threshold */ |
| 258 | TCP_NLA_DELIVERED, /* Data pkts delivered incl. out-of-order */ | 263 | TCP_NLA_DELIVERED, /* Data pkts delivered incl. out-of-order */ |
| 259 | TCP_NLA_DELIVERED_CE, /* Like above but only ones w/ CE marks */ | 264 | TCP_NLA_DELIVERED_CE, /* Like above but only ones w/ CE marks */ |
| 260 | 265 | TCP_NLA_BYTES_SENT, /* Data bytes sent including retransmission */ | |
| 266 | TCP_NLA_BYTES_RETRANS, /* Data bytes retransmitted */ | ||
| 267 | TCP_NLA_DSACK_DUPS, /* DSACK blocks received */ | ||
| 268 | TCP_NLA_REORD_SEEN, /* reordering events seen */ | ||
| 261 | }; | 269 | }; |
| 262 | 270 | ||
| 263 | /* for TCP_MD5SIG socket option */ | 271 | /* for TCP_MD5SIG socket option */ |
diff --git a/include/uapi/linux/tipc_netlink.h b/include/uapi/linux/tipc_netlink.h index 85c11982c89b..0ebe02ef1a86 100644 --- a/include/uapi/linux/tipc_netlink.h +++ b/include/uapi/linux/tipc_netlink.h | |||
| @@ -121,6 +121,7 @@ enum { | |||
| 121 | TIPC_NLA_SOCK_TIPC_STATE, /* u32 */ | 121 | TIPC_NLA_SOCK_TIPC_STATE, /* u32 */ |
| 122 | TIPC_NLA_SOCK_COOKIE, /* u64 */ | 122 | TIPC_NLA_SOCK_COOKIE, /* u64 */ |
| 123 | TIPC_NLA_SOCK_PAD, /* flag */ | 123 | TIPC_NLA_SOCK_PAD, /* flag */ |
| 124 | TIPC_NLA_SOCK_GROUP, /* nest */ | ||
| 124 | 125 | ||
| 125 | __TIPC_NLA_SOCK_MAX, | 126 | __TIPC_NLA_SOCK_MAX, |
| 126 | TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1 | 127 | TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1 |
| @@ -233,6 +234,19 @@ enum { | |||
| 233 | TIPC_NLA_MON_PEER_MAX = __TIPC_NLA_MON_PEER_MAX - 1 | 234 | TIPC_NLA_MON_PEER_MAX = __TIPC_NLA_MON_PEER_MAX - 1 |
| 234 | }; | 235 | }; |
| 235 | 236 | ||
| 237 | /* Nest, socket group info */ | ||
| 238 | enum { | ||
| 239 | TIPC_NLA_SOCK_GROUP_ID, /* u32 */ | ||
| 240 | TIPC_NLA_SOCK_GROUP_OPEN, /* flag */ | ||
| 241 | TIPC_NLA_SOCK_GROUP_NODE_SCOPE, /* flag */ | ||
| 242 | TIPC_NLA_SOCK_GROUP_CLUSTER_SCOPE, /* flag */ | ||
| 243 | TIPC_NLA_SOCK_GROUP_INSTANCE, /* u32 */ | ||
| 244 | TIPC_NLA_SOCK_GROUP_BC_SEND_NEXT, /* u32 */ | ||
| 245 | |||
| 246 | __TIPC_NLA_SOCK_GROUP_MAX, | ||
| 247 | TIPC_NLA_SOCK_GROUP_MAX = __TIPC_NLA_SOCK_GROUP_MAX - 1 | ||
| 248 | }; | ||
| 249 | |||
| 236 | /* Nest, connection info */ | 250 | /* Nest, connection info */ |
| 237 | enum { | 251 | enum { |
| 238 | TIPC_NLA_CON_UNSPEC, | 252 | TIPC_NLA_CON_UNSPEC, |
diff --git a/include/uapi/linux/vhost.h b/include/uapi/linux/vhost.h index c51f8e5cc608..b1e22c40c4b6 100644 --- a/include/uapi/linux/vhost.h +++ b/include/uapi/linux/vhost.h | |||
| @@ -65,6 +65,7 @@ struct vhost_iotlb_msg { | |||
| 65 | }; | 65 | }; |
| 66 | 66 | ||
| 67 | #define VHOST_IOTLB_MSG 0x1 | 67 | #define VHOST_IOTLB_MSG 0x1 |
| 68 | #define VHOST_IOTLB_MSG_V2 0x2 | ||
| 68 | 69 | ||
| 69 | struct vhost_msg { | 70 | struct vhost_msg { |
| 70 | int type; | 71 | int type; |
| @@ -74,6 +75,15 @@ struct vhost_msg { | |||
| 74 | }; | 75 | }; |
| 75 | }; | 76 | }; |
| 76 | 77 | ||
| 78 | struct vhost_msg_v2 { | ||
| 79 | __u32 type; | ||
| 80 | __u32 reserved; | ||
| 81 | union { | ||
| 82 | struct vhost_iotlb_msg iotlb; | ||
| 83 | __u8 padding[64]; | ||
| 84 | }; | ||
| 85 | }; | ||
| 86 | |||
| 77 | struct vhost_memory_region { | 87 | struct vhost_memory_region { |
| 78 | __u64 guest_phys_addr; | 88 | __u64 guest_phys_addr; |
| 79 | __u64 memory_size; /* bytes */ | 89 | __u64 memory_size; /* bytes */ |
| @@ -160,6 +170,14 @@ struct vhost_memory { | |||
| 160 | #define VHOST_GET_VRING_BUSYLOOP_TIMEOUT _IOW(VHOST_VIRTIO, 0x24, \ | 170 | #define VHOST_GET_VRING_BUSYLOOP_TIMEOUT _IOW(VHOST_VIRTIO, 0x24, \ |
| 161 | struct vhost_vring_state) | 171 | struct vhost_vring_state) |
| 162 | 172 | ||
| 173 | /* Set or get vhost backend capability */ | ||
| 174 | |||
| 175 | /* Use message type V2 */ | ||
| 176 | #define VHOST_BACKEND_F_IOTLB_MSG_V2 0x1 | ||
| 177 | |||
| 178 | #define VHOST_SET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x25, __u64) | ||
| 179 | #define VHOST_GET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x26, __u64) | ||
| 180 | |||
| 163 | /* VHOST_NET specific defines */ | 181 | /* VHOST_NET specific defines */ |
| 164 | 182 | ||
| 165 | /* Attach virtio net ring to a raw socket, or tap device. | 183 | /* Attach virtio net ring to a raw socket, or tap device. |
diff --git a/include/uapi/linux/xfrm.h b/include/uapi/linux/xfrm.h index e3af2859188b..5f3b9fec7b5f 100644 --- a/include/uapi/linux/xfrm.h +++ b/include/uapi/linux/xfrm.h | |||
| @@ -305,9 +305,12 @@ enum xfrm_attr_type_t { | |||
| 305 | XFRMA_ADDRESS_FILTER, /* struct xfrm_address_filter */ | 305 | XFRMA_ADDRESS_FILTER, /* struct xfrm_address_filter */ |
| 306 | XFRMA_PAD, | 306 | XFRMA_PAD, |
| 307 | XFRMA_OFFLOAD_DEV, /* struct xfrm_state_offload */ | 307 | XFRMA_OFFLOAD_DEV, /* struct xfrm_state_offload */ |
| 308 | XFRMA_OUTPUT_MARK, /* __u32 */ | 308 | XFRMA_SET_MARK, /* __u32 */ |
| 309 | XFRMA_SET_MARK_MASK, /* __u32 */ | ||
| 310 | XFRMA_IF_ID, /* __u32 */ | ||
| 309 | __XFRMA_MAX | 311 | __XFRMA_MAX |
| 310 | 312 | ||
| 313 | #define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */ | ||
| 311 | #define XFRMA_MAX (__XFRMA_MAX - 1) | 314 | #define XFRMA_MAX (__XFRMA_MAX - 1) |
| 312 | }; | 315 | }; |
| 313 | 316 | ||
