]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
Update kernel headers
authorDavid Ahern <dsahern@kernel.org>
Fri, 11 Jun 2021 02:38:23 +0000 (02:38 +0000)
committerDavid Ahern <dsahern@kernel.org>
Fri, 11 Jun 2021 02:38:23 +0000 (02:38 +0000)
Update kernel headers to commit:
    76cf404c40ae ("Merge branch 'ipa-mem-2'")

Signed-off-by: David Ahern <dsahern@kernel.org>
include/uapi/linux/bpf.h
include/uapi/linux/can.h
include/uapi/linux/devlink.h
include/uapi/linux/if_bonding.h
include/uapi/linux/if_bridge.h
include/uapi/linux/if_link.h
include/uapi/linux/netlink.h
include/uapi/linux/virtio_ids.h

index 33abd855c6f32ed2cbb0a0744dcf70e39df50d45..377615bc237585e19d50775d90fda48f24b79f29 100644 (file)
@@ -837,6 +837,7 @@ enum bpf_cmd {
        BPF_PROG_ATTACH,
        BPF_PROG_DETACH,
        BPF_PROG_TEST_RUN,
+       BPF_PROG_RUN = BPF_PROG_TEST_RUN,
        BPF_PROG_GET_NEXT_ID,
        BPF_MAP_GET_NEXT_ID,
        BPF_PROG_GET_FD_BY_ID,
@@ -937,6 +938,7 @@ enum bpf_prog_type {
        BPF_PROG_TYPE_EXT,
        BPF_PROG_TYPE_LSM,
        BPF_PROG_TYPE_SK_LOOKUP,
+       BPF_PROG_TYPE_SYSCALL, /* a program that can execute syscalls */
 };
 
 enum bpf_attach_type {
@@ -1097,8 +1099,8 @@ enum bpf_link_type {
 /* When BPF ldimm64's insn[0].src_reg != 0 then this can have
  * the following extensions:
  *
- * insn[0].src_reg:  BPF_PSEUDO_MAP_FD
- * insn[0].imm:      map fd
+ * insn[0].src_reg:  BPF_PSEUDO_MAP_[FD|IDX]
+ * insn[0].imm:      map fd or fd_idx
  * insn[1].imm:      0
  * insn[0].off:      0
  * insn[1].off:      0
@@ -1106,15 +1108,19 @@ enum bpf_link_type {
  * verifier type:    CONST_PTR_TO_MAP
  */
 #define BPF_PSEUDO_MAP_FD      1
-/* insn[0].src_reg:  BPF_PSEUDO_MAP_VALUE
- * insn[0].imm:      map fd
+#define BPF_PSEUDO_MAP_IDX     5
+
+/* insn[0].src_reg:  BPF_PSEUDO_MAP_[IDX_]VALUE
+ * insn[0].imm:      map fd or fd_idx
  * insn[1].imm:      offset into value
  * insn[0].off:      0
  * insn[1].off:      0
  * ldimm64 rewrite:  address of map[0]+offset
  * verifier type:    PTR_TO_MAP_VALUE
  */
-#define BPF_PSEUDO_MAP_VALUE   2
+#define BPF_PSEUDO_MAP_VALUE           2
+#define BPF_PSEUDO_MAP_IDX_VALUE       6
+
 /* insn[0].src_reg:  BPF_PSEUDO_BTF_ID
  * insn[0].imm:      kernel btd id of VAR
  * insn[1].imm:      0
@@ -1314,6 +1320,8 @@ union bpf_attr {
                        /* or valid module BTF object fd or 0 to attach to vmlinux */
                        __u32           attach_btf_obj_fd;
                };
+               __u32           :32;            /* pad */
+               __aligned_u64   fd_array;       /* array of FDs */
        };
 
        struct { /* anonymous struct used by BPF_OBJ_* commands */
@@ -4735,6 +4743,24 @@ union bpf_attr {
  *             be zero-terminated except when **str_size** is 0.
  *
  *             Or **-EBUSY** if the per-CPU memory copy buffer is busy.
+ *
+ * long bpf_sys_bpf(u32 cmd, void *attr, u32 attr_size)
+ *     Description
+ *             Execute bpf syscall with given arguments.
+ *     Return
+ *             A syscall result.
+ *
+ * long bpf_btf_find_by_name_kind(char *name, int name_sz, u32 kind, int flags)
+ *     Description
+ *             Find BTF type with given name and kind in vmlinux BTF or in module's BTFs.
+ *     Return
+ *             Returns btf_id and btf_obj_fd in lower and upper 32 bits.
+ *
+ * long bpf_sys_close(u32 fd)
+ *     Description
+ *             Execute close syscall for given FD.
+ *     Return
+ *             A syscall result.
  */
 #define __BPF_FUNC_MAPPER(FN)          \
        FN(unspec),                     \
@@ -4903,6 +4929,9 @@ union bpf_attr {
        FN(check_mtu),                  \
        FN(for_each_map_elem),          \
        FN(snprintf),                   \
+       FN(sys_bpf),                    \
+       FN(btf_find_by_name_kind),      \
+       FN(sys_close),                  \
        /* */
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
index 5e1d3838c5fea1f0c054923d7da1f92c38dcdd60..2d0c1ba286f88c246750aa69020f5155370b3173 100644 (file)
@@ -123,8 +123,8 @@ struct can_frame {
 /*
  * defined bits for canfd_frame.flags
  *
- * The use of struct canfd_frame implies the Extended Data Length (EDL) bit to
- * be set in the CAN frame bitstream on the wire. The EDL bit switch turns
+ * The use of struct canfd_frame implies the FD Frame (FDF) bit to
+ * be set in the CAN frame bitstream on the wire. The FDF bit switch turns
  * the CAN controllers bitstream processor into the CAN FD mode which creates
  * two new options within the CAN FD frame specification:
  *
@@ -135,9 +135,18 @@ struct can_frame {
  * controller only the CANFD_BRS bit is relevant for real CAN controllers when
  * building a CAN FD frame for transmission. Setting the CANFD_ESI bit can make
  * sense for virtual CAN interfaces to test applications with echoed frames.
+ *
+ * The struct can_frame and struct canfd_frame intentionally share the same
+ * layout to be able to write CAN frame content into a CAN FD frame structure.
+ * When this is done the former differentiation via CAN_MTU / CANFD_MTU gets
+ * lost. CANFD_FDF allows programmers to mark CAN FD frames in the case of
+ * using struct canfd_frame for mixed CAN / CAN FD content (dual use).
+ * N.B. the Kernel APIs do NOT provide mixed CAN / CAN FD content inside of
+ * struct canfd_frame therefore the CANFD_FDF flag is disregarded by Linux.
  */
 #define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */
 #define CANFD_ESI 0x02 /* error state indicator of the transmitting node */
+#define CANFD_FDF 0x04 /* mark CAN FD for dual use of struct canfd_frame */
 
 /**
  * struct canfd_frame - CAN flexible data rate frame structure
index a430775d9baa39abd372052236ad5d0d6c0e416a..6408b40f240248b49b7e613f339292cfb2d5131e 100644 (file)
@@ -126,6 +126,11 @@ enum devlink_command {
 
        DEVLINK_CMD_HEALTH_REPORTER_TEST,
 
+       DEVLINK_CMD_RATE_GET,           /* can dump */
+       DEVLINK_CMD_RATE_SET,
+       DEVLINK_CMD_RATE_NEW,
+       DEVLINK_CMD_RATE_DEL,
+
        /* add new commands above here */
        __DEVLINK_CMD_MAX,
        DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
@@ -206,6 +211,11 @@ enum devlink_port_flavour {
                                      */
 };
 
+enum devlink_rate_type {
+       DEVLINK_RATE_TYPE_LEAF,
+       DEVLINK_RATE_TYPE_NODE,
+};
+
 enum devlink_param_cmode {
        DEVLINK_PARAM_CMODE_RUNTIME,
        DEVLINK_PARAM_CMODE_DRIVERINIT,
@@ -534,6 +544,13 @@ enum devlink_attr {
        DEVLINK_ATTR_RELOAD_ACTION_STATS,       /* nested */
 
        DEVLINK_ATTR_PORT_PCI_SF_NUMBER,        /* u32 */
+
+       DEVLINK_ATTR_RATE_TYPE,                 /* u16 */
+       DEVLINK_ATTR_RATE_TX_SHARE,             /* u64 */
+       DEVLINK_ATTR_RATE_TX_MAX,               /* u64 */
+       DEVLINK_ATTR_RATE_NODE_NAME,            /* string */
+       DEVLINK_ATTR_RATE_PARENT_NODE_NAME,     /* string */
+
        /* add new attributes above here, update the policy in devlink.c */
 
        __DEVLINK_ATTR_MAX,
index e8eb4ad03cf18e3b8ed083fd2600f3770e387d42..d174914a837dbfaa55409dfe682eec3148bb53a0 100644 (file)
@@ -153,14 +153,3 @@ enum {
 #define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1)
 
 #endif /* _LINUX_IF_BONDING_H */
-
-/*
- * Local variables:
- *  version-control: t
- *  kept-new-versions: 5
- *  c-indent-level: 8
- *  c-basic-offset: 8
- *  tab-width: 8
- * End:
- */
-
index fee6e4563e9bc72be2f6fef5e2ee06a661d6ff1f..2298a43f7562699652bd524ae31d2ab81d77f687 100644 (file)
@@ -627,6 +627,8 @@ enum {
        MDBA_ROUTER_PATTR_UNSPEC,
        MDBA_ROUTER_PATTR_TIMER,
        MDBA_ROUTER_PATTR_TYPE,
+       MDBA_ROUTER_PATTR_INET_TIMER,
+       MDBA_ROUTER_PATTR_INET6_TIMER,
        __MDBA_ROUTER_PATTR_MAX
 };
 #define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1)
index 0e81707a96371029dc9a222a629191b52b021b9f..1eb93c93d3719d616c7750f15944985010805971 100644 (file)
@@ -1234,6 +1234,8 @@ enum {
 #define RMNET_FLAGS_INGRESS_MAP_COMMANDS          (1U << 1)
 #define RMNET_FLAGS_INGRESS_MAP_CKSUMV4           (1U << 2)
 #define RMNET_FLAGS_EGRESS_MAP_CKSUMV4            (1U << 3)
+#define RMNET_FLAGS_INGRESS_MAP_CKSUMV5           (1U << 4)
+#define RMNET_FLAGS_EGRESS_MAP_CKSUMV5            (1U << 5)
 
 enum {
        IFLA_RMNET_UNSPEC,
index 5024c5435749a41dc17334f8ad86b7ecc17dbf71..e83e2e300130432d58160bc9f2eaa738ed38da55 100644 (file)
@@ -91,9 +91,10 @@ struct nlmsghdr {
 #define NLMSG_HDRLEN    ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
 #define NLMSG_LENGTH(len) ((len) + NLMSG_HDRLEN)
 #define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))
-#define NLMSG_DATA(nlh)  ((void*)(((char*)nlh) + NLMSG_LENGTH(0)))
+#define NLMSG_DATA(nlh)  ((void *)(((char *)nlh) + NLMSG_HDRLEN))
 #define NLMSG_NEXT(nlh,len)     ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \
-                                 (struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
+                                 (struct nlmsghdr *)(((char *)(nlh)) + \
+                                 NLMSG_ALIGN((nlh)->nlmsg_len)))
 #define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \
                           (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \
                           (nlh)->nlmsg_len <= (len))
index b4f468e9441d14abb670f344f2d4335918f5c9e5..4fe842c3a3a9847ab102dd73f4b0d1134cc2abdf 100644 (file)
 #define VIRTIO_ID_PSTORE               22 /* virtio pstore device */
 #define VIRTIO_ID_IOMMU                        23 /* virtio IOMMU */
 #define VIRTIO_ID_MEM                  24 /* virtio mem */
+#define VIRTIO_ID_SOUND                        25 /* virtio sound */
 #define VIRTIO_ID_FS                   26 /* virtio filesystem */
 #define VIRTIO_ID_PMEM                 27 /* virtio pmem */
-#define VIRTIO_ID_BT                   28 /* virtio bluetooth */
 #define VIRTIO_ID_MAC80211_HWSIM       29 /* virtio mac80211-hwsim */
+#define VIRTIO_ID_BT                   40 /* virtio bluetooth */
 
 #endif /* _LINUX_VIRTIO_IDS_H */