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) Betweenc73c248490
("netfilter: nf_tables_netdev: remove redundant ip_hdr assignment") from the net tree and commitddc8b6027a
("netfilter: introduce nft_set_pktinfo_{ipv4, ipv6}_validate()"). 2) Betweene8bffe0cf9
("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>
This commit is contained in:
@@ -398,6 +398,34 @@ enum bpf_func_id {
|
||||
*/
|
||||
BPF_FUNC_skb_change_tail,
|
||||
|
||||
/**
|
||||
* bpf_skb_pull_data(skb, len)
|
||||
* The helper will pull in non-linear data in case the
|
||||
* skb is non-linear and not all of len are part of the
|
||||
* linear section. Only needed for read/write with direct
|
||||
* packet access.
|
||||
* @skb: pointer to skb
|
||||
* @len: len to make read/writeable
|
||||
* Return: 0 on success or negative error
|
||||
*/
|
||||
BPF_FUNC_skb_pull_data,
|
||||
|
||||
/**
|
||||
* bpf_csum_update(skb, csum)
|
||||
* Adds csum into skb->csum in case of CHECKSUM_COMPLETE.
|
||||
* @skb: pointer to skb
|
||||
* @csum: csum to add
|
||||
* Return: csum on success or negative error
|
||||
*/
|
||||
BPF_FUNC_csum_update,
|
||||
|
||||
/**
|
||||
* bpf_set_hash_invalid(skb)
|
||||
* Invalidate current skb>hash.
|
||||
* @skb: pointer to skb
|
||||
*/
|
||||
BPF_FUNC_set_hash_invalid,
|
||||
|
||||
__BPF_FUNC_MAX_ID,
|
||||
};
|
||||
|
||||
|
@@ -464,6 +464,7 @@ enum {
|
||||
enum ipvlan_mode {
|
||||
IPVLAN_MODE_L2 = 0,
|
||||
IPVLAN_MODE_L3,
|
||||
IPVLAN_MODE_L3S,
|
||||
IPVLAN_MODE_MAX
|
||||
};
|
||||
|
||||
@@ -618,7 +619,7 @@ enum {
|
||||
enum {
|
||||
IFLA_VF_UNSPEC,
|
||||
IFLA_VF_MAC, /* Hardware queue specific attributes */
|
||||
IFLA_VF_VLAN,
|
||||
IFLA_VF_VLAN, /* VLAN ID and QoS */
|
||||
IFLA_VF_TX_RATE, /* Max TX Bandwidth Allocation */
|
||||
IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */
|
||||
IFLA_VF_LINK_STATE, /* link state enable/disable/auto switch */
|
||||
@@ -630,6 +631,7 @@ enum {
|
||||
IFLA_VF_TRUST, /* Trust VF */
|
||||
IFLA_VF_IB_NODE_GUID, /* VF Infiniband node GUID */
|
||||
IFLA_VF_IB_PORT_GUID, /* VF Infiniband port GUID */
|
||||
IFLA_VF_VLAN_LIST, /* nested list of vlans, option for QinQ */
|
||||
__IFLA_VF_MAX,
|
||||
};
|
||||
|
||||
@@ -646,6 +648,22 @@ struct ifla_vf_vlan {
|
||||
__u32 qos;
|
||||
};
|
||||
|
||||
enum {
|
||||
IFLA_VF_VLAN_INFO_UNSPEC,
|
||||
IFLA_VF_VLAN_INFO, /* VLAN ID, QoS and VLAN protocol */
|
||||
__IFLA_VF_VLAN_INFO_MAX,
|
||||
};
|
||||
|
||||
#define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1)
|
||||
#define MAX_VLAN_LIST_LEN 1
|
||||
|
||||
struct ifla_vf_vlan_info {
|
||||
__u32 vf;
|
||||
__u32 vlan; /* 0 - 4095, 0 disables VLAN filter */
|
||||
__u32 qos;
|
||||
__be16 vlan_proto; /* VLAN protocol either 802.1Q or 802.1ad */
|
||||
};
|
||||
|
||||
struct ifla_vf_tx_rate {
|
||||
__u32 vf;
|
||||
__u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */
|
||||
@@ -826,6 +844,7 @@ enum {
|
||||
IFLA_STATS_LINK_64,
|
||||
IFLA_STATS_LINK_XSTATS,
|
||||
IFLA_STATS_LINK_XSTATS_SLAVE,
|
||||
IFLA_STATS_LINK_OFFLOAD_XSTATS,
|
||||
__IFLA_STATS_MAX,
|
||||
};
|
||||
|
||||
@@ -845,6 +864,14 @@ enum {
|
||||
};
|
||||
#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
|
||||
|
||||
/* These are stats embedded into IFLA_STATS_LINK_OFFLOAD_XSTATS */
|
||||
enum {
|
||||
IFLA_OFFLOAD_XSTATS_UNSPEC,
|
||||
IFLA_OFFLOAD_XSTATS_CPU_HIT, /* struct rtnl_link_stats64 */
|
||||
__IFLA_OFFLOAD_XSTATS_MAX
|
||||
};
|
||||
#define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1)
|
||||
|
||||
/* XDP section */
|
||||
|
||||
enum {
|
||||
|
@@ -74,6 +74,7 @@ enum {
|
||||
IFLA_IPTUN_ENCAP_FLAGS,
|
||||
IFLA_IPTUN_ENCAP_SPORT,
|
||||
IFLA_IPTUN_ENCAP_DPORT,
|
||||
IFLA_IPTUN_COLLECT_METADATA,
|
||||
__IFLA_IPTUN_MAX,
|
||||
};
|
||||
#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
|
||||
|
@@ -123,6 +123,8 @@ enum {
|
||||
INET_DIAG_LOCALS,
|
||||
INET_DIAG_PEERS,
|
||||
INET_DIAG_PAD,
|
||||
INET_DIAG_MARK,
|
||||
INET_DIAG_BBRINFO,
|
||||
__INET_DIAG_MAX,
|
||||
};
|
||||
|
||||
@@ -156,8 +158,20 @@ struct tcp_dctcp_info {
|
||||
__u32 dctcp_ab_tot;
|
||||
};
|
||||
|
||||
/* INET_DIAG_BBRINFO */
|
||||
|
||||
struct tcp_bbr_info {
|
||||
/* u64 bw: max-filtered BW (app throughput) estimate in Byte per sec: */
|
||||
__u32 bbr_bw_lo; /* lower 32 bits of bw */
|
||||
__u32 bbr_bw_hi; /* upper 32 bits of bw */
|
||||
__u32 bbr_min_rtt; /* min-filtered RTT in uSec */
|
||||
__u32 bbr_pacing_gain; /* pacing gain shifted left 8 bits */
|
||||
__u32 bbr_cwnd_gain; /* cwnd gain shifted left 8 bits */
|
||||
};
|
||||
|
||||
union tcp_cc_info {
|
||||
struct tcpvegas_info vegas;
|
||||
struct tcp_dctcp_info dctcp;
|
||||
struct tcp_bbr_info bbr;
|
||||
};
|
||||
#endif /* _UAPI_INET_DIAG_H_ */
|
||||
|
@@ -605,13 +605,13 @@ struct ovs_action_push_mpls {
|
||||
* @vlan_tci: Tag control identifier (TCI) to push. The CFI bit must be set
|
||||
* (but it will not be set in the 802.1Q header that is pushed).
|
||||
*
|
||||
* The @vlan_tpid value is typically %ETH_P_8021Q. The only acceptable TPID
|
||||
* values are those that the kernel module also parses as 802.1Q headers, to
|
||||
* prevent %OVS_ACTION_ATTR_PUSH_VLAN followed by %OVS_ACTION_ATTR_POP_VLAN
|
||||
* from having surprising results.
|
||||
* The @vlan_tpid value is typically %ETH_P_8021Q or %ETH_P_8021AD.
|
||||
* The only acceptable TPID values are those that the kernel module also parses
|
||||
* as 802.1Q or 802.1AD headers, to prevent %OVS_ACTION_ATTR_PUSH_VLAN followed
|
||||
* by %OVS_ACTION_ATTR_POP_VLAN from having surprising results.
|
||||
*/
|
||||
struct ovs_action_push_vlan {
|
||||
__be16 vlan_tpid; /* 802.1Q TPID. */
|
||||
__be16 vlan_tpid; /* 802.1Q or 802.1ad TPID. */
|
||||
__be16 vlan_tci; /* 802.1Q TCI (VLAN ID and priority). */
|
||||
};
|
||||
|
||||
@@ -721,9 +721,10 @@ enum ovs_nat_attr {
|
||||
* is copied from the value to the packet header field, rest of the bits are
|
||||
* left unchanged. The non-masked value bits must be passed in as zeroes.
|
||||
* Masking is not supported for the %OVS_KEY_ATTR_TUNNEL attribute.
|
||||
* @OVS_ACTION_ATTR_PUSH_VLAN: Push a new outermost 802.1Q header onto the
|
||||
* packet.
|
||||
* @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet.
|
||||
* @OVS_ACTION_ATTR_PUSH_VLAN: Push a new outermost 802.1Q or 802.1ad header
|
||||
* onto the packet.
|
||||
* @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q or 802.1ad header
|
||||
* from the packet.
|
||||
* @OVS_ACTION_ATTR_SAMPLE: Probabilitically executes actions, as specified in
|
||||
* the nested %OVS_SAMPLE_ATTR_* attributes.
|
||||
* @OVS_ACTION_ATTR_PUSH_MPLS: Push a new MPLS label stack entry onto the
|
||||
|
@@ -396,6 +396,7 @@ enum {
|
||||
TCA_BPF_FD,
|
||||
TCA_BPF_NAME,
|
||||
TCA_BPF_FLAGS,
|
||||
TCA_BPF_FLAGS_GEN,
|
||||
__TCA_BPF_MAX,
|
||||
};
|
||||
|
||||
@@ -428,9 +429,24 @@ enum {
|
||||
TCA_FLOWER_KEY_UDP_DST, /* be16 */
|
||||
|
||||
TCA_FLOWER_FLAGS,
|
||||
TCA_FLOWER_KEY_VLAN_ID,
|
||||
TCA_FLOWER_KEY_VLAN_PRIO,
|
||||
TCA_FLOWER_KEY_VLAN_ETH_TYPE,
|
||||
TCA_FLOWER_KEY_VLAN_ID, /* be16 */
|
||||
TCA_FLOWER_KEY_VLAN_PRIO, /* u8 */
|
||||
TCA_FLOWER_KEY_VLAN_ETH_TYPE, /* be16 */
|
||||
|
||||
TCA_FLOWER_KEY_ENC_KEY_ID, /* be32 */
|
||||
TCA_FLOWER_KEY_ENC_IPV4_SRC, /* be32 */
|
||||
TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK,/* be32 */
|
||||
TCA_FLOWER_KEY_ENC_IPV4_DST, /* be32 */
|
||||
TCA_FLOWER_KEY_ENC_IPV4_DST_MASK,/* be32 */
|
||||
TCA_FLOWER_KEY_ENC_IPV6_SRC, /* struct in6_addr */
|
||||
TCA_FLOWER_KEY_ENC_IPV6_SRC_MASK,/* struct in6_addr */
|
||||
TCA_FLOWER_KEY_ENC_IPV6_DST, /* struct in6_addr */
|
||||
TCA_FLOWER_KEY_ENC_IPV6_DST_MASK,/* struct in6_addr */
|
||||
|
||||
TCA_FLOWER_KEY_TCP_SRC_MASK, /* be16 */
|
||||
TCA_FLOWER_KEY_TCP_DST_MASK, /* be16 */
|
||||
TCA_FLOWER_KEY_UDP_SRC_MASK, /* be16 */
|
||||
TCA_FLOWER_KEY_UDP_DST_MASK, /* be16 */
|
||||
__TCA_FLOWER_MAX,
|
||||
};
|
||||
|
||||
|
@@ -792,6 +792,8 @@ enum {
|
||||
|
||||
TCA_FQ_ORPHAN_MASK, /* mask applied to orphaned skb hashes */
|
||||
|
||||
TCA_FQ_LOW_RATE_THRESHOLD, /* per packet delay under this rate */
|
||||
|
||||
__TCA_FQ_MAX
|
||||
};
|
||||
|
||||
@@ -809,7 +811,7 @@ struct tc_fq_qd_stats {
|
||||
__u32 flows;
|
||||
__u32 inactive_flows;
|
||||
__u32 throttled_flows;
|
||||
__u32 pad;
|
||||
__u32 unthrottle_latency_ns;
|
||||
};
|
||||
|
||||
/* Heavy-Hitter Filter */
|
||||
|
@@ -32,8 +32,9 @@ enum {
|
||||
#define IFE_META_HASHID 2
|
||||
#define IFE_META_PRIO 3
|
||||
#define IFE_META_QMAP 4
|
||||
#define IFE_META_TCINDEX 5
|
||||
/*Can be overridden at runtime by module option*/
|
||||
#define __IFE_META_MAX 5
|
||||
#define __IFE_META_MAX 6
|
||||
#define IFE_META_MAX (__IFE_META_MAX - 1)
|
||||
|
||||
#endif
|
||||
|
39
include/uapi/linux/tc_act/tc_skbmod.h
Normal file
39
include/uapi/linux/tc_act/tc_skbmod.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (c) 2016, Jamal Hadi Salim
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_TC_SKBMOD_H
|
||||
#define __LINUX_TC_SKBMOD_H
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_SKBMOD 15
|
||||
|
||||
#define SKBMOD_F_DMAC 0x1
|
||||
#define SKBMOD_F_SMAC 0x2
|
||||
#define SKBMOD_F_ETYPE 0x4
|
||||
#define SKBMOD_F_SWAPMAC 0x8
|
||||
|
||||
struct tc_skbmod {
|
||||
tc_gen;
|
||||
__u64 flags;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_SKBMOD_UNSPEC,
|
||||
TCA_SKBMOD_TM,
|
||||
TCA_SKBMOD_PARMS,
|
||||
TCA_SKBMOD_DMAC,
|
||||
TCA_SKBMOD_SMAC,
|
||||
TCA_SKBMOD_ETYPE,
|
||||
TCA_SKBMOD_PAD,
|
||||
__TCA_SKBMOD_MAX
|
||||
};
|
||||
#define TCA_SKBMOD_MAX (__TCA_SKBMOD_MAX - 1)
|
||||
|
||||
#endif
|
41
include/uapi/linux/tc_act/tc_tunnel_key.h
Normal file
41
include/uapi/linux/tc_act/tc_tunnel_key.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (c) 2016, Amir Vadai <amir@vadai.me>
|
||||
* Copyright (c) 2016, Mellanox Technologies. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_TC_TUNNEL_KEY_H
|
||||
#define __LINUX_TC_TUNNEL_KEY_H
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_TUNNEL_KEY 17
|
||||
|
||||
#define TCA_TUNNEL_KEY_ACT_SET 1
|
||||
#define TCA_TUNNEL_KEY_ACT_RELEASE 2
|
||||
|
||||
struct tc_tunnel_key {
|
||||
tc_gen;
|
||||
int t_action;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_TUNNEL_KEY_UNSPEC,
|
||||
TCA_TUNNEL_KEY_TM,
|
||||
TCA_TUNNEL_KEY_PARMS,
|
||||
TCA_TUNNEL_KEY_ENC_IPV4_SRC, /* be32 */
|
||||
TCA_TUNNEL_KEY_ENC_IPV4_DST, /* be32 */
|
||||
TCA_TUNNEL_KEY_ENC_IPV6_SRC, /* struct in6_addr */
|
||||
TCA_TUNNEL_KEY_ENC_IPV6_DST, /* struct in6_addr */
|
||||
TCA_TUNNEL_KEY_ENC_KEY_ID, /* be64 */
|
||||
TCA_TUNNEL_KEY_PAD,
|
||||
__TCA_TUNNEL_KEY_MAX,
|
||||
};
|
||||
|
||||
#define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1)
|
||||
|
||||
#endif
|
@@ -16,6 +16,7 @@
|
||||
|
||||
#define TCA_VLAN_ACT_POP 1
|
||||
#define TCA_VLAN_ACT_PUSH 2
|
||||
#define TCA_VLAN_ACT_MODIFY 3
|
||||
|
||||
struct tc_vlan {
|
||||
tc_gen;
|
||||
|
@@ -167,6 +167,7 @@ struct tcp_info {
|
||||
__u8 tcpi_backoff;
|
||||
__u8 tcpi_options;
|
||||
__u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
|
||||
__u8 tcpi_delivery_rate_app_limited:1;
|
||||
|
||||
__u32 tcpi_rto;
|
||||
__u32 tcpi_ato;
|
||||
@@ -211,6 +212,8 @@ struct tcp_info {
|
||||
__u32 tcpi_min_rtt;
|
||||
__u32 tcpi_data_segs_in; /* RFC4898 tcpEStatsDataSegsIn */
|
||||
__u32 tcpi_data_segs_out; /* RFC4898 tcpEStatsDataSegsOut */
|
||||
|
||||
__u64 tcpi_delivery_rate;
|
||||
};
|
||||
|
||||
/* for TCP_MD5SIG socket option */
|
||||
|
@@ -298,7 +298,7 @@ enum xfrm_attr_type_t {
|
||||
XFRMA_ALG_AUTH_TRUNC, /* struct xfrm_algo_auth */
|
||||
XFRMA_MARK, /* struct xfrm_mark */
|
||||
XFRMA_TFCPAD, /* __u32 */
|
||||
XFRMA_REPLAY_ESN_VAL, /* struct xfrm_replay_esn */
|
||||
XFRMA_REPLAY_ESN_VAL, /* struct xfrm_replay_state_esn */
|
||||
XFRMA_SA_EXTRA_FLAGS, /* __u32 */
|
||||
XFRMA_PROTO, /* __u8 */
|
||||
XFRMA_ADDRESS_FILTER, /* struct xfrm_address_filter */
|
||||
|
Reference in New Issue
Block a user