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 ...
This commit is contained in:
@@ -75,6 +75,11 @@ struct bpf_lpm_trie_key {
|
||||
__u8 data[0]; /* Arbitrary size */
|
||||
};
|
||||
|
||||
struct bpf_cgroup_storage_key {
|
||||
__u64 cgroup_inode_id; /* cgroup inode id */
|
||||
__u32 attach_type; /* program attach type */
|
||||
};
|
||||
|
||||
/* BPF syscall commands, see bpf(2) man-page for details. */
|
||||
enum bpf_cmd {
|
||||
BPF_MAP_CREATE,
|
||||
@@ -120,6 +125,8 @@ enum bpf_map_type {
|
||||
BPF_MAP_TYPE_CPUMAP,
|
||||
BPF_MAP_TYPE_XSKMAP,
|
||||
BPF_MAP_TYPE_SOCKHASH,
|
||||
BPF_MAP_TYPE_CGROUP_STORAGE,
|
||||
BPF_MAP_TYPE_REUSEPORT_SOCKARRAY,
|
||||
};
|
||||
|
||||
enum bpf_prog_type {
|
||||
@@ -144,6 +151,7 @@ enum bpf_prog_type {
|
||||
BPF_PROG_TYPE_CGROUP_SOCK_ADDR,
|
||||
BPF_PROG_TYPE_LWT_SEG6LOCAL,
|
||||
BPF_PROG_TYPE_LIRC_MODE2,
|
||||
BPF_PROG_TYPE_SK_REUSEPORT,
|
||||
};
|
||||
|
||||
enum bpf_attach_type {
|
||||
@@ -1371,6 +1379,20 @@ union bpf_attr {
|
||||
* A 8-byte long non-decreasing number on success, or 0 if the
|
||||
* socket field is missing inside *skb*.
|
||||
*
|
||||
* u64 bpf_get_socket_cookie(struct bpf_sock_addr *ctx)
|
||||
* Description
|
||||
* Equivalent to bpf_get_socket_cookie() helper that accepts
|
||||
* *skb*, but gets socket from **struct bpf_sock_addr** contex.
|
||||
* Return
|
||||
* A 8-byte long non-decreasing number.
|
||||
*
|
||||
* u64 bpf_get_socket_cookie(struct bpf_sock_ops *ctx)
|
||||
* Description
|
||||
* Equivalent to bpf_get_socket_cookie() helper that accepts
|
||||
* *skb*, but gets socket from **struct bpf_sock_ops** contex.
|
||||
* Return
|
||||
* A 8-byte long non-decreasing number.
|
||||
*
|
||||
* u32 bpf_get_socket_uid(struct sk_buff *skb)
|
||||
* Return
|
||||
* The owner UID of the socket associated to *skb*. If the socket
|
||||
@@ -1826,7 +1848,7 @@ union bpf_attr {
|
||||
* A non-negative value equal to or less than *size* on success,
|
||||
* or a negative error in case of failure.
|
||||
*
|
||||
* int skb_load_bytes_relative(const struct sk_buff *skb, u32 offset, void *to, u32 len, u32 start_header)
|
||||
* int bpf_skb_load_bytes_relative(const struct sk_buff *skb, u32 offset, void *to, u32 len, u32 start_header)
|
||||
* Description
|
||||
* This helper is similar to **bpf_skb_load_bytes**\ () in that
|
||||
* it provides an easy way to load *len* bytes from *offset*
|
||||
@@ -1877,7 +1899,7 @@ union bpf_attr {
|
||||
* * < 0 if any input argument is invalid
|
||||
* * 0 on success (packet is forwarded, nexthop neighbor exists)
|
||||
* * > 0 one of **BPF_FIB_LKUP_RET_** codes explaining why the
|
||||
* * packet is not forwarded or needs assist from full stack
|
||||
* packet is not forwarded or needs assist from full stack
|
||||
*
|
||||
* int bpf_sock_hash_update(struct bpf_sock_ops_kern *skops, struct bpf_map *map, void *key, u64 flags)
|
||||
* Description
|
||||
@@ -2033,7 +2055,6 @@ union bpf_attr {
|
||||
* This helper is only available is the kernel was compiled with
|
||||
* the **CONFIG_BPF_LIRC_MODE2** configuration option set to
|
||||
* "**y**".
|
||||
*
|
||||
* Return
|
||||
* 0
|
||||
*
|
||||
@@ -2053,7 +2074,6 @@ union bpf_attr {
|
||||
* This helper is only available is the kernel was compiled with
|
||||
* the **CONFIG_BPF_LIRC_MODE2** configuration option set to
|
||||
* "**y**".
|
||||
*
|
||||
* Return
|
||||
* 0
|
||||
*
|
||||
@@ -2073,10 +2093,54 @@ union bpf_attr {
|
||||
* Return
|
||||
* The id is returned or 0 in case the id could not be retrieved.
|
||||
*
|
||||
* u64 bpf_skb_ancestor_cgroup_id(struct sk_buff *skb, int ancestor_level)
|
||||
* Description
|
||||
* Return id of cgroup v2 that is ancestor of cgroup associated
|
||||
* with the *skb* at the *ancestor_level*. The root cgroup is at
|
||||
* *ancestor_level* zero and each step down the hierarchy
|
||||
* increments the level. If *ancestor_level* == level of cgroup
|
||||
* associated with *skb*, then return value will be same as that
|
||||
* of **bpf_skb_cgroup_id**\ ().
|
||||
*
|
||||
* The helper is useful to implement policies based on cgroups
|
||||
* that are upper in hierarchy than immediate cgroup associated
|
||||
* with *skb*.
|
||||
*
|
||||
* The format of returned id and helper limitations are same as in
|
||||
* **bpf_skb_cgroup_id**\ ().
|
||||
* Return
|
||||
* The id is returned or 0 in case the id could not be retrieved.
|
||||
*
|
||||
* u64 bpf_get_current_cgroup_id(void)
|
||||
* Return
|
||||
* A 64-bit integer containing the current cgroup id based
|
||||
* on the cgroup within which the current task is running.
|
||||
*
|
||||
* void* get_local_storage(void *map, u64 flags)
|
||||
* Description
|
||||
* Get the pointer to the local storage area.
|
||||
* The type and the size of the local storage is defined
|
||||
* by the *map* argument.
|
||||
* The *flags* meaning is specific for each map type,
|
||||
* and has to be 0 for cgroup local storage.
|
||||
*
|
||||
* Depending on the bpf program type, a local storage area
|
||||
* can be shared between multiple instances of the bpf program,
|
||||
* running simultaneously.
|
||||
*
|
||||
* A user should care about the synchronization by himself.
|
||||
* For example, by using the BPF_STX_XADD instruction to alter
|
||||
* the shared data.
|
||||
* Return
|
||||
* Pointer to the local storage area.
|
||||
*
|
||||
* int bpf_sk_select_reuseport(struct sk_reuseport_md *reuse, struct bpf_map *map, void *key, u64 flags)
|
||||
* Description
|
||||
* Select a SO_REUSEPORT sk from a BPF_MAP_TYPE_REUSEPORT_ARRAY map
|
||||
* It checks the selected sk is matching the incoming
|
||||
* request in the skb.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*/
|
||||
#define __BPF_FUNC_MAPPER(FN) \
|
||||
FN(unspec), \
|
||||
@@ -2159,7 +2223,10 @@ union bpf_attr {
|
||||
FN(rc_repeat), \
|
||||
FN(rc_keydown), \
|
||||
FN(skb_cgroup_id), \
|
||||
FN(get_current_cgroup_id),
|
||||
FN(get_current_cgroup_id), \
|
||||
FN(get_local_storage), \
|
||||
FN(sk_select_reuseport), \
|
||||
FN(skb_ancestor_cgroup_id),
|
||||
|
||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||
* function eBPF program intends to call
|
||||
@@ -2376,6 +2443,30 @@ struct sk_msg_md {
|
||||
__u32 local_port; /* stored in host byte order */
|
||||
};
|
||||
|
||||
struct sk_reuseport_md {
|
||||
/*
|
||||
* Start of directly accessible data. It begins from
|
||||
* the tcp/udp header.
|
||||
*/
|
||||
void *data;
|
||||
void *data_end; /* End of directly accessible data */
|
||||
/*
|
||||
* Total length of packet (starting from the tcp/udp header).
|
||||
* Note that the directly accessible bytes (data_end - data)
|
||||
* could be less than this "len". Those bytes could be
|
||||
* indirectly read by a helper "bpf_skb_load_bytes()".
|
||||
*/
|
||||
__u32 len;
|
||||
/*
|
||||
* Eth protocol in the mac header (network byte order). e.g.
|
||||
* ETH_P_IP(0x0800) and ETH_P_IPV6(0x86DD)
|
||||
*/
|
||||
__u32 eth_protocol;
|
||||
__u32 ip_protocol; /* IP protocol. e.g. IPPROTO_TCP, IPPROTO_UDP */
|
||||
__u32 bind_inany; /* Is sock bound to an INANY address? */
|
||||
__u32 hash; /* A hash of the packet 4 tuples */
|
||||
};
|
||||
|
||||
#define BPF_TAG_SIZE 8
|
||||
|
||||
struct bpf_prog_info {
|
||||
@@ -2557,6 +2648,9 @@ enum {
|
||||
* Arg1: old_state
|
||||
* Arg2: new_state
|
||||
*/
|
||||
BPF_SOCK_OPS_TCP_LISTEN_CB, /* Called on listen(2), right after
|
||||
* socket transition to LISTEN state.
|
||||
*/
|
||||
};
|
||||
|
||||
/* List of TCP states. There is a build check in net/ipv4/tcp.c to detect
|
||||
|
@@ -77,7 +77,7 @@ typedef __u32 canid_t;
|
||||
/*
|
||||
* Controller Area Network Error Message Frame Mask structure
|
||||
*
|
||||
* bit 0-28 : error class mask (see include/linux/can/error.h)
|
||||
* bit 0-28 : error class mask (see include/uapi/linux/can/error.h)
|
||||
* bit 29-31 : set to zero
|
||||
*/
|
||||
typedef __u32 can_err_mask_t;
|
||||
|
@@ -233,7 +233,8 @@ struct cee_pfc {
|
||||
* 2 Well known port number over TCP or SCTP
|
||||
* 3 Well known port number over UDP or DCCP
|
||||
* 4 Well known port number over TCP, SCTP, UDP, or DCCP
|
||||
* 5-7 Reserved
|
||||
* 5 Differentiated Services Code Point (DSCP) value
|
||||
* 6-7 Reserved
|
||||
*
|
||||
* Selector field values for CEE
|
||||
* 0 Ethertype
|
||||
|
@@ -78,6 +78,17 @@ enum devlink_command {
|
||||
*/
|
||||
DEVLINK_CMD_RELOAD,
|
||||
|
||||
DEVLINK_CMD_PARAM_GET, /* can dump */
|
||||
DEVLINK_CMD_PARAM_SET,
|
||||
DEVLINK_CMD_PARAM_NEW,
|
||||
DEVLINK_CMD_PARAM_DEL,
|
||||
|
||||
DEVLINK_CMD_REGION_GET,
|
||||
DEVLINK_CMD_REGION_SET,
|
||||
DEVLINK_CMD_REGION_NEW,
|
||||
DEVLINK_CMD_REGION_DEL,
|
||||
DEVLINK_CMD_REGION_READ,
|
||||
|
||||
/* add new commands above here */
|
||||
__DEVLINK_CMD_MAX,
|
||||
DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
|
||||
@@ -142,6 +153,16 @@ enum devlink_port_flavour {
|
||||
*/
|
||||
};
|
||||
|
||||
enum devlink_param_cmode {
|
||||
DEVLINK_PARAM_CMODE_RUNTIME,
|
||||
DEVLINK_PARAM_CMODE_DRIVERINIT,
|
||||
DEVLINK_PARAM_CMODE_PERMANENT,
|
||||
|
||||
/* Add new configuration modes above */
|
||||
__DEVLINK_PARAM_CMODE_MAX,
|
||||
DEVLINK_PARAM_CMODE_MAX = __DEVLINK_PARAM_CMODE_MAX - 1
|
||||
};
|
||||
|
||||
enum devlink_attr {
|
||||
/* don't change the order or add anything between, this is ABI! */
|
||||
DEVLINK_ATTR_UNSPEC,
|
||||
@@ -238,6 +259,27 @@ enum devlink_attr {
|
||||
DEVLINK_ATTR_PORT_NUMBER, /* u32 */
|
||||
DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER, /* u32 */
|
||||
|
||||
DEVLINK_ATTR_PARAM, /* nested */
|
||||
DEVLINK_ATTR_PARAM_NAME, /* string */
|
||||
DEVLINK_ATTR_PARAM_GENERIC, /* flag */
|
||||
DEVLINK_ATTR_PARAM_TYPE, /* u8 */
|
||||
DEVLINK_ATTR_PARAM_VALUES_LIST, /* nested */
|
||||
DEVLINK_ATTR_PARAM_VALUE, /* nested */
|
||||
DEVLINK_ATTR_PARAM_VALUE_DATA, /* dynamic */
|
||||
DEVLINK_ATTR_PARAM_VALUE_CMODE, /* u8 */
|
||||
|
||||
DEVLINK_ATTR_REGION_NAME, /* string */
|
||||
DEVLINK_ATTR_REGION_SIZE, /* u64 */
|
||||
DEVLINK_ATTR_REGION_SNAPSHOTS, /* nested */
|
||||
DEVLINK_ATTR_REGION_SNAPSHOT, /* nested */
|
||||
DEVLINK_ATTR_REGION_SNAPSHOT_ID, /* u32 */
|
||||
|
||||
DEVLINK_ATTR_REGION_CHUNKS, /* nested */
|
||||
DEVLINK_ATTR_REGION_CHUNK, /* nested */
|
||||
DEVLINK_ATTR_REGION_CHUNK_DATA, /* binary */
|
||||
DEVLINK_ATTR_REGION_CHUNK_ADDR, /* u64 */
|
||||
DEVLINK_ATTR_REGION_CHUNK_LEN, /* u64 */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
__DEVLINK_ATTR_MAX,
|
||||
|
@@ -20,12 +20,16 @@ struct sock_extended_err {
|
||||
#define SO_EE_ORIGIN_ICMP6 3
|
||||
#define SO_EE_ORIGIN_TXSTATUS 4
|
||||
#define SO_EE_ORIGIN_ZEROCOPY 5
|
||||
#define SO_EE_ORIGIN_TXTIME 6
|
||||
#define SO_EE_ORIGIN_TIMESTAMPING SO_EE_ORIGIN_TXSTATUS
|
||||
|
||||
#define SO_EE_OFFENDER(ee) ((struct sockaddr*)((ee)+1))
|
||||
|
||||
#define SO_EE_CODE_ZEROCOPY_COPIED 1
|
||||
|
||||
#define SO_EE_CODE_TXTIME_INVALID_PARAM 1
|
||||
#define SO_EE_CODE_TXTIME_MISSED 2
|
||||
|
||||
/**
|
||||
* struct scm_timestamping - timestamps exposed through cmsg
|
||||
*
|
||||
|
@@ -870,7 +870,8 @@ struct ethtool_flow_ext {
|
||||
* includes the %FLOW_EXT or %FLOW_MAC_EXT flag
|
||||
* (see &struct ethtool_flow_ext description).
|
||||
* @ring_cookie: RX ring/queue index to deliver to, or %RX_CLS_FLOW_DISC
|
||||
* if packets should be discarded
|
||||
* if packets should be discarded, or %RX_CLS_FLOW_WAKE if the
|
||||
* packets should be used for Wake-on-LAN with %WAKE_FILTER
|
||||
* @location: Location of rule in the table. Locations must be
|
||||
* numbered such that a flow matching multiple rules will be
|
||||
* classified according to the first (lowest numbered) rule.
|
||||
@@ -902,13 +903,13 @@ struct ethtool_rx_flow_spec {
|
||||
static inline __u64 ethtool_get_flow_spec_ring(__u64 ring_cookie)
|
||||
{
|
||||
return ETHTOOL_RX_FLOW_SPEC_RING & ring_cookie;
|
||||
};
|
||||
}
|
||||
|
||||
static inline __u64 ethtool_get_flow_spec_ring_vf(__u64 ring_cookie)
|
||||
{
|
||||
return (ETHTOOL_RX_FLOW_SPEC_RING_VF & ring_cookie) >>
|
||||
ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* struct ethtool_rxnfc - command to get or set RX flow classification rules
|
||||
@@ -1634,6 +1635,7 @@ static inline int ethtool_validate_duplex(__u8 duplex)
|
||||
#define WAKE_ARP (1 << 4)
|
||||
#define WAKE_MAGIC (1 << 5)
|
||||
#define WAKE_MAGICSECURE (1 << 6) /* only meaningful if WAKE_MAGIC */
|
||||
#define WAKE_FILTER (1 << 7)
|
||||
|
||||
/* L2-L4 network traffic flow types */
|
||||
#define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
|
||||
@@ -1671,6 +1673,7 @@ static inline int ethtool_validate_duplex(__u8 duplex)
|
||||
#define RXH_DISCARD (1 << 31)
|
||||
|
||||
#define RX_CLS_FLOW_DISC 0xffffffffffffffffULL
|
||||
#define RX_CLS_FLOW_WAKE 0xfffffffffffffffeULL
|
||||
|
||||
/* Special RX classification rule insert location values */
|
||||
#define RX_CLS_LOC_SPECIAL 0x80000000 /* flag */
|
||||
|
@@ -164,6 +164,8 @@ enum {
|
||||
IFLA_CARRIER_UP_COUNT,
|
||||
IFLA_CARRIER_DOWN_COUNT,
|
||||
IFLA_NEW_IFINDEX,
|
||||
IFLA_MIN_MTU,
|
||||
IFLA_MAX_MTU,
|
||||
__IFLA_MAX
|
||||
};
|
||||
|
||||
@@ -334,6 +336,7 @@ enum {
|
||||
IFLA_BRPORT_GROUP_FWD_MASK,
|
||||
IFLA_BRPORT_NEIGH_SUPPRESS,
|
||||
IFLA_BRPORT_ISOLATED,
|
||||
IFLA_BRPORT_BACKUP_PORT,
|
||||
__IFLA_BRPORT_MAX
|
||||
};
|
||||
#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
|
||||
@@ -459,6 +462,16 @@ enum {
|
||||
|
||||
#define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1)
|
||||
|
||||
/* XFRM section */
|
||||
enum {
|
||||
IFLA_XFRM_UNSPEC,
|
||||
IFLA_XFRM_LINK,
|
||||
IFLA_XFRM_IF_ID,
|
||||
__IFLA_XFRM_MAX
|
||||
};
|
||||
|
||||
#define IFLA_XFRM_MAX (__IFLA_XFRM_MAX - 1)
|
||||
|
||||
enum macsec_validation_type {
|
||||
MACSEC_VALIDATE_DISABLED = 0,
|
||||
MACSEC_VALIDATE_CHECK = 1,
|
||||
@@ -920,6 +933,7 @@ enum {
|
||||
XDP_ATTACHED_DRV,
|
||||
XDP_ATTACHED_SKB,
|
||||
XDP_ATTACHED_HW,
|
||||
XDP_ATTACHED_MULTI,
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -928,6 +942,9 @@ enum {
|
||||
IFLA_XDP_ATTACHED,
|
||||
IFLA_XDP_FLAGS,
|
||||
IFLA_XDP_PROG_ID,
|
||||
IFLA_XDP_DRV_PROG_ID,
|
||||
IFLA_XDP_SKB_PROG_ID,
|
||||
IFLA_XDP_HW_PROG_ID,
|
||||
__IFLA_XDP_MAX,
|
||||
};
|
||||
|
||||
|
@@ -30,6 +30,7 @@ enum {
|
||||
ILA_CMD_ADD,
|
||||
ILA_CMD_DEL,
|
||||
ILA_CMD_GET,
|
||||
ILA_CMD_FLUSH,
|
||||
|
||||
__ILA_CMD_MAX,
|
||||
};
|
||||
|
@@ -168,6 +168,7 @@ enum
|
||||
IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN,
|
||||
IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST,
|
||||
IPV4_DEVCONF_DROP_GRATUITOUS_ARP,
|
||||
IPV4_DEVCONF_BC_FORWARDING,
|
||||
__IPV4_DEVCONF_MAX
|
||||
};
|
||||
|
||||
|
@@ -60,14 +60,14 @@ struct sockaddr_l2tpip6 {
|
||||
/*
|
||||
* Commands.
|
||||
* Valid TLVs of each command are:-
|
||||
* TUNNEL_CREATE - CONN_ID, pw_type, netns, ifname, ipinfo, udpinfo, udpcsum, vlanid
|
||||
* TUNNEL_CREATE - CONN_ID, pw_type, netns, ifname, ipinfo, udpinfo, udpcsum
|
||||
* TUNNEL_DELETE - CONN_ID
|
||||
* TUNNEL_MODIFY - CONN_ID, udpcsum
|
||||
* TUNNEL_GETSTATS - CONN_ID, (stats)
|
||||
* TUNNEL_GET - CONN_ID, (...)
|
||||
* SESSION_CREATE - SESSION_ID, PW_TYPE, data_seq, cookie, peer_cookie, l2spec
|
||||
* SESSION_CREATE - SESSION_ID, PW_TYPE, cookie, peer_cookie, l2spec
|
||||
* SESSION_DELETE - SESSION_ID
|
||||
* SESSION_MODIFY - SESSION_ID, data_seq
|
||||
* SESSION_MODIFY - SESSION_ID
|
||||
* SESSION_GET - SESSION_ID, (...)
|
||||
* SESSION_GETSTATS - SESSION_ID, (stats)
|
||||
*
|
||||
@@ -95,7 +95,7 @@ enum {
|
||||
L2TP_ATTR_PW_TYPE, /* u16, enum l2tp_pwtype */
|
||||
L2TP_ATTR_ENCAP_TYPE, /* u16, enum l2tp_encap_type */
|
||||
L2TP_ATTR_OFFSET, /* u16 (not used) */
|
||||
L2TP_ATTR_DATA_SEQ, /* u16 */
|
||||
L2TP_ATTR_DATA_SEQ, /* u16 (not used) */
|
||||
L2TP_ATTR_L2SPEC_TYPE, /* u8, enum l2tp_l2spec_type */
|
||||
L2TP_ATTR_L2SPEC_LEN, /* u8 (not used) */
|
||||
L2TP_ATTR_PROTO_VERSION, /* u8 */
|
||||
@@ -105,7 +105,7 @@ enum {
|
||||
L2TP_ATTR_SESSION_ID, /* u32 */
|
||||
L2TP_ATTR_PEER_SESSION_ID, /* u32 */
|
||||
L2TP_ATTR_UDP_CSUM, /* u8 */
|
||||
L2TP_ATTR_VLAN_ID, /* u16 */
|
||||
L2TP_ATTR_VLAN_ID, /* u16 (not used) */
|
||||
L2TP_ATTR_COOKIE, /* 0, 4 or 8 bytes */
|
||||
L2TP_ATTR_PEER_COOKIE, /* 0, 4 or 8 bytes */
|
||||
L2TP_ATTR_DEBUG, /* u32, enum l2tp_debug_flags */
|
||||
@@ -119,8 +119,8 @@ enum {
|
||||
L2TP_ATTR_IP_DADDR, /* u32 */
|
||||
L2TP_ATTR_UDP_SPORT, /* u16 */
|
||||
L2TP_ATTR_UDP_DPORT, /* u16 */
|
||||
L2TP_ATTR_MTU, /* u16 */
|
||||
L2TP_ATTR_MRU, /* u16 */
|
||||
L2TP_ATTR_MTU, /* u16 (not used) */
|
||||
L2TP_ATTR_MRU, /* u16 (not used) */
|
||||
L2TP_ATTR_STATS, /* nested */
|
||||
L2TP_ATTR_IP6_SADDR, /* struct in6_addr */
|
||||
L2TP_ATTR_IP6_DADDR, /* struct in6_addr */
|
||||
@@ -169,6 +169,7 @@ enum l2tp_encap_type {
|
||||
L2TP_ENCAPTYPE_IP,
|
||||
};
|
||||
|
||||
/* For L2TP_ATTR_DATA_SEQ. Unused. */
|
||||
enum l2tp_seqmode {
|
||||
L2TP_SEQ_NONE = 0,
|
||||
L2TP_SEQ_IP = 1,
|
||||
|
@@ -136,6 +136,7 @@
|
||||
#define CTL1000_ENABLE_MASTER 0x1000
|
||||
|
||||
/* 1000BASE-T Status register */
|
||||
#define LPA_1000MSFAIL 0x8000 /* Master/Slave resolution failure */
|
||||
#define LPA_1000LOCALRXOK 0x2000 /* Link partner local receiver status */
|
||||
#define LPA_1000REMRXOK 0x1000 /* Link partner remote receiver status */
|
||||
#define LPA_1000FULL 0x0800 /* Link partner 1000BASE-T full duplex */
|
||||
|
@@ -120,6 +120,7 @@ enum {
|
||||
IPMRA_TABLE_MROUTE_DO_ASSERT,
|
||||
IPMRA_TABLE_MROUTE_DO_PIM,
|
||||
IPMRA_TABLE_VIFS,
|
||||
IPMRA_TABLE_MROUTE_DO_WRVIFWHOLE,
|
||||
__IPMRA_TABLE_MAX
|
||||
};
|
||||
#define IPMRA_TABLE_MAX (__IPMRA_TABLE_MAX - 1)
|
||||
@@ -173,5 +174,6 @@ enum {
|
||||
#define IGMPMSG_NOCACHE 1 /* Kern cache fill request to mrouted */
|
||||
#define IGMPMSG_WRONGVIF 2 /* For PIM assert processing (unused) */
|
||||
#define IGMPMSG_WHOLEPKT 3 /* For PIM Register processing */
|
||||
#define IGMPMSG_WRVIFWHOLE 4 /* For PIM Register and assert processing */
|
||||
|
||||
#endif /* _UAPI__LINUX_MROUTE_H */
|
||||
|
@@ -141,4 +141,22 @@ struct scm_ts_pktinfo {
|
||||
__u32 reserved[2];
|
||||
};
|
||||
|
||||
/*
|
||||
* SO_TXTIME gets a struct sock_txtime with flags being an integer bit
|
||||
* field comprised of these values.
|
||||
*/
|
||||
enum txtime_flags {
|
||||
SOF_TXTIME_DEADLINE_MODE = (1 << 0),
|
||||
SOF_TXTIME_REPORT_ERRORS = (1 << 1),
|
||||
|
||||
SOF_TXTIME_FLAGS_LAST = SOF_TXTIME_REPORT_ERRORS,
|
||||
SOF_TXTIME_FLAGS_MASK = (SOF_TXTIME_FLAGS_LAST - 1) |
|
||||
SOF_TXTIME_FLAGS_LAST
|
||||
};
|
||||
|
||||
struct sock_txtime {
|
||||
clockid_t clockid; /* reference clockid */
|
||||
__u32 flags; /* as defined by enum txtime_flags */
|
||||
};
|
||||
|
||||
#endif /* _NET_TIMESTAMPING_H */
|
||||
|
@@ -18,6 +18,7 @@ enum {
|
||||
NETCONFA_PROXY_NEIGH,
|
||||
NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN,
|
||||
NETCONFA_INPUT,
|
||||
NETCONFA_BC_FORWARDING,
|
||||
__NETCONFA_MAX
|
||||
};
|
||||
#define NETCONFA_MAX (__NETCONFA_MAX - 1)
|
||||
|
@@ -8,6 +8,7 @@
|
||||
#define NFT_SET_MAXNAMELEN NFT_NAME_MAXLEN
|
||||
#define NFT_OBJ_MAXNAMELEN NFT_NAME_MAXLEN
|
||||
#define NFT_USERDATA_MAXLEN 256
|
||||
#define NFT_OSF_MAXGENRELEN 16
|
||||
|
||||
/**
|
||||
* enum nft_registers - nf_tables registers
|
||||
@@ -921,10 +922,12 @@ enum nft_socket_attributes {
|
||||
/*
|
||||
* enum nft_socket_keys - nf_tables socket expression keys
|
||||
*
|
||||
* @NFT_SOCKET_TRANSPARENT: Value of the IP(V6)_TRANSPARENT socket option_
|
||||
* @NFT_SOCKET_TRANSPARENT: Value of the IP(V6)_TRANSPARENT socket option
|
||||
* @NFT_SOCKET_MARK: Value of the socket mark
|
||||
*/
|
||||
enum nft_socket_keys {
|
||||
NFT_SOCKET_TRANSPARENT,
|
||||
NFT_SOCKET_MARK,
|
||||
__NFT_SOCKET_MAX
|
||||
};
|
||||
#define NFT_SOCKET_MAX (__NFT_SOCKET_MAX - 1)
|
||||
@@ -955,6 +958,7 @@ enum nft_socket_keys {
|
||||
* @NFT_CT_DST_IP: conntrack layer 3 protocol destination (IPv4 address)
|
||||
* @NFT_CT_SRC_IP6: conntrack layer 3 protocol source (IPv6 address)
|
||||
* @NFT_CT_DST_IP6: conntrack layer 3 protocol destination (IPv6 address)
|
||||
* @NFT_CT_TIMEOUT: connection tracking timeout policy assigned to conntrack
|
||||
*/
|
||||
enum nft_ct_keys {
|
||||
NFT_CT_STATE,
|
||||
@@ -980,6 +984,7 @@ enum nft_ct_keys {
|
||||
NFT_CT_DST_IP,
|
||||
NFT_CT_SRC_IP6,
|
||||
NFT_CT_DST_IP6,
|
||||
NFT_CT_TIMEOUT,
|
||||
__NFT_CT_MAX
|
||||
};
|
||||
#define NFT_CT_MAX (__NFT_CT_MAX - 1)
|
||||
@@ -1250,6 +1255,22 @@ enum nft_nat_attributes {
|
||||
};
|
||||
#define NFTA_NAT_MAX (__NFTA_NAT_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_tproxy_attributes - nf_tables tproxy expression netlink attributes
|
||||
*
|
||||
* NFTA_TPROXY_FAMILY: Target address family (NLA_U32: nft_registers)
|
||||
* NFTA_TPROXY_REG_ADDR: Target address register (NLA_U32: nft_registers)
|
||||
* NFTA_TPROXY_REG_PORT: Target port register (NLA_U32: nft_registers)
|
||||
*/
|
||||
enum nft_tproxy_attributes {
|
||||
NFTA_TPROXY_UNSPEC,
|
||||
NFTA_TPROXY_FAMILY,
|
||||
NFTA_TPROXY_REG_ADDR,
|
||||
NFTA_TPROXY_REG_PORT,
|
||||
__NFTA_TPROXY_MAX
|
||||
};
|
||||
#define NFTA_TPROXY_MAX (__NFTA_TPROXY_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_masq_attributes - nf_tables masquerade expression attributes
|
||||
*
|
||||
@@ -1392,13 +1413,24 @@ enum nft_ct_helper_attributes {
|
||||
};
|
||||
#define NFTA_CT_HELPER_MAX (__NFTA_CT_HELPER_MAX - 1)
|
||||
|
||||
enum nft_ct_timeout_timeout_attributes {
|
||||
NFTA_CT_TIMEOUT_UNSPEC,
|
||||
NFTA_CT_TIMEOUT_L3PROTO,
|
||||
NFTA_CT_TIMEOUT_L4PROTO,
|
||||
NFTA_CT_TIMEOUT_DATA,
|
||||
__NFTA_CT_TIMEOUT_MAX,
|
||||
};
|
||||
#define NFTA_CT_TIMEOUT_MAX (__NFTA_CT_TIMEOUT_MAX - 1)
|
||||
|
||||
#define NFT_OBJECT_UNSPEC 0
|
||||
#define NFT_OBJECT_COUNTER 1
|
||||
#define NFT_OBJECT_QUOTA 2
|
||||
#define NFT_OBJECT_CT_HELPER 3
|
||||
#define NFT_OBJECT_LIMIT 4
|
||||
#define NFT_OBJECT_CONNLIMIT 5
|
||||
#define __NFT_OBJECT_MAX 6
|
||||
#define NFT_OBJECT_TUNNEL 6
|
||||
#define NFT_OBJECT_CT_TIMEOUT 7
|
||||
#define __NFT_OBJECT_MAX 8
|
||||
#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1)
|
||||
|
||||
/**
|
||||
@@ -1461,6 +1493,13 @@ enum nft_flowtable_hook_attributes {
|
||||
};
|
||||
#define NFTA_FLOWTABLE_HOOK_MAX (__NFTA_FLOWTABLE_HOOK_MAX - 1)
|
||||
|
||||
enum nft_osf_attributes {
|
||||
NFTA_OSF_UNSPEC,
|
||||
NFTA_OSF_DREG,
|
||||
__NFTA_OSF_MAX,
|
||||
};
|
||||
#define NFTA_OSF_MAX (__NFTA_OSF_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_device_attributes - nf_tables device netlink attributes
|
||||
*
|
||||
@@ -1555,4 +1594,85 @@ enum nft_ng_types {
|
||||
};
|
||||
#define NFT_NG_MAX (__NFT_NG_MAX - 1)
|
||||
|
||||
enum nft_tunnel_key_ip_attributes {
|
||||
NFTA_TUNNEL_KEY_IP_UNSPEC,
|
||||
NFTA_TUNNEL_KEY_IP_SRC,
|
||||
NFTA_TUNNEL_KEY_IP_DST,
|
||||
__NFTA_TUNNEL_KEY_IP_MAX
|
||||
};
|
||||
#define NFTA_TUNNEL_KEY_IP_MAX (__NFTA_TUNNEL_KEY_IP_MAX - 1)
|
||||
|
||||
enum nft_tunnel_ip6_attributes {
|
||||
NFTA_TUNNEL_KEY_IP6_UNSPEC,
|
||||
NFTA_TUNNEL_KEY_IP6_SRC,
|
||||
NFTA_TUNNEL_KEY_IP6_DST,
|
||||
NFTA_TUNNEL_KEY_IP6_FLOWLABEL,
|
||||
__NFTA_TUNNEL_KEY_IP6_MAX
|
||||
};
|
||||
#define NFTA_TUNNEL_KEY_IP6_MAX (__NFTA_TUNNEL_KEY_IP6_MAX - 1)
|
||||
|
||||
enum nft_tunnel_opts_attributes {
|
||||
NFTA_TUNNEL_KEY_OPTS_UNSPEC,
|
||||
NFTA_TUNNEL_KEY_OPTS_VXLAN,
|
||||
NFTA_TUNNEL_KEY_OPTS_ERSPAN,
|
||||
__NFTA_TUNNEL_KEY_OPTS_MAX
|
||||
};
|
||||
#define NFTA_TUNNEL_KEY_OPTS_MAX (__NFTA_TUNNEL_KEY_OPTS_MAX - 1)
|
||||
|
||||
enum nft_tunnel_opts_vxlan_attributes {
|
||||
NFTA_TUNNEL_KEY_VXLAN_UNSPEC,
|
||||
NFTA_TUNNEL_KEY_VXLAN_GBP,
|
||||
__NFTA_TUNNEL_KEY_VXLAN_MAX
|
||||
};
|
||||
#define NFTA_TUNNEL_KEY_VXLAN_MAX (__NFTA_TUNNEL_KEY_VXLAN_MAX - 1)
|
||||
|
||||
enum nft_tunnel_opts_erspan_attributes {
|
||||
NFTA_TUNNEL_KEY_ERSPAN_UNSPEC,
|
||||
NFTA_TUNNEL_KEY_ERSPAN_VERSION,
|
||||
NFTA_TUNNEL_KEY_ERSPAN_V1_INDEX,
|
||||
NFTA_TUNNEL_KEY_ERSPAN_V2_HWID,
|
||||
NFTA_TUNNEL_KEY_ERSPAN_V2_DIR,
|
||||
__NFTA_TUNNEL_KEY_ERSPAN_MAX
|
||||
};
|
||||
#define NFTA_TUNNEL_KEY_ERSPAN_MAX (__NFTA_TUNNEL_KEY_ERSPAN_MAX - 1)
|
||||
|
||||
enum nft_tunnel_flags {
|
||||
NFT_TUNNEL_F_ZERO_CSUM_TX = (1 << 0),
|
||||
NFT_TUNNEL_F_DONT_FRAGMENT = (1 << 1),
|
||||
NFT_TUNNEL_F_SEQ_NUMBER = (1 << 2),
|
||||
};
|
||||
#define NFT_TUNNEL_F_MASK (NFT_TUNNEL_F_ZERO_CSUM_TX | \
|
||||
NFT_TUNNEL_F_DONT_FRAGMENT | \
|
||||
NFT_TUNNEL_F_SEQ_NUMBER)
|
||||
|
||||
enum nft_tunnel_key_attributes {
|
||||
NFTA_TUNNEL_KEY_UNSPEC,
|
||||
NFTA_TUNNEL_KEY_ID,
|
||||
NFTA_TUNNEL_KEY_IP,
|
||||
NFTA_TUNNEL_KEY_IP6,
|
||||
NFTA_TUNNEL_KEY_FLAGS,
|
||||
NFTA_TUNNEL_KEY_TOS,
|
||||
NFTA_TUNNEL_KEY_TTL,
|
||||
NFTA_TUNNEL_KEY_SPORT,
|
||||
NFTA_TUNNEL_KEY_DPORT,
|
||||
NFTA_TUNNEL_KEY_OPTS,
|
||||
__NFTA_TUNNEL_KEY_MAX
|
||||
};
|
||||
#define NFTA_TUNNEL_KEY_MAX (__NFTA_TUNNEL_KEY_MAX - 1)
|
||||
|
||||
enum nft_tunnel_keys {
|
||||
NFT_TUNNEL_PATH,
|
||||
NFT_TUNNEL_ID,
|
||||
__NFT_TUNNEL_MAX
|
||||
};
|
||||
#define NFT_TUNNEL_MAX (__NFT_TUNNEL_MAX - 1)
|
||||
|
||||
enum nft_tunnel_attributes {
|
||||
NFTA_TUNNEL_UNSPEC,
|
||||
NFTA_TUNNEL_KEY,
|
||||
NFTA_TUNNEL_DREG,
|
||||
__NFTA_TUNNEL_MAX
|
||||
};
|
||||
#define NFTA_TUNNEL_MAX (__NFTA_TUNNEL_MAX - 1)
|
||||
|
||||
#endif /* _LINUX_NF_TABLES_H */
|
||||
|
@@ -16,9 +16,14 @@
|
||||
|
||||
#define NF_OSF_TTL_TRUE 0 /* True ip and fingerprint TTL comparison */
|
||||
|
||||
/* Check if ip TTL is less than fingerprint one */
|
||||
#define NF_OSF_TTL_LESS 1
|
||||
|
||||
/* Do not compare ip and fingerprint TTL at all */
|
||||
#define NF_OSF_TTL_NOCHECK 2
|
||||
|
||||
#define NF_OSF_FLAGMASK (NF_OSF_GENRE | NF_OSF_TTL | \
|
||||
NF_OSF_LOG | NF_OSF_INVERT)
|
||||
/* Wildcard MSS (kind of).
|
||||
* It is used to implement a state machine for the different wildcard values
|
||||
* of the MSS and window sizes.
|
||||
@@ -83,4 +88,31 @@ enum iana_options {
|
||||
OSFOPT_EMPTY = 255,
|
||||
};
|
||||
|
||||
/* Initial window size option state machine: multiple of mss, mtu or
|
||||
* plain numeric value. Can also be made as plain numeric value which
|
||||
* is not a multiple of specified value.
|
||||
*/
|
||||
enum nf_osf_window_size_options {
|
||||
OSF_WSS_PLAIN = 0,
|
||||
OSF_WSS_MSS,
|
||||
OSF_WSS_MTU,
|
||||
OSF_WSS_MODULO,
|
||||
OSF_WSS_MAX,
|
||||
};
|
||||
|
||||
enum nf_osf_attr_type {
|
||||
OSF_ATTR_UNSPEC,
|
||||
OSF_ATTR_FINGER,
|
||||
OSF_ATTR_MAX,
|
||||
};
|
||||
|
||||
/*
|
||||
* Add/remove fingerprint from the kernel.
|
||||
*/
|
||||
enum nf_osf_msg_types {
|
||||
OSF_MSG_ADD,
|
||||
OSF_MSG_REMOVE,
|
||||
OSF_MSG_MAX,
|
||||
};
|
||||
|
||||
#endif /* _NF_OSF_H */
|
@@ -23,7 +23,7 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/ip.h>
|
||||
#include <linux/tcp.h>
|
||||
#include <linux/netfilter/nf_osf.h>
|
||||
#include <linux/netfilter/nfnetlink_osf.h>
|
||||
|
||||
#define XT_OSF_GENRE NF_OSF_GENRE
|
||||
#define XT_OSF_INVERT NF_OSF_INVERT
|
||||
@@ -37,8 +37,7 @@
|
||||
|
||||
#define XT_OSF_TTL_TRUE NF_OSF_TTL_TRUE
|
||||
#define XT_OSF_TTL_NOCHECK NF_OSF_TTL_NOCHECK
|
||||
|
||||
#define XT_OSF_TTL_LESS 1 /* Check if ip TTL is less than fingerprint one */
|
||||
#define XT_OSF_TTL_LESS NF_OSF_TTL_LESS
|
||||
|
||||
#define xt_osf_wc nf_osf_wc
|
||||
#define xt_osf_opt nf_osf_opt
|
||||
@@ -47,19 +46,8 @@
|
||||
#define xt_osf_finger nf_osf_finger
|
||||
#define xt_osf_nlmsg nf_osf_nlmsg
|
||||
|
||||
/*
|
||||
* Add/remove fingerprint from the kernel.
|
||||
*/
|
||||
enum xt_osf_msg_types {
|
||||
OSF_MSG_ADD,
|
||||
OSF_MSG_REMOVE,
|
||||
OSF_MSG_MAX,
|
||||
};
|
||||
|
||||
enum xt_osf_attr_type {
|
||||
OSF_ATTR_UNSPEC,
|
||||
OSF_ATTR_FINGER,
|
||||
OSF_ATTR_MAX,
|
||||
};
|
||||
#define xt_osf_window_size_options nf_osf_window_size_options
|
||||
#define xt_osf_attr_type nf_osf_attr_type
|
||||
#define xt_osf_msg_types nf_osf_msg_types
|
||||
|
||||
#endif /* _XT_OSF_H */
|
||||
|
@@ -26,4 +26,15 @@
|
||||
#define NF_BR_BROUTING 5
|
||||
#define NF_BR_NUMHOOKS 6
|
||||
|
||||
enum nf_br_hook_priorities {
|
||||
NF_BR_PRI_FIRST = INT_MIN,
|
||||
NF_BR_PRI_NAT_DST_BRIDGED = -300,
|
||||
NF_BR_PRI_FILTER_BRIDGED = -200,
|
||||
NF_BR_PRI_BRNF = 0,
|
||||
NF_BR_PRI_NAT_DST_OTHER = 100,
|
||||
NF_BR_PRI_FILTER_OTHER = 200,
|
||||
NF_BR_PRI_NAT_SRC = 300,
|
||||
NF_BR_PRI_LAST = INT_MAX,
|
||||
};
|
||||
|
||||
#endif /* _UAPI__LINUX_BRIDGE_NETFILTER_H */
|
||||
|
@@ -2237,6 +2237,9 @@ enum nl80211_commands {
|
||||
* enforced.
|
||||
* @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes
|
||||
* a flow is assigned on each round of the DRR scheduler.
|
||||
* @NL80211_ATTR_HE_CAPABILITY: HE Capability information element (from
|
||||
* association request when used with NL80211_CMD_NEW_STATION). Can be set
|
||||
* only if %NL80211_STA_FLAG_WME is set.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
@@ -2677,6 +2680,8 @@ enum nl80211_attrs {
|
||||
NL80211_ATTR_TXQ_MEMORY_LIMIT,
|
||||
NL80211_ATTR_TXQ_QUANTUM,
|
||||
|
||||
NL80211_ATTR_HE_CAPABILITY,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
@@ -2726,7 +2731,8 @@ enum nl80211_attrs {
|
||||
#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
|
||||
#define NL80211_HT_CAPABILITY_LEN 26
|
||||
#define NL80211_VHT_CAPABILITY_LEN 12
|
||||
|
||||
#define NL80211_HE_MIN_CAPABILITY_LEN 16
|
||||
#define NL80211_HE_MAX_CAPABILITY_LEN 51
|
||||
#define NL80211_MAX_NR_CIPHER_SUITES 5
|
||||
#define NL80211_MAX_NR_AKM_SUITES 2
|
||||
|
||||
@@ -2853,6 +2859,38 @@ struct nl80211_sta_flag_update {
|
||||
__u32 set;
|
||||
} __attribute__((packed));
|
||||
|
||||
/**
|
||||
* enum nl80211_he_gi - HE guard interval
|
||||
* @NL80211_RATE_INFO_HE_GI_0_8: 0.8 usec
|
||||
* @NL80211_RATE_INFO_HE_GI_1_6: 1.6 usec
|
||||
* @NL80211_RATE_INFO_HE_GI_3_2: 3.2 usec
|
||||
*/
|
||||
enum nl80211_he_gi {
|
||||
NL80211_RATE_INFO_HE_GI_0_8,
|
||||
NL80211_RATE_INFO_HE_GI_1_6,
|
||||
NL80211_RATE_INFO_HE_GI_3_2,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_he_ru_alloc - HE RU allocation values
|
||||
* @NL80211_RATE_INFO_HE_RU_ALLOC_26: 26-tone RU allocation
|
||||
* @NL80211_RATE_INFO_HE_RU_ALLOC_52: 52-tone RU allocation
|
||||
* @NL80211_RATE_INFO_HE_RU_ALLOC_106: 106-tone RU allocation
|
||||
* @NL80211_RATE_INFO_HE_RU_ALLOC_242: 242-tone RU allocation
|
||||
* @NL80211_RATE_INFO_HE_RU_ALLOC_484: 484-tone RU allocation
|
||||
* @NL80211_RATE_INFO_HE_RU_ALLOC_996: 996-tone RU allocation
|
||||
* @NL80211_RATE_INFO_HE_RU_ALLOC_2x996: 2x996-tone RU allocation
|
||||
*/
|
||||
enum nl80211_he_ru_alloc {
|
||||
NL80211_RATE_INFO_HE_RU_ALLOC_26,
|
||||
NL80211_RATE_INFO_HE_RU_ALLOC_52,
|
||||
NL80211_RATE_INFO_HE_RU_ALLOC_106,
|
||||
NL80211_RATE_INFO_HE_RU_ALLOC_242,
|
||||
NL80211_RATE_INFO_HE_RU_ALLOC_484,
|
||||
NL80211_RATE_INFO_HE_RU_ALLOC_996,
|
||||
NL80211_RATE_INFO_HE_RU_ALLOC_2x996,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_rate_info - bitrate information
|
||||
*
|
||||
@@ -2885,6 +2923,13 @@ struct nl80211_sta_flag_update {
|
||||
* @NL80211_RATE_INFO_5_MHZ_WIDTH: 5 MHz width - note that this is
|
||||
* a legacy rate and will be reported as the actual bitrate, i.e.
|
||||
* a quarter of the base (20 MHz) rate
|
||||
* @NL80211_RATE_INFO_HE_MCS: HE MCS index (u8, 0-11)
|
||||
* @NL80211_RATE_INFO_HE_NSS: HE NSS value (u8, 1-8)
|
||||
* @NL80211_RATE_INFO_HE_GI: HE guard interval identifier
|
||||
* (u8, see &enum nl80211_he_gi)
|
||||
* @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1)
|
||||
* @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then
|
||||
* non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc)
|
||||
* @__NL80211_RATE_INFO_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_rate_info {
|
||||
@@ -2901,6 +2946,11 @@ enum nl80211_rate_info {
|
||||
NL80211_RATE_INFO_160_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_10_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_5_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_HE_MCS,
|
||||
NL80211_RATE_INFO_HE_NSS,
|
||||
NL80211_RATE_INFO_HE_GI,
|
||||
NL80211_RATE_INFO_HE_DCM,
|
||||
NL80211_RATE_INFO_HE_RU_ALLOC,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_RATE_INFO_AFTER_LAST,
|
||||
@@ -3166,6 +3216,38 @@ enum nl80211_mpath_info {
|
||||
NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_band_iftype_attr - Interface type data attributes
|
||||
*
|
||||
* @__NL80211_BAND_IFTYPE_ATTR_INVALID: attribute number 0 is reserved
|
||||
* @NL80211_BAND_IFTYPE_ATTR_IFTYPES: nested attribute containing a flag attribute
|
||||
* for each interface type that supports the band data
|
||||
* @NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC: HE MAC capabilities as in HE
|
||||
* capabilities IE
|
||||
* @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY: HE PHY capabilities as in HE
|
||||
* capabilities IE
|
||||
* @NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET: HE supported NSS/MCS as in HE
|
||||
* capabilities IE
|
||||
* @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE: HE PPE thresholds information as
|
||||
* defined in HE capabilities IE
|
||||
* @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently
|
||||
* defined
|
||||
* @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_band_iftype_attr {
|
||||
__NL80211_BAND_IFTYPE_ATTR_INVALID,
|
||||
|
||||
NL80211_BAND_IFTYPE_ATTR_IFTYPES,
|
||||
NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC,
|
||||
NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY,
|
||||
NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET,
|
||||
NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST,
|
||||
NL80211_BAND_IFTYPE_ATTR_MAX = __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_band_attr - band attributes
|
||||
* @__NL80211_BAND_ATTR_INVALID: attribute number 0 is reserved
|
||||
@@ -3181,6 +3263,8 @@ enum nl80211_mpath_info {
|
||||
* @NL80211_BAND_ATTR_VHT_MCS_SET: 32-byte attribute containing the MCS set as
|
||||
* defined in 802.11ac
|
||||
* @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE
|
||||
* @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using
|
||||
* attributes from &enum nl80211_band_iftype_attr
|
||||
* @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
|
||||
* @__NL80211_BAND_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
@@ -3196,6 +3280,7 @@ enum nl80211_band_attr {
|
||||
|
||||
NL80211_BAND_ATTR_VHT_MCS_SET,
|
||||
NL80211_BAND_ATTR_VHT_CAPA,
|
||||
NL80211_BAND_ATTR_IFTYPE_DATA,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_BAND_ATTR_AFTER_LAST,
|
||||
@@ -5133,6 +5218,11 @@ enum nl80211_feature_flags {
|
||||
* support to nl80211.
|
||||
* @NL80211_EXT_FEATURE_TXQS: Driver supports FQ-CoDel-enabled intermediate
|
||||
* TXQs.
|
||||
* @NL80211_EXT_FEATURE_SCAN_RANDOM_SN: Driver/device supports randomizing the
|
||||
* SN in probe request frames if requested by %NL80211_SCAN_FLAG_RANDOM_SN.
|
||||
* @NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT: Driver/device can omit all data
|
||||
* except for supported rates from the probe request content if requested
|
||||
* by the %NL80211_SCAN_FLAG_MIN_PREQ_CONTENT flag.
|
||||
*
|
||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||
@@ -5167,6 +5257,8 @@ enum nl80211_ext_feature_index {
|
||||
NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211,
|
||||
NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT,
|
||||
NL80211_EXT_FEATURE_TXQS,
|
||||
NL80211_EXT_FEATURE_SCAN_RANDOM_SN,
|
||||
NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT,
|
||||
|
||||
/* add new features before the definition below */
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
@@ -5272,6 +5364,12 @@ enum nl80211_timeout_reason {
|
||||
* possible scan results. This flag hints the driver to use the best
|
||||
* possible scan configuration to improve the accuracy in scanning.
|
||||
* Latency and power use may get impacted with this flag.
|
||||
* @NL80211_SCAN_FLAG_RANDOM_SN: randomize the sequence number in probe
|
||||
* request frames from this scan to avoid correlation/tracking being
|
||||
* possible.
|
||||
* @NL80211_SCAN_FLAG_MIN_PREQ_CONTENT: minimize probe request content to
|
||||
* only have supported rates and no additional capabilities (unless
|
||||
* added by userspace explicitly.)
|
||||
*/
|
||||
enum nl80211_scan_flags {
|
||||
NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0,
|
||||
@@ -5285,6 +5383,8 @@ enum nl80211_scan_flags {
|
||||
NL80211_SCAN_FLAG_LOW_SPAN = 1<<8,
|
||||
NL80211_SCAN_FLAG_LOW_POWER = 1<<9,
|
||||
NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10,
|
||||
NL80211_SCAN_FLAG_RANDOM_SN = 1<<11,
|
||||
NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12,
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -840,6 +840,8 @@ struct ovs_action_push_eth {
|
||||
* @OVS_ACTION_ATTR_POP_NSH: pop the outermost NSH header off the packet.
|
||||
* @OVS_ACTION_ATTR_METER: Run packet through a meter, which may drop the
|
||||
* packet, or modify the packet (e.g., change the DSCP field).
|
||||
* @OVS_ACTION_ATTR_CLONE: make a copy of the packet and execute a list of
|
||||
* actions without affecting the original packet and key.
|
||||
*
|
||||
* Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all
|
||||
* fields within a header are modifiable, e.g. the IPv4 protocol and fragment
|
||||
@@ -873,6 +875,7 @@ enum ovs_action_attr {
|
||||
OVS_ACTION_ATTR_PUSH_NSH, /* Nested OVS_NSH_KEY_ATTR_*. */
|
||||
OVS_ACTION_ATTR_POP_NSH, /* No argument. */
|
||||
OVS_ACTION_ATTR_METER, /* u32 meter ID. */
|
||||
OVS_ACTION_ATTR_CLONE, /* Nested OVS_CLONE_ATTR_*. */
|
||||
|
||||
__OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted
|
||||
* from userspace. */
|
||||
|
@@ -45,6 +45,7 @@ enum {
|
||||
* the skb and act like everything
|
||||
* is alright.
|
||||
*/
|
||||
#define TC_ACT_VALUE_MAX TC_ACT_TRAP
|
||||
|
||||
/* There is a special kind of actions called "extended actions",
|
||||
* which need a value parameter. These have a local opcode located in
|
||||
@@ -55,11 +56,12 @@ enum {
|
||||
#define __TC_ACT_EXT_SHIFT 28
|
||||
#define __TC_ACT_EXT(local) ((local) << __TC_ACT_EXT_SHIFT)
|
||||
#define TC_ACT_EXT_VAL_MASK ((1 << __TC_ACT_EXT_SHIFT) - 1)
|
||||
#define TC_ACT_EXT_CMP(combined, opcode) \
|
||||
(((combined) & (~TC_ACT_EXT_VAL_MASK)) == opcode)
|
||||
#define TC_ACT_EXT_OPCODE(combined) ((combined) & (~TC_ACT_EXT_VAL_MASK))
|
||||
#define TC_ACT_EXT_CMP(combined, opcode) (TC_ACT_EXT_OPCODE(combined) == opcode)
|
||||
|
||||
#define TC_ACT_JUMP __TC_ACT_EXT(1)
|
||||
#define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2)
|
||||
#define TC_ACT_EXT_OPCODE_MAX TC_ACT_GOTO_CHAIN
|
||||
|
||||
/* Action type identifiers*/
|
||||
enum {
|
||||
@@ -469,11 +471,46 @@ enum {
|
||||
TCA_FLOWER_KEY_IP_TTL, /* u8 */
|
||||
TCA_FLOWER_KEY_IP_TTL_MASK, /* u8 */
|
||||
|
||||
TCA_FLOWER_KEY_CVLAN_ID, /* be16 */
|
||||
TCA_FLOWER_KEY_CVLAN_PRIO, /* u8 */
|
||||
TCA_FLOWER_KEY_CVLAN_ETH_TYPE, /* be16 */
|
||||
|
||||
TCA_FLOWER_KEY_ENC_IP_TOS, /* u8 */
|
||||
TCA_FLOWER_KEY_ENC_IP_TOS_MASK, /* u8 */
|
||||
TCA_FLOWER_KEY_ENC_IP_TTL, /* u8 */
|
||||
TCA_FLOWER_KEY_ENC_IP_TTL_MASK, /* u8 */
|
||||
|
||||
TCA_FLOWER_KEY_ENC_OPTS,
|
||||
TCA_FLOWER_KEY_ENC_OPTS_MASK,
|
||||
|
||||
__TCA_FLOWER_MAX,
|
||||
};
|
||||
|
||||
#define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_FLOWER_KEY_ENC_OPTS_UNSPEC,
|
||||
TCA_FLOWER_KEY_ENC_OPTS_GENEVE, /* Nested
|
||||
* TCA_FLOWER_KEY_ENC_OPT_GENEVE_
|
||||
* attributes
|
||||
*/
|
||||
__TCA_FLOWER_KEY_ENC_OPTS_MAX,
|
||||
};
|
||||
|
||||
#define TCA_FLOWER_KEY_ENC_OPTS_MAX (__TCA_FLOWER_KEY_ENC_OPTS_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_FLOWER_KEY_ENC_OPT_GENEVE_UNSPEC,
|
||||
TCA_FLOWER_KEY_ENC_OPT_GENEVE_CLASS, /* u16 */
|
||||
TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE, /* u8 */
|
||||
TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA, /* 4 to 128 bytes */
|
||||
|
||||
__TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX,
|
||||
};
|
||||
|
||||
#define TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX \
|
||||
(__TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = (1 << 0),
|
||||
TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = (1 << 1),
|
||||
|
@@ -124,6 +124,21 @@ struct tc_fifo_qopt {
|
||||
__u32 limit; /* Queue length: bytes for bfifo, packets for pfifo */
|
||||
};
|
||||
|
||||
/* SKBPRIO section */
|
||||
|
||||
/*
|
||||
* Priorities go from zero to (SKBPRIO_MAX_PRIORITY - 1).
|
||||
* SKBPRIO_MAX_PRIORITY should be at least 64 in order for skbprio to be able
|
||||
* to map one to one the DS field of IPV4 and IPV6 headers.
|
||||
* Memory allocation grows linearly with SKBPRIO_MAX_PRIORITY.
|
||||
*/
|
||||
|
||||
#define SKBPRIO_MAX_PRIORITY 64
|
||||
|
||||
struct tc_skbprio_qopt {
|
||||
__u32 limit; /* Queue length in packets. */
|
||||
};
|
||||
|
||||
/* PRIO section */
|
||||
|
||||
#define TCQ_PRIO_BANDS 16
|
||||
@@ -539,6 +554,7 @@ enum {
|
||||
TCA_NETEM_LATENCY64,
|
||||
TCA_NETEM_JITTER64,
|
||||
TCA_NETEM_SLOT,
|
||||
TCA_NETEM_SLOT_DIST,
|
||||
__TCA_NETEM_MAX,
|
||||
};
|
||||
|
||||
@@ -581,6 +597,8 @@ struct tc_netem_slot {
|
||||
__s64 max_delay;
|
||||
__s32 max_packets;
|
||||
__s32 max_bytes;
|
||||
__s64 dist_delay; /* nsec */
|
||||
__s64 dist_jitter; /* nsec */
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -934,4 +952,136 @@ enum {
|
||||
|
||||
#define TCA_CBS_MAX (__TCA_CBS_MAX - 1)
|
||||
|
||||
|
||||
/* ETF */
|
||||
struct tc_etf_qopt {
|
||||
__s32 delta;
|
||||
__s32 clockid;
|
||||
__u32 flags;
|
||||
#define TC_ETF_DEADLINE_MODE_ON BIT(0)
|
||||
#define TC_ETF_OFFLOAD_ON BIT(1)
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_ETF_UNSPEC,
|
||||
TCA_ETF_PARMS,
|
||||
__TCA_ETF_MAX,
|
||||
};
|
||||
|
||||
#define TCA_ETF_MAX (__TCA_ETF_MAX - 1)
|
||||
|
||||
|
||||
/* CAKE */
|
||||
enum {
|
||||
TCA_CAKE_UNSPEC,
|
||||
TCA_CAKE_PAD,
|
||||
TCA_CAKE_BASE_RATE64,
|
||||
TCA_CAKE_DIFFSERV_MODE,
|
||||
TCA_CAKE_ATM,
|
||||
TCA_CAKE_FLOW_MODE,
|
||||
TCA_CAKE_OVERHEAD,
|
||||
TCA_CAKE_RTT,
|
||||
TCA_CAKE_TARGET,
|
||||
TCA_CAKE_AUTORATE,
|
||||
TCA_CAKE_MEMORY,
|
||||
TCA_CAKE_NAT,
|
||||
TCA_CAKE_RAW,
|
||||
TCA_CAKE_WASH,
|
||||
TCA_CAKE_MPU,
|
||||
TCA_CAKE_INGRESS,
|
||||
TCA_CAKE_ACK_FILTER,
|
||||
TCA_CAKE_SPLIT_GSO,
|
||||
__TCA_CAKE_MAX
|
||||
};
|
||||
#define TCA_CAKE_MAX (__TCA_CAKE_MAX - 1)
|
||||
|
||||
enum {
|
||||
__TCA_CAKE_STATS_INVALID,
|
||||
TCA_CAKE_STATS_PAD,
|
||||
TCA_CAKE_STATS_CAPACITY_ESTIMATE64,
|
||||
TCA_CAKE_STATS_MEMORY_LIMIT,
|
||||
TCA_CAKE_STATS_MEMORY_USED,
|
||||
TCA_CAKE_STATS_AVG_NETOFF,
|
||||
TCA_CAKE_STATS_MIN_NETLEN,
|
||||
TCA_CAKE_STATS_MAX_NETLEN,
|
||||
TCA_CAKE_STATS_MIN_ADJLEN,
|
||||
TCA_CAKE_STATS_MAX_ADJLEN,
|
||||
TCA_CAKE_STATS_TIN_STATS,
|
||||
TCA_CAKE_STATS_DEFICIT,
|
||||
TCA_CAKE_STATS_COBALT_COUNT,
|
||||
TCA_CAKE_STATS_DROPPING,
|
||||
TCA_CAKE_STATS_DROP_NEXT_US,
|
||||
TCA_CAKE_STATS_P_DROP,
|
||||
TCA_CAKE_STATS_BLUE_TIMER_US,
|
||||
__TCA_CAKE_STATS_MAX
|
||||
};
|
||||
#define TCA_CAKE_STATS_MAX (__TCA_CAKE_STATS_MAX - 1)
|
||||
|
||||
enum {
|
||||
__TCA_CAKE_TIN_STATS_INVALID,
|
||||
TCA_CAKE_TIN_STATS_PAD,
|
||||
TCA_CAKE_TIN_STATS_SENT_PACKETS,
|
||||
TCA_CAKE_TIN_STATS_SENT_BYTES64,
|
||||
TCA_CAKE_TIN_STATS_DROPPED_PACKETS,
|
||||
TCA_CAKE_TIN_STATS_DROPPED_BYTES64,
|
||||
TCA_CAKE_TIN_STATS_ACKS_DROPPED_PACKETS,
|
||||
TCA_CAKE_TIN_STATS_ACKS_DROPPED_BYTES64,
|
||||
TCA_CAKE_TIN_STATS_ECN_MARKED_PACKETS,
|
||||
TCA_CAKE_TIN_STATS_ECN_MARKED_BYTES64,
|
||||
TCA_CAKE_TIN_STATS_BACKLOG_PACKETS,
|
||||
TCA_CAKE_TIN_STATS_BACKLOG_BYTES,
|
||||
TCA_CAKE_TIN_STATS_THRESHOLD_RATE64,
|
||||
TCA_CAKE_TIN_STATS_TARGET_US,
|
||||
TCA_CAKE_TIN_STATS_INTERVAL_US,
|
||||
TCA_CAKE_TIN_STATS_WAY_INDIRECT_HITS,
|
||||
TCA_CAKE_TIN_STATS_WAY_MISSES,
|
||||
TCA_CAKE_TIN_STATS_WAY_COLLISIONS,
|
||||
TCA_CAKE_TIN_STATS_PEAK_DELAY_US,
|
||||
TCA_CAKE_TIN_STATS_AVG_DELAY_US,
|
||||
TCA_CAKE_TIN_STATS_BASE_DELAY_US,
|
||||
TCA_CAKE_TIN_STATS_SPARSE_FLOWS,
|
||||
TCA_CAKE_TIN_STATS_BULK_FLOWS,
|
||||
TCA_CAKE_TIN_STATS_UNRESPONSIVE_FLOWS,
|
||||
TCA_CAKE_TIN_STATS_MAX_SKBLEN,
|
||||
TCA_CAKE_TIN_STATS_FLOW_QUANTUM,
|
||||
__TCA_CAKE_TIN_STATS_MAX
|
||||
};
|
||||
#define TCA_CAKE_TIN_STATS_MAX (__TCA_CAKE_TIN_STATS_MAX - 1)
|
||||
#define TC_CAKE_MAX_TINS (8)
|
||||
|
||||
enum {
|
||||
CAKE_FLOW_NONE = 0,
|
||||
CAKE_FLOW_SRC_IP,
|
||||
CAKE_FLOW_DST_IP,
|
||||
CAKE_FLOW_HOSTS, /* = CAKE_FLOW_SRC_IP | CAKE_FLOW_DST_IP */
|
||||
CAKE_FLOW_FLOWS,
|
||||
CAKE_FLOW_DUAL_SRC, /* = CAKE_FLOW_SRC_IP | CAKE_FLOW_FLOWS */
|
||||
CAKE_FLOW_DUAL_DST, /* = CAKE_FLOW_DST_IP | CAKE_FLOW_FLOWS */
|
||||
CAKE_FLOW_TRIPLE, /* = CAKE_FLOW_HOSTS | CAKE_FLOW_FLOWS */
|
||||
CAKE_FLOW_MAX,
|
||||
};
|
||||
|
||||
enum {
|
||||
CAKE_DIFFSERV_DIFFSERV3 = 0,
|
||||
CAKE_DIFFSERV_DIFFSERV4,
|
||||
CAKE_DIFFSERV_DIFFSERV8,
|
||||
CAKE_DIFFSERV_BESTEFFORT,
|
||||
CAKE_DIFFSERV_PRECEDENCE,
|
||||
CAKE_DIFFSERV_MAX
|
||||
};
|
||||
|
||||
enum {
|
||||
CAKE_ACK_NONE = 0,
|
||||
CAKE_ACK_FILTER,
|
||||
CAKE_ACK_AGGRESSIVE,
|
||||
CAKE_ACK_MAX
|
||||
};
|
||||
|
||||
enum {
|
||||
CAKE_ATM_NONE = 0,
|
||||
CAKE_ATM_ATM,
|
||||
CAKE_ATM_PTM,
|
||||
CAKE_ATM_MAX
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -68,7 +68,7 @@ struct ppp_option_data {
|
||||
struct pppol2tp_ioc_stats {
|
||||
__u16 tunnel_id; /* redundant */
|
||||
__u16 session_id; /* if zero, get tunnel stats */
|
||||
__u32 using_ipsec:1; /* valid only for session_id == 0 */
|
||||
__u32 using_ipsec:1;
|
||||
__aligned_u64 tx_packets;
|
||||
__aligned_u64 tx_bytes;
|
||||
__aligned_u64 tx_errors;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */
|
||||
/*
|
||||
* Copyright (c) 2008 Oracle. All rights reserved.
|
||||
* Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This software is available to you under a choice of one of two
|
||||
* licenses. You may choose to be licensed under the terms of the GNU
|
||||
@@ -118,7 +118,17 @@
|
||||
#define RDS_INFO_IB_CONNECTIONS 10008
|
||||
#define RDS_INFO_CONNECTION_STATS 10009
|
||||
#define RDS_INFO_IWARP_CONNECTIONS 10010
|
||||
#define RDS_INFO_LAST 10010
|
||||
|
||||
/* PF_RDS6 options */
|
||||
#define RDS6_INFO_CONNECTIONS 10011
|
||||
#define RDS6_INFO_SEND_MESSAGES 10012
|
||||
#define RDS6_INFO_RETRANS_MESSAGES 10013
|
||||
#define RDS6_INFO_RECV_MESSAGES 10014
|
||||
#define RDS6_INFO_SOCKETS 10015
|
||||
#define RDS6_INFO_TCP_SOCKETS 10016
|
||||
#define RDS6_INFO_IB_CONNECTIONS 10017
|
||||
|
||||
#define RDS_INFO_LAST 10017
|
||||
|
||||
struct rds_info_counter {
|
||||
__u8 name[32];
|
||||
@@ -140,6 +150,15 @@ struct rds_info_connection {
|
||||
__u8 flags;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds6_info_connection {
|
||||
__u64 next_tx_seq;
|
||||
__u64 next_rx_seq;
|
||||
struct in6_addr laddr;
|
||||
struct in6_addr faddr;
|
||||
__u8 transport[TRANSNAMSIZ]; /* null term ascii */
|
||||
__u8 flags;
|
||||
} __attribute__((packed));
|
||||
|
||||
#define RDS_INFO_MESSAGE_FLAG_ACK 0x01
|
||||
#define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02
|
||||
|
||||
@@ -153,6 +172,17 @@ struct rds_info_message {
|
||||
__u8 flags;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds6_info_message {
|
||||
__u64 seq;
|
||||
__u32 len;
|
||||
struct in6_addr laddr;
|
||||
struct in6_addr faddr;
|
||||
__be16 lport;
|
||||
__be16 fport;
|
||||
__u8 flags;
|
||||
__u8 tos;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds_info_socket {
|
||||
__u32 sndbuf;
|
||||
__be32 bound_addr;
|
||||
@@ -163,6 +193,16 @@ struct rds_info_socket {
|
||||
__u64 inum;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds6_info_socket {
|
||||
__u32 sndbuf;
|
||||
struct in6_addr bound_addr;
|
||||
struct in6_addr connected_addr;
|
||||
__be16 bound_port;
|
||||
__be16 connected_port;
|
||||
__u32 rcvbuf;
|
||||
__u64 inum;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds_info_tcp_socket {
|
||||
__be32 local_addr;
|
||||
__be16 local_port;
|
||||
@@ -175,6 +215,18 @@ struct rds_info_tcp_socket {
|
||||
__u32 last_seen_una;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds6_info_tcp_socket {
|
||||
struct in6_addr local_addr;
|
||||
__be16 local_port;
|
||||
struct in6_addr peer_addr;
|
||||
__be16 peer_port;
|
||||
__u64 hdr_rem;
|
||||
__u64 data_rem;
|
||||
__u32 last_sent_nxt;
|
||||
__u32 last_expected_una;
|
||||
__u32 last_seen_una;
|
||||
} __attribute__((packed));
|
||||
|
||||
#define RDS_IB_GID_LEN 16
|
||||
struct rds_info_rdma_connection {
|
||||
__be32 src_addr;
|
||||
@@ -189,6 +241,19 @@ struct rds_info_rdma_connection {
|
||||
__u32 rdma_mr_size;
|
||||
};
|
||||
|
||||
struct rds6_info_rdma_connection {
|
||||
struct in6_addr src_addr;
|
||||
struct in6_addr dst_addr;
|
||||
__u8 src_gid[RDS_IB_GID_LEN];
|
||||
__u8 dst_gid[RDS_IB_GID_LEN];
|
||||
|
||||
__u32 max_send_wr;
|
||||
__u32 max_recv_wr;
|
||||
__u32 max_send_sge;
|
||||
__u32 rdma_mr_max;
|
||||
__u32 rdma_mr_size;
|
||||
};
|
||||
|
||||
/* RDS message Receive Path Latency points */
|
||||
enum rds_message_rxpath_latency {
|
||||
RDS_MSG_RX_HDR_TO_DGRAM_START = 0,
|
||||
|
@@ -150,6 +150,13 @@ enum {
|
||||
RTM_NEWCACHEREPORT = 96,
|
||||
#define RTM_NEWCACHEREPORT RTM_NEWCACHEREPORT
|
||||
|
||||
RTM_NEWCHAIN = 100,
|
||||
#define RTM_NEWCHAIN RTM_NEWCHAIN
|
||||
RTM_DELCHAIN,
|
||||
#define RTM_DELCHAIN RTM_DELCHAIN
|
||||
RTM_GETCHAIN,
|
||||
#define RTM_GETCHAIN RTM_GETCHAIN
|
||||
|
||||
__RTM_MAX,
|
||||
#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
|
||||
};
|
||||
|
@@ -100,6 +100,7 @@ typedef __s32 sctp_assoc_t;
|
||||
#define SCTP_RECVNXTINFO 33
|
||||
#define SCTP_DEFAULT_SNDINFO 34
|
||||
#define SCTP_AUTH_DEACTIVATE_KEY 35
|
||||
#define SCTP_REUSE_PORT 36
|
||||
|
||||
/* Internal Socket Options. Some of the sctp library functions are
|
||||
* implemented using these socket options.
|
||||
@@ -762,6 +763,8 @@ enum sctp_spp_flags {
|
||||
SPP_SACKDELAY_DISABLE = 1<<6, /*Disable SACK*/
|
||||
SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE,
|
||||
SPP_HB_TIME_IS_ZERO = 1<<7, /* Set HB delay to 0 */
|
||||
SPP_IPV6_FLOWLABEL = 1<<8,
|
||||
SPP_DSCP = 1<<9,
|
||||
};
|
||||
|
||||
struct sctp_paddrparams {
|
||||
@@ -772,6 +775,8 @@ struct sctp_paddrparams {
|
||||
__u32 spp_pathmtu;
|
||||
__u32 spp_sackdelay;
|
||||
__u32 spp_flags;
|
||||
__u32 spp_ipv6_flowlabel;
|
||||
__u8 spp_dscp;
|
||||
} __attribute__((packed, aligned(4)));
|
||||
|
||||
/*
|
||||
|
@@ -20,7 +20,7 @@ struct smc_diag_req {
|
||||
struct smc_diag_msg {
|
||||
__u8 diag_family;
|
||||
__u8 diag_state;
|
||||
__u8 diag_fallback;
|
||||
__u8 diag_mode;
|
||||
__u8 diag_shutdown;
|
||||
struct inet_diag_sockid id;
|
||||
|
||||
@@ -28,6 +28,13 @@ struct smc_diag_msg {
|
||||
__u64 diag_inode;
|
||||
};
|
||||
|
||||
/* Mode of a connection */
|
||||
enum {
|
||||
SMC_DIAG_MODE_SMCR,
|
||||
SMC_DIAG_MODE_FALLBACK_TCP,
|
||||
SMC_DIAG_MODE_SMCD,
|
||||
};
|
||||
|
||||
/* Extensions */
|
||||
|
||||
enum {
|
||||
@@ -35,6 +42,8 @@ enum {
|
||||
SMC_DIAG_CONNINFO,
|
||||
SMC_DIAG_LGRINFO,
|
||||
SMC_DIAG_SHUTDOWN,
|
||||
SMC_DIAG_DMBINFO,
|
||||
SMC_DIAG_FALLBACK,
|
||||
__SMC_DIAG_MAX,
|
||||
};
|
||||
|
||||
@@ -83,4 +92,18 @@ struct smc_diag_lgrinfo {
|
||||
struct smc_diag_linkinfo lnk[1];
|
||||
__u8 role;
|
||||
};
|
||||
|
||||
struct smc_diag_fallback {
|
||||
__u32 reason;
|
||||
__u32 peer_diagnosis;
|
||||
};
|
||||
|
||||
struct smcd_diag_dmbinfo { /* SMC-D Socket internals */
|
||||
__u32 linkid; /* Link identifier */
|
||||
__u64 peer_gid; /* Peer GID */
|
||||
__u64 my_gid; /* My GID */
|
||||
__u64 token; /* Token of DMB */
|
||||
__u64 peer_token; /* Token of remote DMBE */
|
||||
};
|
||||
|
||||
#endif /* _UAPI_SMC_DIAG_H_ */
|
||||
|
@@ -56,6 +56,7 @@ enum
|
||||
IPSTATS_MIB_ECT1PKTS, /* InECT1Pkts */
|
||||
IPSTATS_MIB_ECT0PKTS, /* InECT0Pkts */
|
||||
IPSTATS_MIB_CEPKTS, /* InCEPkts */
|
||||
IPSTATS_MIB_REASM_OVERLAPS, /* ReasmOverlaps */
|
||||
__IPSTATS_MIB_MAX
|
||||
};
|
||||
|
||||
@@ -279,6 +280,8 @@ enum
|
||||
LINUX_MIB_TCPDELIVERED, /* TCPDelivered */
|
||||
LINUX_MIB_TCPDELIVEREDCE, /* TCPDeliveredCE */
|
||||
LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */
|
||||
LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */
|
||||
LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */
|
||||
__LINUX_MIB_MAX
|
||||
};
|
||||
|
||||
|
@@ -575,7 +575,8 @@ enum {
|
||||
|
||||
/* /proc/sys/net/ipv6/icmp */
|
||||
enum {
|
||||
NET_IPV6_ICMP_RATELIMIT=1
|
||||
NET_IPV6_ICMP_RATELIMIT = 1,
|
||||
NET_IPV6_ICMP_ECHO_IGNORE_ALL = 2
|
||||
};
|
||||
|
||||
/* /proc/sys/net/<protocol>/neigh/<dev> */
|
||||
|
@@ -17,13 +17,15 @@ enum {
|
||||
TCA_PEDIT_KEY_EX,
|
||||
__TCA_PEDIT_MAX
|
||||
};
|
||||
|
||||
#define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1)
|
||||
|
||||
|
||||
enum {
|
||||
TCA_PEDIT_KEY_EX_HTYPE = 1,
|
||||
TCA_PEDIT_KEY_EX_CMD = 2,
|
||||
__TCA_PEDIT_KEY_EX_MAX
|
||||
};
|
||||
|
||||
#define TCA_PEDIT_KEY_EX_MAX (__TCA_PEDIT_KEY_EX_MAX - 1)
|
||||
|
||||
/* TCA_PEDIT_KEY_EX_HDR_TYPE_NETWROK is a special case for legacy users. It
|
||||
@@ -38,6 +40,7 @@ enum pedit_header_type {
|
||||
TCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5,
|
||||
__PEDIT_HDR_TYPE_MAX,
|
||||
};
|
||||
|
||||
#define TCA_PEDIT_HDR_TYPE_MAX (__PEDIT_HDR_TYPE_MAX - 1)
|
||||
|
||||
enum pedit_cmd {
|
||||
@@ -45,6 +48,7 @@ enum pedit_cmd {
|
||||
TCA_PEDIT_KEY_EX_CMD_ADD = 1,
|
||||
__PEDIT_CMD_MAX,
|
||||
};
|
||||
|
||||
#define TCA_PEDIT_CMD_MAX (__PEDIT_CMD_MAX - 1)
|
||||
|
||||
struct tc_pedit_key {
|
||||
@@ -55,13 +59,14 @@ struct tc_pedit_key {
|
||||
__u32 offmask;
|
||||
__u32 shift;
|
||||
};
|
||||
|
||||
|
||||
struct tc_pedit_sel {
|
||||
tc_gen;
|
||||
unsigned char nkeys;
|
||||
unsigned char flags;
|
||||
struct tc_pedit_key keys[0];
|
||||
};
|
||||
|
||||
#define tc_pedit tc_pedit_sel
|
||||
|
||||
#endif
|
||||
|
@@ -30,6 +30,7 @@
|
||||
#define SKBEDIT_F_MARK 0x4
|
||||
#define SKBEDIT_F_PTYPE 0x8
|
||||
#define SKBEDIT_F_MASK 0x10
|
||||
#define SKBEDIT_F_INHERITDSFIELD 0x20
|
||||
|
||||
struct tc_skbedit {
|
||||
tc_gen;
|
||||
@@ -45,6 +46,7 @@ enum {
|
||||
TCA_SKBEDIT_PAD,
|
||||
TCA_SKBEDIT_PTYPE,
|
||||
TCA_SKBEDIT_MASK,
|
||||
TCA_SKBEDIT_FLAGS,
|
||||
__TCA_SKBEDIT_MAX
|
||||
};
|
||||
#define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1)
|
||||
|
@@ -36,9 +36,37 @@ enum {
|
||||
TCA_TUNNEL_KEY_PAD,
|
||||
TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */
|
||||
TCA_TUNNEL_KEY_NO_CSUM, /* u8 */
|
||||
TCA_TUNNEL_KEY_ENC_OPTS, /* Nested TCA_TUNNEL_KEY_ENC_OPTS_
|
||||
* attributes
|
||||
*/
|
||||
TCA_TUNNEL_KEY_ENC_TOS, /* u8 */
|
||||
TCA_TUNNEL_KEY_ENC_TTL, /* u8 */
|
||||
__TCA_TUNNEL_KEY_MAX,
|
||||
};
|
||||
|
||||
#define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_TUNNEL_KEY_ENC_OPTS_UNSPEC,
|
||||
TCA_TUNNEL_KEY_ENC_OPTS_GENEVE, /* Nested
|
||||
* TCA_TUNNEL_KEY_ENC_OPTS_
|
||||
* attributes
|
||||
*/
|
||||
__TCA_TUNNEL_KEY_ENC_OPTS_MAX,
|
||||
};
|
||||
|
||||
#define TCA_TUNNEL_KEY_ENC_OPTS_MAX (__TCA_TUNNEL_KEY_ENC_OPTS_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_TUNNEL_KEY_ENC_OPT_GENEVE_UNSPEC,
|
||||
TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS, /* be16 */
|
||||
TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE, /* u8 */
|
||||
TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA, /* 4 to 128 bytes */
|
||||
|
||||
__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX,
|
||||
};
|
||||
|
||||
#define TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX \
|
||||
(__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX - 1)
|
||||
|
||||
#endif
|
||||
|
@@ -235,6 +235,11 @@ struct tcp_info {
|
||||
|
||||
__u32 tcpi_delivered;
|
||||
__u32 tcpi_delivered_ce;
|
||||
|
||||
__u64 tcpi_bytes_sent; /* RFC4898 tcpEStatsPerfHCDataOctetsOut */
|
||||
__u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */
|
||||
__u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */
|
||||
__u32 tcpi_reord_seen; /* reordering events seen */
|
||||
};
|
||||
|
||||
/* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */
|
||||
@@ -257,7 +262,10 @@ enum {
|
||||
TCP_NLA_SND_SSTHRESH, /* Slow start size threshold */
|
||||
TCP_NLA_DELIVERED, /* Data pkts delivered incl. out-of-order */
|
||||
TCP_NLA_DELIVERED_CE, /* Like above but only ones w/ CE marks */
|
||||
|
||||
TCP_NLA_BYTES_SENT, /* Data bytes sent including retransmission */
|
||||
TCP_NLA_BYTES_RETRANS, /* Data bytes retransmitted */
|
||||
TCP_NLA_DSACK_DUPS, /* DSACK blocks received */
|
||||
TCP_NLA_REORD_SEEN, /* reordering events seen */
|
||||
};
|
||||
|
||||
/* for TCP_MD5SIG socket option */
|
||||
|
@@ -121,6 +121,7 @@ enum {
|
||||
TIPC_NLA_SOCK_TIPC_STATE, /* u32 */
|
||||
TIPC_NLA_SOCK_COOKIE, /* u64 */
|
||||
TIPC_NLA_SOCK_PAD, /* flag */
|
||||
TIPC_NLA_SOCK_GROUP, /* nest */
|
||||
|
||||
__TIPC_NLA_SOCK_MAX,
|
||||
TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1
|
||||
@@ -233,6 +234,19 @@ enum {
|
||||
TIPC_NLA_MON_PEER_MAX = __TIPC_NLA_MON_PEER_MAX - 1
|
||||
};
|
||||
|
||||
/* Nest, socket group info */
|
||||
enum {
|
||||
TIPC_NLA_SOCK_GROUP_ID, /* u32 */
|
||||
TIPC_NLA_SOCK_GROUP_OPEN, /* flag */
|
||||
TIPC_NLA_SOCK_GROUP_NODE_SCOPE, /* flag */
|
||||
TIPC_NLA_SOCK_GROUP_CLUSTER_SCOPE, /* flag */
|
||||
TIPC_NLA_SOCK_GROUP_INSTANCE, /* u32 */
|
||||
TIPC_NLA_SOCK_GROUP_BC_SEND_NEXT, /* u32 */
|
||||
|
||||
__TIPC_NLA_SOCK_GROUP_MAX,
|
||||
TIPC_NLA_SOCK_GROUP_MAX = __TIPC_NLA_SOCK_GROUP_MAX - 1
|
||||
};
|
||||
|
||||
/* Nest, connection info */
|
||||
enum {
|
||||
TIPC_NLA_CON_UNSPEC,
|
||||
|
@@ -65,6 +65,7 @@ struct vhost_iotlb_msg {
|
||||
};
|
||||
|
||||
#define VHOST_IOTLB_MSG 0x1
|
||||
#define VHOST_IOTLB_MSG_V2 0x2
|
||||
|
||||
struct vhost_msg {
|
||||
int type;
|
||||
@@ -74,6 +75,15 @@ struct vhost_msg {
|
||||
};
|
||||
};
|
||||
|
||||
struct vhost_msg_v2 {
|
||||
__u32 type;
|
||||
__u32 reserved;
|
||||
union {
|
||||
struct vhost_iotlb_msg iotlb;
|
||||
__u8 padding[64];
|
||||
};
|
||||
};
|
||||
|
||||
struct vhost_memory_region {
|
||||
__u64 guest_phys_addr;
|
||||
__u64 memory_size; /* bytes */
|
||||
@@ -160,6 +170,14 @@ struct vhost_memory {
|
||||
#define VHOST_GET_VRING_BUSYLOOP_TIMEOUT _IOW(VHOST_VIRTIO, 0x24, \
|
||||
struct vhost_vring_state)
|
||||
|
||||
/* Set or get vhost backend capability */
|
||||
|
||||
/* Use message type V2 */
|
||||
#define VHOST_BACKEND_F_IOTLB_MSG_V2 0x1
|
||||
|
||||
#define VHOST_SET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x25, __u64)
|
||||
#define VHOST_GET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x26, __u64)
|
||||
|
||||
/* VHOST_NET specific defines */
|
||||
|
||||
/* Attach virtio net ring to a raw socket, or tap device.
|
||||
|
@@ -305,9 +305,12 @@ enum xfrm_attr_type_t {
|
||||
XFRMA_ADDRESS_FILTER, /* struct xfrm_address_filter */
|
||||
XFRMA_PAD,
|
||||
XFRMA_OFFLOAD_DEV, /* struct xfrm_state_offload */
|
||||
XFRMA_OUTPUT_MARK, /* __u32 */
|
||||
XFRMA_SET_MARK, /* __u32 */
|
||||
XFRMA_SET_MARK_MASK, /* __u32 */
|
||||
XFRMA_IF_ID, /* __u32 */
|
||||
__XFRMA_MAX
|
||||
|
||||
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
||||
#define XFRMA_MAX (__XFRMA_MAX - 1)
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user