diff options
| author | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-09-25 17:23:57 -0400 |
|---|---|---|
| committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-09-25 17:34:19 -0400 |
| commit | f20fbc0717f9f007c94b2641134b19228d0ce9ed (patch) | |
| tree | 1404248ebbec552a3fb7928b75322b65d74de1bd /include/uapi/linux | |
| parent | 8cb2a7d5667ab9a9c2fdd356357b85b63b320901 (diff) | |
| parent | fe0acb5fcb7fe8cb3d68bbdb8459865c972d8f83 (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.h | 28 | ||||
| -rw-r--r-- | include/uapi/linux/if_link.h | 29 | ||||
| -rw-r--r-- | include/uapi/linux/if_tunnel.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/inet_diag.h | 14 | ||||
| -rw-r--r-- | include/uapi/linux/openvswitch.h | 17 | ||||
| -rw-r--r-- | include/uapi/linux/pkt_cls.h | 22 | ||||
| -rw-r--r-- | include/uapi/linux/pkt_sched.h | 4 | ||||
| -rw-r--r-- | include/uapi/linux/tc_act/tc_ife.h | 3 | ||||
| -rw-r--r-- | include/uapi/linux/tc_act/tc_skbmod.h | 39 | ||||
| -rw-r--r-- | include/uapi/linux/tc_act/tc_tunnel_key.h | 41 | ||||
| -rw-r--r-- | include/uapi/linux/tc_act/tc_vlan.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/tcp.h | 3 | ||||
| -rw-r--r-- | include/uapi/linux/xfrm.h | 2 |
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 { | |||
| 464 | enum ipvlan_mode { | 464 | enum 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 { | |||
| 618 | enum { | 619 | enum { |
| 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 | ||
| 651 | enum { | ||
| 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 | |||
| 660 | struct 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 | |||
| 649 | struct ifla_vf_tx_rate { | 667 | struct 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 */ | ||
| 868 | enum { | ||
| 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 | ||
| 850 | enum { | 877 | enum { |
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 | |||
| 163 | struct 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 | |||
| 159 | union tcp_cc_info { | 172 | union 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 | */ |
| 613 | struct ovs_action_push_vlan { | 613 | struct 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 | |||
| 22 | struct tc_skbmod { | ||
| 23 | tc_gen; | ||
| 24 | __u64 flags; | ||
| 25 | }; | ||
| 26 | |||
| 27 | enum { | ||
| 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 | |||
| 21 | struct tc_tunnel_key { | ||
| 22 | tc_gen; | ||
| 23 | int t_action; | ||
| 24 | }; | ||
| 25 | |||
| 26 | enum { | ||
| 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 | ||
| 20 | struct tc_vlan { | 21 | struct 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 */ |
