]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
Update kernel headers
authorDavid Ahern <dsahern@gmail.com>
Sun, 12 Aug 2018 21:23:31 +0000 (14:23 -0700)
committerDavid Ahern <dsahern@gmail.com>
Sun, 12 Aug 2018 21:23:31 +0000 (14:23 -0700)
Update kernel headers to commit
78cbac647e61 (Merge branch 'ip-faster-in-order-IP-fragments'")

Signed-off-by: David Ahern <dsahern@gmail.com>
include/uapi/linux/bpf.h
include/uapi/linux/btf.h
include/uapi/linux/can.h
include/uapi/linux/if_link.h
include/uapi/linux/ip.h
include/uapi/linux/l2tp.h
include/uapi/linux/netconf.h
include/uapi/linux/pkt_cls.h
include/uapi/linux/tcp.h
include/uapi/linux/xfrm.h

index b9a63672b297c793519c5073d99f8f2188e1a7b1..4bbe7e5d4c8004e15811a32ded6e65f103d6a90d 100644 (file)
@@ -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,7 @@ enum bpf_map_type {
        BPF_MAP_TYPE_CPUMAP,
        BPF_MAP_TYPE_XSKMAP,
        BPF_MAP_TYPE_SOCKHASH,
+       BPF_MAP_TYPE_CGROUP_STORAGE,
 };
 
 enum bpf_prog_type {
@@ -1371,6 +1377,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
@@ -2075,6 +2095,24 @@ union bpf_attr {
  *     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.
  */
 #define __BPF_FUNC_MAPPER(FN)          \
        FN(unspec),                     \
@@ -2157,7 +2195,8 @@ 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),
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
  * function eBPF program intends to call
index 5dd580a6726cd9839d57cf10b63004e7eeb4d2ad..8d2a8ffad56f92936fda42c25f2ec91f9bb3414f 100644 (file)
@@ -76,7 +76,7 @@ struct btf_type {
  */
 #define BTF_INT_ENCODING(VAL)  (((VAL) & 0x0f000000) >> 24)
 #define BTF_INT_OFFSET(VAL)    (((VAL  & 0x00ff0000)) >> 16)
-#define BTF_INT_BITS(VAL)      ((VAL)  & 0x0000ffff)
+#define BTF_INT_BITS(VAL)      ((VAL)  & 0x000000ff)
 
 /* Attributes stored in the BTF_INT_ENCODING */
 #define BTF_INT_SIGNED (1 << 0)
index 4d1ab8e7a49848db1f0ab117b9653e70d0556957..9009f0b6505cf3a0fd604c80e35b8b70332e0c62 100644 (file)
@@ -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;
index 26e8cf8b45aa7cb90cebf12c86a3cee1497a1597..f4a97151b9a5887559a8ca92629ac8becc1f7f3f 100644 (file)
@@ -164,6 +164,8 @@ enum {
        IFLA_CARRIER_UP_COUNT,
        IFLA_CARRIER_DOWN_COUNT,
        IFLA_NEW_IFINDEX,
+       IFLA_MIN_MTU,
+       IFLA_MAX_MTU,
        __IFLA_MAX
 };
 
@@ -458,6 +460,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,
index 883fd334496abbdd68f381d681afe3dc8a1aef14..f4ecd2fab84b5493a6201965813b04b02bf26064 100644 (file)
@@ -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
 };
 
index 1fe52a7dd4a94c04cdb8a64c3ee4a8b66cbad9c6..131c3a26c2959406ef32e551f835f90ca0d74b94 100644 (file)
@@ -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,
index 86ac1eb4c06e3430fa88c77b02a0f0ad51cb8b06..229e885179ad66e3778f2bc2682ad4ce07f7b0e1 100644 (file)
@@ -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)
index b4512254036b9658b3e0a176103a47d911579f76..be382fb0592d8e74a74a490d3914ab0207b81cdc 100644 (file)
@@ -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 {
@@ -478,11 +480,37 @@ enum {
        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),
index 99e329b736e2e57cef9dab7d035c0a9aba741737..6ec776621806bf5ca2756b916e33da78f5a36ccc 100644 (file)
@@ -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 */
index 93fb1920101a242d15558b6640b6af91c106f9db..5cdda9d37bdc01875db75f2efee210519223e16c 100644 (file)
@@ -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)
 };