aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2016-09-25 17:23:57 -0400
committerPablo Neira Ayuso <pablo@netfilter.org>2016-09-25 17:34:19 -0400
commitf20fbc0717f9f007c94b2641134b19228d0ce9ed (patch)
tree1404248ebbec552a3fb7928b75322b65d74de1bd /include/uapi/linux
parent8cb2a7d5667ab9a9c2fdd356357b85b63b320901 (diff)
parentfe0acb5fcb7fe8cb3d68bbdb8459865c972d8f83 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Conflicts: net/netfilter/core.c net/netfilter/nf_tables_netdev.c Resolve two conflicts before pull request for David's net-next tree: 1) Between c73c24849011 ("netfilter: nf_tables_netdev: remove redundant ip_hdr assignment") from the net tree and commit ddc8b6027ad0 ("netfilter: introduce nft_set_pktinfo_{ipv4, ipv6}_validate()"). 2) Between e8bffe0cf964 ("net: Add _nf_(un)register_hooks symbols") and Aaron Conole's patches to replace list_head with single linked list. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/bpf.h28
-rw-r--r--include/uapi/linux/if_link.h29
-rw-r--r--include/uapi/linux/if_tunnel.h1
-rw-r--r--include/uapi/linux/inet_diag.h14
-rw-r--r--include/uapi/linux/openvswitch.h17
-rw-r--r--include/uapi/linux/pkt_cls.h22
-rw-r--r--include/uapi/linux/pkt_sched.h4
-rw-r--r--include/uapi/linux/tc_act/tc_ife.h3
-rw-r--r--include/uapi/linux/tc_act/tc_skbmod.h39
-rw-r--r--include/uapi/linux/tc_act/tc_tunnel_key.h41
-rw-r--r--include/uapi/linux/tc_act/tc_vlan.h1
-rw-r--r--include/uapi/linux/tcp.h3
-rw-r--r--include/uapi/linux/xfrm.h2
13 files changed, 189 insertions, 15 deletions
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index f896dfac4ac0..f09c70b97eca 100644
--- a/include/uapi/linux/bpf.h
+++ b/include/uapi/linux/bpf.h
@@ -398,6 +398,34 @@ enum bpf_func_id {
398 */ 398 */
399 BPF_FUNC_skb_change_tail, 399 BPF_FUNC_skb_change_tail,
400 400
401 /**
402 * bpf_skb_pull_data(skb, len)
403 * The helper will pull in non-linear data in case the
404 * skb is non-linear and not all of len are part of the
405 * linear section. Only needed for read/write with direct
406 * packet access.
407 * @skb: pointer to skb
408 * @len: len to make read/writeable
409 * Return: 0 on success or negative error
410 */
411 BPF_FUNC_skb_pull_data,
412
413 /**
414 * bpf_csum_update(skb, csum)
415 * Adds csum into skb->csum in case of CHECKSUM_COMPLETE.
416 * @skb: pointer to skb
417 * @csum: csum to add
418 * Return: csum on success or negative error
419 */
420 BPF_FUNC_csum_update,
421
422 /**
423 * bpf_set_hash_invalid(skb)
424 * Invalidate current skb>hash.
425 * @skb: pointer to skb
426 */
427 BPF_FUNC_set_hash_invalid,
428
401 __BPF_FUNC_MAX_ID, 429 __BPF_FUNC_MAX_ID,
402}; 430};
403 431
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
index 9bf3aecfe05b..b4fba662cd32 100644
--- a/include/uapi/linux/if_link.h
+++ b/include/uapi/linux/if_link.h
@@ -464,6 +464,7 @@ enum {
464enum ipvlan_mode { 464enum ipvlan_mode {
465 IPVLAN_MODE_L2 = 0, 465 IPVLAN_MODE_L2 = 0,
466 IPVLAN_MODE_L3, 466 IPVLAN_MODE_L3,
467 IPVLAN_MODE_L3S,
467 IPVLAN_MODE_MAX 468 IPVLAN_MODE_MAX
468}; 469};
469 470
@@ -618,7 +619,7 @@ enum {
618enum { 619enum {
619 IFLA_VF_UNSPEC, 620 IFLA_VF_UNSPEC,
620 IFLA_VF_MAC, /* Hardware queue specific attributes */ 621 IFLA_VF_MAC, /* Hardware queue specific attributes */
621 IFLA_VF_VLAN, 622 IFLA_VF_VLAN, /* VLAN ID and QoS */
622 IFLA_VF_TX_RATE, /* Max TX Bandwidth Allocation */ 623 IFLA_VF_TX_RATE, /* Max TX Bandwidth Allocation */
623 IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */ 624 IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */
624 IFLA_VF_LINK_STATE, /* link state enable/disable/auto switch */ 625 IFLA_VF_LINK_STATE, /* link state enable/disable/auto switch */
@@ -630,6 +631,7 @@ enum {
630 IFLA_VF_TRUST, /* Trust VF */ 631 IFLA_VF_TRUST, /* Trust VF */
631 IFLA_VF_IB_NODE_GUID, /* VF Infiniband node GUID */ 632 IFLA_VF_IB_NODE_GUID, /* VF Infiniband node GUID */
632 IFLA_VF_IB_PORT_GUID, /* VF Infiniband port GUID */ 633 IFLA_VF_IB_PORT_GUID, /* VF Infiniband port GUID */
634 IFLA_VF_VLAN_LIST, /* nested list of vlans, option for QinQ */
633 __IFLA_VF_MAX, 635 __IFLA_VF_MAX,
634}; 636};
635 637
@@ -646,6 +648,22 @@ struct ifla_vf_vlan {
646 __u32 qos; 648 __u32 qos;
647}; 649};
648 650
651enum {
652 IFLA_VF_VLAN_INFO_UNSPEC,
653 IFLA_VF_VLAN_INFO, /* VLAN ID, QoS and VLAN protocol */
654 __IFLA_VF_VLAN_INFO_MAX,
655};
656
657#define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1)
658#define MAX_VLAN_LIST_LEN 1
659
660struct ifla_vf_vlan_info {
661 __u32 vf;
662 __u32 vlan; /* 0 - 4095, 0 disables VLAN filter */
663 __u32 qos;
664 __be16 vlan_proto; /* VLAN protocol either 802.1Q or 802.1ad */
665};
666
649struct ifla_vf_tx_rate { 667struct ifla_vf_tx_rate {
650 __u32 vf; 668 __u32 vf;
651 __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */ 669 __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */
@@ -826,6 +844,7 @@ enum {
826 IFLA_STATS_LINK_64, 844 IFLA_STATS_LINK_64,
827 IFLA_STATS_LINK_XSTATS, 845 IFLA_STATS_LINK_XSTATS,
828 IFLA_STATS_LINK_XSTATS_SLAVE, 846 IFLA_STATS_LINK_XSTATS_SLAVE,
847 IFLA_STATS_LINK_OFFLOAD_XSTATS,
829 __IFLA_STATS_MAX, 848 __IFLA_STATS_MAX,
830}; 849};
831 850
@@ -845,6 +864,14 @@ enum {
845}; 864};
846#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1) 865#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
847 866
867/* These are stats embedded into IFLA_STATS_LINK_OFFLOAD_XSTATS */
868enum {
869 IFLA_OFFLOAD_XSTATS_UNSPEC,
870 IFLA_OFFLOAD_XSTATS_CPU_HIT, /* struct rtnl_link_stats64 */
871 __IFLA_OFFLOAD_XSTATS_MAX
872};
873#define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1)
874
848/* XDP section */ 875/* XDP section */
849 876
850enum { 877enum {
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h
index fb7337d6b985..92f3c8677523 100644
--- a/include/uapi/linux/if_tunnel.h
+++ b/include/uapi/linux/if_tunnel.h
@@ -74,6 +74,7 @@ enum {
74 IFLA_IPTUN_ENCAP_FLAGS, 74 IFLA_IPTUN_ENCAP_FLAGS,
75 IFLA_IPTUN_ENCAP_SPORT, 75 IFLA_IPTUN_ENCAP_SPORT,
76 IFLA_IPTUN_ENCAP_DPORT, 76 IFLA_IPTUN_ENCAP_DPORT,
77 IFLA_IPTUN_COLLECT_METADATA,
77 __IFLA_IPTUN_MAX, 78 __IFLA_IPTUN_MAX,
78}; 79};
79#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1) 80#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
diff --git a/include/uapi/linux/inet_diag.h b/include/uapi/linux/inet_diag.h
index 5581206a08ae..509cd961068d 100644
--- a/include/uapi/linux/inet_diag.h
+++ b/include/uapi/linux/inet_diag.h
@@ -123,6 +123,8 @@ enum {
123 INET_DIAG_LOCALS, 123 INET_DIAG_LOCALS,
124 INET_DIAG_PEERS, 124 INET_DIAG_PEERS,
125 INET_DIAG_PAD, 125 INET_DIAG_PAD,
126 INET_DIAG_MARK,
127 INET_DIAG_BBRINFO,
126 __INET_DIAG_MAX, 128 __INET_DIAG_MAX,
127}; 129};
128 130
@@ -156,8 +158,20 @@ struct tcp_dctcp_info {
156 __u32 dctcp_ab_tot; 158 __u32 dctcp_ab_tot;
157}; 159};
158 160
161/* INET_DIAG_BBRINFO */
162
163struct tcp_bbr_info {
164 /* u64 bw: max-filtered BW (app throughput) estimate in Byte per sec: */
165 __u32 bbr_bw_lo; /* lower 32 bits of bw */
166 __u32 bbr_bw_hi; /* upper 32 bits of bw */
167 __u32 bbr_min_rtt; /* min-filtered RTT in uSec */
168 __u32 bbr_pacing_gain; /* pacing gain shifted left 8 bits */
169 __u32 bbr_cwnd_gain; /* cwnd gain shifted left 8 bits */
170};
171
159union tcp_cc_info { 172union tcp_cc_info {
160 struct tcpvegas_info vegas; 173 struct tcpvegas_info vegas;
161 struct tcp_dctcp_info dctcp; 174 struct tcp_dctcp_info dctcp;
175 struct tcp_bbr_info bbr;
162}; 176};
163#endif /* _UAPI_INET_DIAG_H_ */ 177#endif /* _UAPI_INET_DIAG_H_ */
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h
index 54c3b4f4aceb..59ed3992c760 100644
--- a/include/uapi/linux/openvswitch.h
+++ b/include/uapi/linux/openvswitch.h
@@ -605,13 +605,13 @@ struct ovs_action_push_mpls {
605 * @vlan_tci: Tag control identifier (TCI) to push. The CFI bit must be set 605 * @vlan_tci: Tag control identifier (TCI) to push. The CFI bit must be set
606 * (but it will not be set in the 802.1Q header that is pushed). 606 * (but it will not be set in the 802.1Q header that is pushed).
607 * 607 *
608 * The @vlan_tpid value is typically %ETH_P_8021Q. The only acceptable TPID 608 * The @vlan_tpid value is typically %ETH_P_8021Q or %ETH_P_8021AD.
609 * values are those that the kernel module also parses as 802.1Q headers, to 609 * The only acceptable TPID values are those that the kernel module also parses
610 * prevent %OVS_ACTION_ATTR_PUSH_VLAN followed by %OVS_ACTION_ATTR_POP_VLAN 610 * as 802.1Q or 802.1AD headers, to prevent %OVS_ACTION_ATTR_PUSH_VLAN followed
611 * from having surprising results. 611 * by %OVS_ACTION_ATTR_POP_VLAN from having surprising results.
612 */ 612 */
613struct ovs_action_push_vlan { 613struct ovs_action_push_vlan {
614 __be16 vlan_tpid; /* 802.1Q TPID. */ 614 __be16 vlan_tpid; /* 802.1Q or 802.1ad TPID. */
615 __be16 vlan_tci; /* 802.1Q TCI (VLAN ID and priority). */ 615 __be16 vlan_tci; /* 802.1Q TCI (VLAN ID and priority). */
616}; 616};
617 617
@@ -721,9 +721,10 @@ enum ovs_nat_attr {
721 * is copied from the value to the packet header field, rest of the bits are 721 * is copied from the value to the packet header field, rest of the bits are
722 * left unchanged. The non-masked value bits must be passed in as zeroes. 722 * left unchanged. The non-masked value bits must be passed in as zeroes.
723 * Masking is not supported for the %OVS_KEY_ATTR_TUNNEL attribute. 723 * Masking is not supported for the %OVS_KEY_ATTR_TUNNEL attribute.
724 * @OVS_ACTION_ATTR_PUSH_VLAN: Push a new outermost 802.1Q header onto the 724 * @OVS_ACTION_ATTR_PUSH_VLAN: Push a new outermost 802.1Q or 802.1ad header
725 * packet. 725 * onto the packet.
726 * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet. 726 * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q or 802.1ad header
727 * from the packet.
727 * @OVS_ACTION_ATTR_SAMPLE: Probabilitically executes actions, as specified in 728 * @OVS_ACTION_ATTR_SAMPLE: Probabilitically executes actions, as specified in
728 * the nested %OVS_SAMPLE_ATTR_* attributes. 729 * the nested %OVS_SAMPLE_ATTR_* attributes.
729 * @OVS_ACTION_ATTR_PUSH_MPLS: Push a new MPLS label stack entry onto the 730 * @OVS_ACTION_ATTR_PUSH_MPLS: Push a new MPLS label stack entry onto the
diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h
index 51b5b247fb5a..8fd715f806a2 100644
--- a/include/uapi/linux/pkt_cls.h
+++ b/include/uapi/linux/pkt_cls.h
@@ -396,6 +396,7 @@ enum {
396 TCA_BPF_FD, 396 TCA_BPF_FD,
397 TCA_BPF_NAME, 397 TCA_BPF_NAME,
398 TCA_BPF_FLAGS, 398 TCA_BPF_FLAGS,
399 TCA_BPF_FLAGS_GEN,
399 __TCA_BPF_MAX, 400 __TCA_BPF_MAX,
400}; 401};
401 402
@@ -428,9 +429,24 @@ enum {
428 TCA_FLOWER_KEY_UDP_DST, /* be16 */ 429 TCA_FLOWER_KEY_UDP_DST, /* be16 */
429 430
430 TCA_FLOWER_FLAGS, 431 TCA_FLOWER_FLAGS,
431 TCA_FLOWER_KEY_VLAN_ID, 432 TCA_FLOWER_KEY_VLAN_ID, /* be16 */
432 TCA_FLOWER_KEY_VLAN_PRIO, 433 TCA_FLOWER_KEY_VLAN_PRIO, /* u8 */
433 TCA_FLOWER_KEY_VLAN_ETH_TYPE, 434 TCA_FLOWER_KEY_VLAN_ETH_TYPE, /* be16 */
435
436 TCA_FLOWER_KEY_ENC_KEY_ID, /* be32 */
437 TCA_FLOWER_KEY_ENC_IPV4_SRC, /* be32 */
438 TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK,/* be32 */
439 TCA_FLOWER_KEY_ENC_IPV4_DST, /* be32 */
440 TCA_FLOWER_KEY_ENC_IPV4_DST_MASK,/* be32 */
441 TCA_FLOWER_KEY_ENC_IPV6_SRC, /* struct in6_addr */
442 TCA_FLOWER_KEY_ENC_IPV6_SRC_MASK,/* struct in6_addr */
443 TCA_FLOWER_KEY_ENC_IPV6_DST, /* struct in6_addr */
444 TCA_FLOWER_KEY_ENC_IPV6_DST_MASK,/* struct in6_addr */
445
446 TCA_FLOWER_KEY_TCP_SRC_MASK, /* be16 */
447 TCA_FLOWER_KEY_TCP_DST_MASK, /* be16 */
448 TCA_FLOWER_KEY_UDP_SRC_MASK, /* be16 */
449 TCA_FLOWER_KEY_UDP_DST_MASK, /* be16 */
434 __TCA_FLOWER_MAX, 450 __TCA_FLOWER_MAX,
435}; 451};
436 452
diff --git a/include/uapi/linux/pkt_sched.h b/include/uapi/linux/pkt_sched.h
index 2382eed50278..df7451d35131 100644
--- a/include/uapi/linux/pkt_sched.h
+++ b/include/uapi/linux/pkt_sched.h
@@ -792,6 +792,8 @@ enum {
792 792
793 TCA_FQ_ORPHAN_MASK, /* mask applied to orphaned skb hashes */ 793 TCA_FQ_ORPHAN_MASK, /* mask applied to orphaned skb hashes */
794 794
795 TCA_FQ_LOW_RATE_THRESHOLD, /* per packet delay under this rate */
796
795 __TCA_FQ_MAX 797 __TCA_FQ_MAX
796}; 798};
797 799
@@ -809,7 +811,7 @@ struct tc_fq_qd_stats {
809 __u32 flows; 811 __u32 flows;
810 __u32 inactive_flows; 812 __u32 inactive_flows;
811 __u32 throttled_flows; 813 __u32 throttled_flows;
812 __u32 pad; 814 __u32 unthrottle_latency_ns;
813}; 815};
814 816
815/* Heavy-Hitter Filter */ 817/* Heavy-Hitter Filter */
diff --git a/include/uapi/linux/tc_act/tc_ife.h b/include/uapi/linux/tc_act/tc_ife.h
index 4ece02a77b9a..cd18360eca24 100644
--- a/include/uapi/linux/tc_act/tc_ife.h
+++ b/include/uapi/linux/tc_act/tc_ife.h
@@ -32,8 +32,9 @@ enum {
32#define IFE_META_HASHID 2 32#define IFE_META_HASHID 2
33#define IFE_META_PRIO 3 33#define IFE_META_PRIO 3
34#define IFE_META_QMAP 4 34#define IFE_META_QMAP 4
35#define IFE_META_TCINDEX 5
35/*Can be overridden at runtime by module option*/ 36/*Can be overridden at runtime by module option*/
36#define __IFE_META_MAX 5 37#define __IFE_META_MAX 6
37#define IFE_META_MAX (__IFE_META_MAX - 1) 38#define IFE_META_MAX (__IFE_META_MAX - 1)
38 39
39#endif 40#endif
diff --git a/include/uapi/linux/tc_act/tc_skbmod.h b/include/uapi/linux/tc_act/tc_skbmod.h
new file mode 100644
index 000000000000..10fc07da6c69
--- /dev/null
+++ b/include/uapi/linux/tc_act/tc_skbmod.h
@@ -0,0 +1,39 @@
1/*
2 * Copyright (c) 2016, Jamal Hadi Salim
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8*/
9
10#ifndef __LINUX_TC_SKBMOD_H
11#define __LINUX_TC_SKBMOD_H
12
13#include <linux/pkt_cls.h>
14
15#define TCA_ACT_SKBMOD 15
16
17#define SKBMOD_F_DMAC 0x1
18#define SKBMOD_F_SMAC 0x2
19#define SKBMOD_F_ETYPE 0x4
20#define SKBMOD_F_SWAPMAC 0x8
21
22struct tc_skbmod {
23 tc_gen;
24 __u64 flags;
25};
26
27enum {
28 TCA_SKBMOD_UNSPEC,
29 TCA_SKBMOD_TM,
30 TCA_SKBMOD_PARMS,
31 TCA_SKBMOD_DMAC,
32 TCA_SKBMOD_SMAC,
33 TCA_SKBMOD_ETYPE,
34 TCA_SKBMOD_PAD,
35 __TCA_SKBMOD_MAX
36};
37#define TCA_SKBMOD_MAX (__TCA_SKBMOD_MAX - 1)
38
39#endif
diff --git a/include/uapi/linux/tc_act/tc_tunnel_key.h b/include/uapi/linux/tc_act/tc_tunnel_key.h
new file mode 100644
index 000000000000..890106ff16e6
--- /dev/null
+++ b/include/uapi/linux/tc_act/tc_tunnel_key.h
@@ -0,0 +1,41 @@
1/*
2 * Copyright (c) 2016, Amir Vadai <amir@vadai.me>
3 * Copyright (c) 2016, Mellanox Technologies. All rights reserved.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 */
10
11#ifndef __LINUX_TC_TUNNEL_KEY_H
12#define __LINUX_TC_TUNNEL_KEY_H
13
14#include <linux/pkt_cls.h>
15
16#define TCA_ACT_TUNNEL_KEY 17
17
18#define TCA_TUNNEL_KEY_ACT_SET 1
19#define TCA_TUNNEL_KEY_ACT_RELEASE 2
20
21struct tc_tunnel_key {
22 tc_gen;
23 int t_action;
24};
25
26enum {
27 TCA_TUNNEL_KEY_UNSPEC,
28 TCA_TUNNEL_KEY_TM,
29 TCA_TUNNEL_KEY_PARMS,
30 TCA_TUNNEL_KEY_ENC_IPV4_SRC, /* be32 */
31 TCA_TUNNEL_KEY_ENC_IPV4_DST, /* be32 */
32 TCA_TUNNEL_KEY_ENC_IPV6_SRC, /* struct in6_addr */
33 TCA_TUNNEL_KEY_ENC_IPV6_DST, /* struct in6_addr */
34 TCA_TUNNEL_KEY_ENC_KEY_ID, /* be64 */
35 TCA_TUNNEL_KEY_PAD,
36 __TCA_TUNNEL_KEY_MAX,
37};
38
39#define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1)
40
41#endif
diff --git a/include/uapi/linux/tc_act/tc_vlan.h b/include/uapi/linux/tc_act/tc_vlan.h
index be72b6e3843b..bddb272b843f 100644
--- a/include/uapi/linux/tc_act/tc_vlan.h
+++ b/include/uapi/linux/tc_act/tc_vlan.h
@@ -16,6 +16,7 @@
16 16
17#define TCA_VLAN_ACT_POP 1 17#define TCA_VLAN_ACT_POP 1
18#define TCA_VLAN_ACT_PUSH 2 18#define TCA_VLAN_ACT_PUSH 2
19#define TCA_VLAN_ACT_MODIFY 3
19 20
20struct tc_vlan { 21struct tc_vlan {
21 tc_gen; 22 tc_gen;
diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h
index 482898fc433a..73ac0db487f8 100644
--- a/include/uapi/linux/tcp.h
+++ b/include/uapi/linux/tcp.h
@@ -167,6 +167,7 @@ struct tcp_info {
167 __u8 tcpi_backoff; 167 __u8 tcpi_backoff;
168 __u8 tcpi_options; 168 __u8 tcpi_options;
169 __u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; 169 __u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
170 __u8 tcpi_delivery_rate_app_limited:1;
170 171
171 __u32 tcpi_rto; 172 __u32 tcpi_rto;
172 __u32 tcpi_ato; 173 __u32 tcpi_ato;
@@ -211,6 +212,8 @@ struct tcp_info {
211 __u32 tcpi_min_rtt; 212 __u32 tcpi_min_rtt;
212 __u32 tcpi_data_segs_in; /* RFC4898 tcpEStatsDataSegsIn */ 213 __u32 tcpi_data_segs_in; /* RFC4898 tcpEStatsDataSegsIn */
213 __u32 tcpi_data_segs_out; /* RFC4898 tcpEStatsDataSegsOut */ 214 __u32 tcpi_data_segs_out; /* RFC4898 tcpEStatsDataSegsOut */
215
216 __u64 tcpi_delivery_rate;
214}; 217};
215 218
216/* for TCP_MD5SIG socket option */ 219/* for TCP_MD5SIG socket option */
diff --git a/include/uapi/linux/xfrm.h b/include/uapi/linux/xfrm.h
index 143338978b48..1fc62b239f1b 100644
--- a/include/uapi/linux/xfrm.h
+++ b/include/uapi/linux/xfrm.h
@@ -298,7 +298,7 @@ enum xfrm_attr_type_t {
298 XFRMA_ALG_AUTH_TRUNC, /* struct xfrm_algo_auth */ 298 XFRMA_ALG_AUTH_TRUNC, /* struct xfrm_algo_auth */
299 XFRMA_MARK, /* struct xfrm_mark */ 299 XFRMA_MARK, /* struct xfrm_mark */
300 XFRMA_TFCPAD, /* __u32 */ 300 XFRMA_TFCPAD, /* __u32 */
301 XFRMA_REPLAY_ESN_VAL, /* struct xfrm_replay_esn */ 301 XFRMA_REPLAY_ESN_VAL, /* struct xfrm_replay_state_esn */
302 XFRMA_SA_EXTRA_FLAGS, /* __u32 */ 302 XFRMA_SA_EXTRA_FLAGS, /* __u32 */
303 XFRMA_PROTO, /* __u8 */ 303 XFRMA_PROTO, /* __u8 */
304 XFRMA_ADDRESS_FILTER, /* struct xfrm_address_filter */ 304 XFRMA_ADDRESS_FILTER, /* struct xfrm_address_filter */