]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
Update kernels for net-next
authorStephen Hemminger <shemming@brocade.com>
Thu, 21 May 2015 21:52:08 +0000 (14:52 -0700)
committerStephen Hemminger <shemming@brocade.com>
Thu, 21 May 2015 21:52:08 +0000 (14:52 -0700)
Get latest files

include/linux/bpf.h
include/linux/can.h
include/linux/if_link.h
include/linux/mpls.h
include/linux/netfilter.h
include/linux/netlink.h
include/linux/pkt_cls.h
include/linux/pkt_sched.h
include/linux/tcp.h

index 738ecce750ec0a33e13520b3ce604d76f3218f37..a67e7fa6ac4f294d72b71bdd44b90ebbfbde634c 100644 (file)
@@ -113,6 +113,7 @@ enum bpf_map_type {
        BPF_MAP_TYPE_UNSPEC,
        BPF_MAP_TYPE_HASH,
        BPF_MAP_TYPE_ARRAY,
+       BPF_MAP_TYPE_PROG_ARRAY,
 };
 
 enum bpf_prog_type {
@@ -210,6 +211,15 @@ enum bpf_func_id {
         * Return: 0 on success
         */
        BPF_FUNC_l4_csum_replace,
+
+       /**
+        * bpf_tail_call(ctx, prog_array_map, index) - jump into another BPF program
+        * @ctx: context pointer passed to next program
+        * @prog_array_map: pointer to map which type is BPF_MAP_TYPE_PROG_ARRAY
+        * @index: index inside array that selects specific program to run
+        * Return: 0 on success
+        */
+       BPF_FUNC_tail_call,
        __BPF_FUNC_MAX_ID,
 };
 
index d9ba97f3252db22f8265e3e195948cb3e55f2a99..4af39b083bb2bcb232cccb24df0b796f7c10aa5d 100644 (file)
@@ -95,11 +95,17 @@ typedef __u32 can_err_mask_t;
  * @can_dlc: frame payload length in byte (0 .. 8) aka data length code
  *           N.B. the DLC field from ISO 11898-1 Chapter 8.4.2.3 has a 1:1
  *           mapping of the 'data length code' to the real payload length
+ * @__pad:   padding
+ * @__res0:  reserved / padding
+ * @__res1:  reserved / padding
  * @data:    CAN frame payload (up to 8 byte)
  */
 struct can_frame {
        canid_t can_id;  /* 32 bit CAN_ID + EFF/RTR/ERR flags */
        __u8    can_dlc; /* frame payload length in byte (0 .. CAN_MAX_DLEN) */
+       __u8    __pad;   /* padding */
+       __u8    __res0;  /* reserved / padding */
+       __u8    __res1;  /* reserved / padding */
        __u8    data[CAN_MAX_DLEN] __attribute__((aligned(8)));
 };
 
index 3d0d6131773355a8c4e033b1a13c88bf33ded660..7720ad34c6b3a7ff5312cb37f1da21def1464099 100644 (file)
@@ -388,6 +388,15 @@ struct ifla_vxlan_port_range {
        __be16  high;
 };
 
+/* GENEVE section */
+enum {
+       IFLA_GENEVE_UNSPEC,
+       IFLA_GENEVE_ID,
+       IFLA_GENEVE_REMOTE,
+       __IFLA_GENEVE_MAX
+};
+#define IFLA_GENEVE_MAX        (__IFLA_GENEVE_MAX - 1)
+
 /* Bonding section */
 
 enum {
@@ -415,6 +424,9 @@ enum {
        IFLA_BOND_AD_LACP_RATE,
        IFLA_BOND_AD_SELECT,
        IFLA_BOND_AD_INFO,
+       IFLA_BOND_AD_ACTOR_SYS_PRIO,
+       IFLA_BOND_AD_USER_PORT_KEY,
+       IFLA_BOND_AD_ACTOR_SYSTEM,
        __IFLA_BOND_MAX,
 };
 
index 08939023b4b4f6554b07306f537a7cdeff9a4a26..13c55eb8efd71de438b1c5f6f6e1219d4331b130 100644 (file)
@@ -31,4 +31,14 @@ struct mpls_label {
 #define MPLS_LS_TTL_MASK        0x000000FF
 #define MPLS_LS_TTL_SHIFT       0
 
+/* Reserved labels */
+#define MPLS_LABEL_IPV4NULL            0 /* RFC3032 */
+#define MPLS_LABEL_RTALERT             1 /* RFC3032 */
+#define MPLS_LABEL_IPV6NULL            2 /* RFC3032 */
+#define MPLS_LABEL_IMPLNULL            3 /* RFC3032 */
+#define MPLS_LABEL_ENTROPY             7 /* RFC6790 */
+#define MPLS_LABEL_GAL                 13 /* RFC5586 */
+#define MPLS_LABEL_OAMALERT            14 /* RFC3429 */
+#define MPLS_LABEL_EXTENSION           15 /* RFC7274 */
+
 #endif /* _MPLS_H */
index be0bc18239919a27930d14e2f11e378f1a5a40b0..37931eea8a6e8fed0fd7eed2d1f585e2e129ec4e 100644 (file)
@@ -49,11 +49,17 @@ enum nf_inet_hooks {
        NF_INET_NUMHOOKS
 };
 
+enum nf_dev_hooks {
+       NF_NETDEV_INGRESS,
+       NF_NETDEV_NUMHOOKS
+};
+
 enum {
        NFPROTO_UNSPEC =  0,
        NFPROTO_INET   =  1,
        NFPROTO_IPV4   =  2,
        NFPROTO_ARP    =  3,
+       NFPROTO_NETDEV =  5,
        NFPROTO_BRIDGE =  7,
        NFPROTO_IPV6   = 10,
        NFPROTO_DECNET = 12,
index e0a09df1a687611424edd65587f7892643096899..0c89ddd73f502c0b94ab03b5aca8dcba93fdb203 100644 (file)
@@ -108,6 +108,7 @@ struct nlmsgerr {
 #define NETLINK_NO_ENOBUFS     5
 #define NETLINK_RX_RING                6
 #define NETLINK_TX_RING                7
+#define NETLINK_LISTEN_ALL_NSID        8
 
 struct nl_pktinfo {
        __u32   group;
index 5674737f988bc270f005fced11beaa499d0b41d5..b3f2587b75af6a7aaf52852aeb4a3378339f25ab 100644 (file)
@@ -405,6 +405,36 @@ enum {
 
 #define TCA_BPF_MAX (__TCA_BPF_MAX - 1)
 
+/* Flower classifier */
+
+enum {
+       TCA_FLOWER_UNSPEC,
+       TCA_FLOWER_CLASSID,
+       TCA_FLOWER_INDEV,
+       TCA_FLOWER_ACT,
+       TCA_FLOWER_KEY_ETH_DST,         /* ETH_ALEN */
+       TCA_FLOWER_KEY_ETH_DST_MASK,    /* ETH_ALEN */
+       TCA_FLOWER_KEY_ETH_SRC,         /* ETH_ALEN */
+       TCA_FLOWER_KEY_ETH_SRC_MASK,    /* ETH_ALEN */
+       TCA_FLOWER_KEY_ETH_TYPE,        /* be16 */
+       TCA_FLOWER_KEY_IP_PROTO,        /* u8 */
+       TCA_FLOWER_KEY_IPV4_SRC,        /* be32 */
+       TCA_FLOWER_KEY_IPV4_SRC_MASK,   /* be32 */
+       TCA_FLOWER_KEY_IPV4_DST,        /* be32 */
+       TCA_FLOWER_KEY_IPV4_DST_MASK,   /* be32 */
+       TCA_FLOWER_KEY_IPV6_SRC,        /* struct in6_addr */
+       TCA_FLOWER_KEY_IPV6_SRC_MASK,   /* struct in6_addr */
+       TCA_FLOWER_KEY_IPV6_DST,        /* struct in6_addr */
+       TCA_FLOWER_KEY_IPV6_DST_MASK,   /* struct in6_addr */
+       TCA_FLOWER_KEY_TCP_SRC,         /* be16 */
+       TCA_FLOWER_KEY_TCP_DST,         /* be16 */
+       TCA_FLOWER_KEY_UDP_SRC,         /* be16 */
+       TCA_FLOWER_KEY_UDP_DST,         /* be16 */
+       __TCA_FLOWER_MAX,
+};
+
+#define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1)
+
 /* Extended Matches */
 
 struct tcf_ematch_tree_hdr {
index 534b847107453019d362e9f9f9c0969fc3100c8b..8d2530daca9f084c7c033952a57a8f3eb52062b2 100644 (file)
@@ -268,7 +268,8 @@ enum {
        TCA_GRED_STAB,
        TCA_GRED_DPS,
        TCA_GRED_MAX_P,
-          __TCA_GRED_MAX,
+       TCA_GRED_LIMIT,
+       __TCA_GRED_MAX,
 };
 
 #define TCA_GRED_MAX (__TCA_GRED_MAX - 1)
@@ -679,6 +680,7 @@ enum {
        TCA_CODEL_LIMIT,
        TCA_CODEL_INTERVAL,
        TCA_CODEL_ECN,
+       TCA_CODEL_CE_THRESHOLD,
        __TCA_CODEL_MAX
 };
 
@@ -695,6 +697,7 @@ struct tc_codel_xstats {
        __u32   drop_overlimit; /* number of time max qdisc packet limit was hit */
        __u32   ecn_mark;  /* number of packets we ECN marked instead of dropped */
        __u32   dropping;  /* are we in dropping state ? */
+       __u32   ce_mark;   /* number of CE marked packets because of ce_threshold */
 };
 
 /* FQ_CODEL */
@@ -707,6 +710,7 @@ enum {
        TCA_FQ_CODEL_ECN,
        TCA_FQ_CODEL_FLOWS,
        TCA_FQ_CODEL_QUANTUM,
+       TCA_FQ_CODEL_CE_THRESHOLD,
        __TCA_FQ_CODEL_MAX
 };
 
@@ -730,6 +734,7 @@ struct tc_fq_codel_qd_stats {
                                 */
        __u32   new_flows_len;  /* count of flows in new list */
        __u32   old_flows_len;  /* count of flows in old list */
+       __u32   ce_mark;        /* packets above ce_threshold */
 };
 
 struct tc_fq_codel_cl_stats {
index 1e002563be7267fec1afca1d311d27fc62c8f5a9..8b17cff161c908b74b5b1d5a86e2e2c0ddfc9d69 100644 (file)
@@ -113,6 +113,8 @@ enum {
 #define TCP_TIMESTAMP          24
 #define TCP_NOTSENT_LOWAT      25      /* limit number of unsent bytes in write queue */
 #define TCP_CC_INFO            26      /* Get Congestion Control (optional) info */
+#define TCP_SAVE_SYN           27      /* Record SYN headers for new connections */
+#define TCP_SAVED_SYN          28      /* Get SYN headers recorded for connection */
 
 struct tcp_repair_opt {
        __u32   opt_code;