]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
Update kernel headers
authorDavid Ahern <dsahern@gmail.com>
Wed, 4 Mar 2020 19:44:21 +0000 (19:44 +0000)
committerDavid Ahern <dsahern@gmail.com>
Wed, 4 Mar 2020 19:44:21 +0000 (19:44 +0000)
Update kernel headers to commit
ef71037047b0 ("Merge branch 'act_ct-software-offload-of-established-flows-fixes'")

Signed-off-by: David Ahern <dsahern@gmail.com>
include/uapi/linux/bpf.h
include/uapi/linux/devlink.h
include/uapi/linux/if_link.h
include/uapi/linux/inet_diag.h
include/uapi/linux/sock_diag.h
include/uapi/linux/tcp.h

index 657645801e81f519c074a21454e389b7fc50f111..73a52a21ae9099ab15a147289947ff6b4eaf9d8e 100644 (file)
@@ -73,7 +73,7 @@ struct bpf_insn {
 /* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */
 struct bpf_lpm_trie_key {
        __u32   prefixlen;      /* up to 32 for AF_INET, 128 for AF_INET6 */
-       __u8    data[0];        /* Arbitrary size */
+       __u8    data[]; /* Arbitrary size */
 };
 
 struct bpf_cgroup_storage_key {
@@ -2890,6 +2890,25 @@ union bpf_attr {
  *             Obtain the 64bit jiffies
  *     Return
  *             The 64 bit jiffies
+ *
+ * int bpf_read_branch_records(struct bpf_perf_event_data *ctx, void *buf, u32 size, u64 flags)
+ *     Description
+ *             For an eBPF program attached to a perf event, retrieve the
+ *             branch records (struct perf_branch_entry) associated to *ctx*
+ *             and store it in the buffer pointed by *buf* up to size
+ *             *size* bytes.
+ *     Return
+ *             On success, number of bytes written to *buf*. On error, a
+ *             negative value.
+ *
+ *             The *flags* can be set to **BPF_F_GET_BRANCH_RECORDS_SIZE** to
+ *             instead return the number of bytes required to store all the
+ *             branch entries. If this flag is set, *buf* may be NULL.
+ *
+ *             **-EINVAL** if arguments invalid or **size** not a multiple
+ *             of sizeof(struct perf_branch_entry).
+ *
+ *             **-ENOENT** if architecture does not support branch records.
  */
 #define __BPF_FUNC_MAPPER(FN)          \
        FN(unspec),                     \
@@ -3010,7 +3029,8 @@ union bpf_attr {
        FN(probe_read_kernel_str),      \
        FN(tcp_send_ack),               \
        FN(send_signal_thread),         \
-       FN(jiffies64),
+       FN(jiffies64),                  \
+       FN(read_branch_records),
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
  * function eBPF program intends to call
@@ -3089,6 +3109,9 @@ enum bpf_func_id {
 /* BPF_FUNC_sk_storage_get flags */
 #define BPF_SK_STORAGE_GET_F_CREATE    (1ULL << 0)
 
+/* BPF_FUNC_read_branch_records flags. */
+#define BPF_F_GET_BRANCH_RECORDS_SIZE  (1ULL << 0)
+
 /* Mode for BPF_FUNC_skb_adjust_room helper. */
 enum bpf_adj_room_mode {
        BPF_ADJ_ROOM_NET,
index 3f82dedda28f50fceb45261c55312f49d47bc168..1b412281db23e1dc9d85dcab58acafb48d61bb31 100644 (file)
@@ -187,6 +187,7 @@ enum devlink_port_flavour {
                                      * for the PCI VF. It is an internal
                                      * port that faces the PCI VF.
                                      */
+       DEVLINK_PORT_FLAVOUR_VIRTUAL, /* Any virtual port facing the user. */
 };
 
 enum devlink_param_cmode {
@@ -252,6 +253,8 @@ enum devlink_trap_type {
 enum {
        /* Trap can report input port as metadata */
        DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT,
+       /* Trap can report flow action cookie as metadata */
+       DEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE,
 };
 
 enum devlink_attr {
index 533abd2cfcb88f4ae4ddff9cb3a8e12ebeb7f0aa..cb88bcb4728735a85e3b608b02d0f6a1845f4610 100644 (file)
@@ -588,6 +588,18 @@ enum ifla_geneve_df {
        GENEVE_DF_MAX = __GENEVE_DF_END - 1,
 };
 
+/* Bareudp section  */
+enum {
+       IFLA_BAREUDP_UNSPEC,
+       IFLA_BAREUDP_PORT,
+       IFLA_BAREUDP_ETHERTYPE,
+       IFLA_BAREUDP_SRCPORT_MIN,
+       IFLA_BAREUDP_MULTIPROTO_MODE,
+       __IFLA_BAREUDP_MAX
+};
+
+#define IFLA_BAREUDP_MAX (__IFLA_BAREUDP_MAX - 1)
+
 /* PPP section */
 enum {
        IFLA_PPP_UNSPEC,
index 3dff6841486a4309fdae94fe2673f3211e73ed2c..e045d170334b1709eba2eda6bbde724110175225 100644 (file)
@@ -64,9 +64,11 @@ struct inet_diag_req_raw {
 enum {
        INET_DIAG_REQ_NONE,
        INET_DIAG_REQ_BYTECODE,
+       INET_DIAG_REQ_SK_BPF_STORAGES,
+       __INET_DIAG_REQ_MAX,
 };
 
-#define INET_DIAG_REQ_MAX INET_DIAG_REQ_BYTECODE
+#define INET_DIAG_REQ_MAX (__INET_DIAG_REQ_MAX - 1)
 
 /* Bytecode is sequence of 4 byte commands followed by variable arguments.
  * All the commands identified by "code" are conditional jumps forward:
@@ -154,6 +156,7 @@ enum {
        INET_DIAG_CLASS_ID,     /* request as INET_DIAG_TCLASS */
        INET_DIAG_MD5SIG,
        INET_DIAG_ULP_INFO,
+       INET_DIAG_SK_BPF_STORAGES,
        __INET_DIAG_MAX,
 };
 
index a69cf20ff174a4d27dac8e8b3cbc5ed18cbba667..35c0ce6783c9d7b26d5b30da07226c30cbebc1fa 100644 (file)
@@ -36,4 +36,30 @@ enum sknetlink_groups {
 };
 #define SKNLGRP_MAX    (__SKNLGRP_MAX - 1)
 
+enum {
+       SK_DIAG_BPF_STORAGE_REQ_NONE,
+       SK_DIAG_BPF_STORAGE_REQ_MAP_FD,
+       __SK_DIAG_BPF_STORAGE_REQ_MAX,
+};
+
+#define SK_DIAG_BPF_STORAGE_REQ_MAX    (__SK_DIAG_BPF_STORAGE_REQ_MAX - 1)
+
+enum {
+       SK_DIAG_BPF_STORAGE_REP_NONE,
+       SK_DIAG_BPF_STORAGE,
+       __SK_DIAG_BPF_STORAGE_REP_MAX,
+};
+
+#define SK_DIAB_BPF_STORAGE_REP_MAX    (__SK_DIAG_BPF_STORAGE_REP_MAX - 1)
+
+enum {
+       SK_DIAG_BPF_STORAGE_NONE,
+       SK_DIAG_BPF_STORAGE_PAD,
+       SK_DIAG_BPF_STORAGE_MAP_ID,
+       SK_DIAG_BPF_STORAGE_MAP_VALUE,
+       __SK_DIAG_BPF_STORAGE_MAX,
+};
+
+#define SK_DIAG_BPF_STORAGE_MAX        (__SK_DIAG_BPF_STORAGE_MAX - 1)
+
 #endif /* __SOCK_DIAG_H__ */
index d79550b3f2a0b917819af85f97c3348dba8832d4..36532937a24e296db82d61175f04c00c3e6988e7 100644 (file)
@@ -345,5 +345,7 @@ struct tcp_zerocopy_receive {
        __u64 address;          /* in: address of mapping */
        __u32 length;           /* in/out: number of bytes to map/mapped */
        __u32 recv_skip_hint;   /* out: amount of bytes to skip */
+       __u32 inq; /* out: amount of bytes in read queue */
+       __s32 err; /* out: socket error */
 };
 #endif /* _LINUX_TCP_H */