]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
Update kernel headers
authorDavid Ahern <dsahern@gmail.com>
Fri, 6 Jul 2018 15:42:22 +0000 (08:42 -0700)
committerDavid Ahern <dsahern@gmail.com>
Fri, 6 Jul 2018 15:42:22 +0000 (08:42 -0700)
Update kernel headers to commit
ab8565af68001 ("Merge branch 'IP-listification-follow-ups'")

Signed-off-by: David Ahern <dsahern@gmail.com>
include/uapi/linux/bpf.h
include/uapi/linux/devlink.h
include/uapi/linux/ila.h
include/uapi/linux/pkt_sched.h
include/uapi/linux/sctp.h
include/uapi/linux/tc_act/tc_pedit.h
include/uapi/linux/tc_act/tc_skbedit.h
include/uapi/linux/tc_act/tc_tunnel_key.h
include/uapi/linux/tipc_netlink.h

index db4620a97039439c83057e467e05928bccfa00c3..57e739088ca2716395049e6352390364a24283b8 100644 (file)
@@ -1857,7 +1857,8 @@ union bpf_attr {
  *             is resolved), the nexthop address is returned in ipv4_dst
  *             or ipv6_dst based on family, smac is set to mac address of
  *             egress device, dmac is set to nexthop mac address, rt_metric
- *             is set to metric from route (IPv4/IPv6 only).
+ *             is set to metric from route (IPv4/IPv6 only), and ifindex
+ *             is set to the device index of the nexthop from the FIB lookup.
  *
  *             *plen* argument is the size of the passed in struct.
  *             *flags* argument can be a combination of one or more of the
@@ -1873,9 +1874,10 @@ union bpf_attr {
  *             *ctx* is either **struct xdp_md** for XDP programs or
  *             **struct sk_buff** tc cls_act programs.
  *     Return
- *             Egress device index on success, 0 if packet needs to continue
- *             up the stack for further processing or a negative error in case
- *             of failure.
+ *             * < 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
  *
  * int bpf_sock_hash_update(struct bpf_sock_ops_kern *skops, struct bpf_map *map, void *key, u64 flags)
  *     Description
@@ -2612,6 +2614,18 @@ struct bpf_raw_tracepoint_args {
 #define BPF_FIB_LOOKUP_DIRECT  BIT(0)
 #define BPF_FIB_LOOKUP_OUTPUT  BIT(1)
 
+enum {
+       BPF_FIB_LKUP_RET_SUCCESS,      /* lookup successful */
+       BPF_FIB_LKUP_RET_BLACKHOLE,    /* dest is blackholed; can be dropped */
+       BPF_FIB_LKUP_RET_UNREACHABLE,  /* dest is unreachable; can be dropped */
+       BPF_FIB_LKUP_RET_PROHIBIT,     /* dest not allowed; can be dropped */
+       BPF_FIB_LKUP_RET_NOT_FWDED,    /* packet is not forwarded */
+       BPF_FIB_LKUP_RET_FWD_DISABLED, /* fwding is not enabled on ingress */
+       BPF_FIB_LKUP_RET_UNSUPP_LWT,   /* fwd requires encapsulation */
+       BPF_FIB_LKUP_RET_NO_NEIGH,     /* no neighbor entry for nh */
+       BPF_FIB_LKUP_RET_FRAG_NEEDED,  /* fragmentation required to fwd */
+};
+
 struct bpf_fib_lookup {
        /* input:  network family for lookup (AF_INET, AF_INET6)
         * output: network family of egress nexthop
@@ -2625,7 +2639,11 @@ struct bpf_fib_lookup {
 
        /* total length of packet from network header - used for MTU check */
        __u16   tot_len;
-       __u32   ifindex;  /* L3 device index for lookup */
+
+       /* input: L3 device index for lookup
+        * output: device index from FIB lookup
+        */
+       __u32   ifindex;
 
        union {
                /* inputs to lookup */
index 493f71fef7ee52edc613f452b01ede3e9faa7762..f7fadd7ba8299a1fc1075ddb6ba114450865be7c 100644 (file)
@@ -78,6 +78,11 @@ enum devlink_command {
         */
        DEVLINK_CMD_RELOAD,
 
+       DEVLINK_CMD_PARAM_GET,          /* can dump */
+       DEVLINK_CMD_PARAM_SET,
+       DEVLINK_CMD_PARAM_NEW,
+       DEVLINK_CMD_PARAM_DEL,
+
        /* add new commands above here */
        __DEVLINK_CMD_MAX,
        DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
@@ -142,6 +147,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 +253,15 @@ 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 */
+
        /* add new attributes above here, update the policy in devlink.c */
 
        __DEVLINK_ATTR_MAX,
index 666292cfc6e54a6380cfbd8e57ac8d81bbbf99f4..6a6c97cf2c40cfefa889cad9a86ae0c1ff992ce3 100644 (file)
@@ -30,6 +30,7 @@ enum {
        ILA_CMD_ADD,
        ILA_CMD_DEL,
        ILA_CMD_GET,
+       ILA_CMD_FLUSH,
 
        __ILA_CMD_MAX,
 };
index 37b5096ae97be4e6115b0941b82918e11250ee6b..9491184610096cafbd0ccf432a0e70882c50cbb9 100644 (file)
@@ -539,6 +539,7 @@ enum {
        TCA_NETEM_LATENCY64,
        TCA_NETEM_JITTER64,
        TCA_NETEM_SLOT,
+       TCA_NETEM_SLOT_DIST,
        __TCA_NETEM_MAX,
 };
 
@@ -581,6 +582,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 +937,22 @@ 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)
+
 #endif
index 2d95ddc1bdcf7f2068117406964c71618f831976..dd164d7f4f41a6b2c888aa0834f2fee5524df4b6 100644 (file)
@@ -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)));
 
 /*
index 162d1094c41c09ca832c0139474f99b62e6a4aaf..24ec792dacc1828f814625a6b6e0109566e4843b 100644 (file)
@@ -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
index fbcfe27a4e6c4173553fe675655f86c2e4f51045..6de6071ebed605f3165ad49eca2ac645b4cff5a9 100644 (file)
@@ -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)
index 72bbefe5d1d12234fcf34f00fd32acb0a3555fcb..e284fec8c467cc7bfdb121432f63dadfce42b712 100644 (file)
@@ -36,9 +36,35 @@ 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_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
index 85c11982c89b38a3995db683d08b7f89ac2e3889..0ebe02ef1a86b1eeceeac99c8354bd38516a26e2 100644 (file)
@@ -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,