History

Merge tag 'net-next-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next

Pull networking updates from Jakub Kicinski: "Core: - BPF: - add syscall program type and libbpf support for generating instructions and bindings for in-kernel BPF loaders (BPF loaders for BPF), this is a stepping stone for signed BPF programs - infrastructure to migrate TCP child sockets from one listener to another in the same reuseport group/map to improve flexibility of service hand-off/restart - add broadcast support to XDP redirect - allow bypass of the lockless qdisc to improving performance (for pktgen: +23% with one thread, +44% with 2 threads) - add a simpler version of "DO_ONCE()" which does not require jump labels, intended for slow-path usage - virtio/vsock: introduce SOCK_SEQPACKET support - add getsocketopt to retrieve netns cookie - ip: treat lowest address of a IPv4 subnet as ordinary unicast address allowing reclaiming of precious IPv4 addresses - ipv6: use prandom_u32() for ID generation - ip: add support for more flexible field selection for hashing across multi-path routes (w/ offload to mlxsw) - icmp: add support for extended RFC 8335 PROBE (ping) - seg6: add support for SRv6 End.DT46 behavior - mptcp: - DSS checksum support (RFC 8684) to detect middlebox meddling - support Connection-time 'C' flag - time stamping support - sctp: packetization Layer Path MTU Discovery (RFC 8899) - xfrm: speed up state addition with seq set - WiFi: - hidden AP discovery on 6 GHz and other HE 6 GHz improvements - aggregation handling improvements for some drivers - minstrel improvements for no-ack frames - deferred rate control for TXQs to improve reaction times - switch from round robin to virtual time-based airtime scheduler - add trace points: - tcp checksum errors - openvswitch - action execution, upcalls - socket errors via sk_error_report Device APIs: - devlink: add rate API for hierarchical control of max egress rate of virtual devices (VFs, SFs etc.) - don't require RCU read lock to be held around BPF hooks in NAPI context - page_pool: generic buffer recycling New hardware/drivers: - mobile: - iosm: PCIe Driver for Intel M.2 Modem - support for Qualcomm MSM8998 (ipa) - WiFi: Qualcomm QCN9074 and WCN6855 PCI devices - sparx5: Microchip SparX-5 family of Enterprise Ethernet switches - Mellanox BlueField Gigabit Ethernet (control NIC of the DPU) - NXP SJA1110 Automotive Ethernet 10-port switch - Qualcomm QCA8327 switch support (qca8k) - Mikrotik 10/25G NIC (atl1c) Driver changes: - ACPI support for some MDIO, MAC and PHY devices from Marvell and NXP (our first foray into MAC/PHY description via ACPI) - HW timestamping (PTP) support: bnxt_en, ice, sja1105, hns3, tja11xx - Mellanox/Nvidia NIC (mlx5) - NIC VF offload of L2 bridging - support IRQ distribution to Sub-functions - Marvell (prestera): - add flower and match all - devlink trap - link aggregation - Netronome (nfp): connection tracking offload - Intel 1GE (igc): add AF_XDP support - Marvell DPU (octeontx2): ingress ratelimit offload - Google vNIC (gve): new ring/descriptor format support - Qualcomm mobile (rmnet & ipa): inline checksum offload support - MediaTek WiFi (mt76) - mt7915 MSI support - mt7915 Tx status reporting - mt7915 thermal sensors support - mt7921 decapsulation offload - mt7921 enable runtime pm and deep sleep - Realtek WiFi (rtw88) - beacon filter support - Tx antenna path diversity support - firmware crash information via devcoredump - Qualcomm WiFi (wcn36xx) - Wake-on-WLAN support with magic packets and GTK rekeying - Micrel PHY (ksz886x/ksz8081): add cable test support" * tag 'net-next-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2168 commits) tcp: change ICSK_CA_PRIV_SIZE definition tcp_yeah: check struct yeah size at compile time gve: DQO: Fix off by one in gve_rx_dqo() stmmac: intel: set PCI_D3hot in suspend stmmac: intel: Enable PHY WOL option in EHL net: stmmac: option to enable PHY WOL with PMT enabled net: say "local" instead of "static" addresses in ndo_dflt_fdb_{add,del} net: use netdev_info in ndo_dflt_fdb_{add,del} ptp: Set lookup cookie when creating a PTP PPS source. net: sock: add trace for socket errors net: sock: introduce sk_error_report net: dsa: replay the local bridge FDB entries pointing to the bridge dev too net: dsa: ensure during dsa_fdb_offload_notify that dev_hold and dev_put are on the same dev net: dsa: include fdb entries pointing to bridge in the host fdb list net: dsa: include bridge addresses which are local in the host fdb list net: dsa: sync static FDB entries on foreign interfaces to hardware net: dsa: install the host MDB and FDB entries in the master's RX filter net: dsa: reference count the FDB addresses at the cross-chip notifier level net: dsa: introduce a separate cross-chip notifier type for host FDBs net: dsa: reference count the MDB entries at the cross-chip notifier level ...

Linus Torvalds committed 5 years ago

Commit dbe69e42 parents a6eaf38 b6df0071908 files · +109791 −28910Browse files

Showing the changes to include/uapi/linux (20 of 1908 files). Show all

Unified · Split

20 files
  1. include/uapi/linux/bpf.h +75 −7
  2. include/uapi/linux/can.h +11 −2
  3. include/uapi/linux/devlink.h +17 −0
  4. include/uapi/linux/ethtool.h +2 −2
  5. include/uapi/linux/ethtool_netlink.h +1 −1
  6. include/uapi/linux/icmp.h +1 −2
  7. include/uapi/linux/if_bridge.h +2 −0
  8. include/uapi/linux/if_link.h +9 −0
  9. include/uapi/linux/mptcp.h +1 −0
  10. include/uapi/linux/netfilter/nf_tables.h +17 −0
  11. include/uapi/linux/netfilter/nfnetlink.h +2 −1
  12. include/uapi/linux/netfilter/nfnetlink_hook.h +55 −0
  13. include/uapi/linux/netlink.h +3 −2
  14. include/uapi/linux/nl80211.h +8 −1
  15. include/uapi/linux/sctp.h +8 −0
  16. include/uapi/linux/seg6_local.h +2 −0
  17. include/uapi/linux/smc.h +83 −0
  18. include/uapi/linux/snmp.h +2 −0
  19. include/uapi/linux/virtio_vsock.h +9 −0
  20. include/uapi/linux/wwan.h +16 −0
include/uapi/linux/bpf.h+75−7
@@ -527,6 +527,15 @@ union bpf_iter_link_info { · 526 unmodified lines
527 * Look up an element with the given *key* in the map referred to527 * Look up an element with the given *key* in the map referred to
528 * by the file descriptor *fd*, and if found, delete the element.528 * by the file descriptor *fd*, and if found, delete the element.
529 *529 *
530 * For **BPF_MAP_TYPE_QUEUE** and **BPF_MAP_TYPE_STACK** map
531 * types, the *flags* argument needs to be set to 0, but for other
532 * map types, it may be specified as:
533 *
534 * **BPF_F_LOCK**
535 * Look up and delete the value of a spin-locked map
536 * without returning the lock. This must be specified if
537 * the elements contain a spinlock.
538 *
530 * The **BPF_MAP_TYPE_QUEUE** and **BPF_MAP_TYPE_STACK** map types539 * The **BPF_MAP_TYPE_QUEUE** and **BPF_MAP_TYPE_STACK** map types
531 * implement this command as a "pop" operation, deleting the top540 * implement this command as a "pop" operation, deleting the top
532 * element rather than one corresponding to *key*.541 * element rather than one corresponding to *key*.
@@ -536,6 +545,10 @@ union bpf_iter_link_info { · 3 unmodified lines
536 * This command is only valid for the following map types:545 * This command is only valid for the following map types:
537 * * **BPF_MAP_TYPE_QUEUE**546 * * **BPF_MAP_TYPE_QUEUE**
538 * * **BPF_MAP_TYPE_STACK**547 * * **BPF_MAP_TYPE_STACK**
548 * * **BPF_MAP_TYPE_HASH**
549 * * **BPF_MAP_TYPE_PERCPU_HASH**
550 * * **BPF_MAP_TYPE_LRU_HASH**
551 * * **BPF_MAP_TYPE_LRU_PERCPU_HASH**
539 *552 *
540 * Return553 * Return
541 * Returns zero on success. On error, -1 is returned and *errno*554 * Returns zero on success. On error, -1 is returned and *errno*
@@ -837,6 +850,7 @@ enum bpf_cmd { · 295 unmodified lines
837 BPF_PROG_ATTACH,850 BPF_PROG_ATTACH,
838 BPF_PROG_DETACH,851 BPF_PROG_DETACH,
839 BPF_PROG_TEST_RUN,852 BPF_PROG_TEST_RUN,
853 BPF_PROG_RUN = BPF_PROG_TEST_RUN,
840 BPF_PROG_GET_NEXT_ID,854 BPF_PROG_GET_NEXT_ID,
841 BPF_MAP_GET_NEXT_ID,855 BPF_MAP_GET_NEXT_ID,
842 BPF_PROG_GET_FD_BY_ID,856 BPF_PROG_GET_FD_BY_ID,
@@ -937,6 +951,7 @@ enum bpf_prog_type { · 94 unmodified lines
937 BPF_PROG_TYPE_EXT,951 BPF_PROG_TYPE_EXT,
938 BPF_PROG_TYPE_LSM,952 BPF_PROG_TYPE_LSM,
939 BPF_PROG_TYPE_SK_LOOKUP,953 BPF_PROG_TYPE_SK_LOOKUP,
954 BPF_PROG_TYPE_SYSCALL, /* a program that can execute syscalls */
940};955};
941 956
942enum bpf_attach_type {957enum bpf_attach_type {
@@ -979,6 +994,8 @@ enum bpf_attach_type { · 36 unmodified lines
979 BPF_SK_LOOKUP,994 BPF_SK_LOOKUP,
980 BPF_XDP,995 BPF_XDP,
981 BPF_SK_SKB_VERDICT,996 BPF_SK_SKB_VERDICT,
997 BPF_SK_REUSEPORT_SELECT,
998 BPF_SK_REUSEPORT_SELECT_OR_MIGRATE,
982 __MAX_BPF_ATTACH_TYPE999 __MAX_BPF_ATTACH_TYPE
983};1000};
984 1001
@@ -1097,8 +1114,8 @@ enum bpf_link_type { · 112 unmodified lines
1097/* When BPF ldimm64's insn[0].src_reg != 0 then this can have1114/* When BPF ldimm64's insn[0].src_reg != 0 then this can have
1098 * the following extensions:1115 * the following extensions:
1099 *1116 *
1100 * insn[0].src_reg: BPF_PSEUDO_MAP_FD1117 * insn[0].src_reg: BPF_PSEUDO_MAP_[FD|IDX]
1101 * insn[0].imm: map fd1118 * insn[0].imm: map fd or fd_idx
1102 * insn[1].imm: 01119 * insn[1].imm: 0
1103 * insn[0].off: 01120 * insn[0].off: 0
1104 * insn[1].off: 01121 * insn[1].off: 0
@@ -1106,15 +1123,19 @@ enum bpf_link_type { · 1 unmodified line
1106 * verifier type: CONST_PTR_TO_MAP1123 * verifier type: CONST_PTR_TO_MAP
1107 */1124 */
1108#define BPF_PSEUDO_MAP_FD 11125#define BPF_PSEUDO_MAP_FD 1
1109/* insn[0].src_reg: BPF_PSEUDO_MAP_VALUE1126#define BPF_PSEUDO_MAP_IDX 5
1110 * insn[0].imm: map fd1127
1128/* insn[0].src_reg: BPF_PSEUDO_MAP_[IDX_]VALUE
1129 * insn[0].imm: map fd or fd_idx
1111 * insn[1].imm: offset into value1130 * insn[1].imm: offset into value
1112 * insn[0].off: 01131 * insn[0].off: 0
1113 * insn[1].off: 01132 * insn[1].off: 0
1114 * ldimm64 rewrite: address of map[0]+offset1133 * ldimm64 rewrite: address of map[0]+offset
1115 * verifier type: PTR_TO_MAP_VALUE1134 * verifier type: PTR_TO_MAP_VALUE
1116 */1135 */
1117#define BPF_PSEUDO_MAP_VALUE 21136#define BPF_PSEUDO_MAP_VALUE 2
1137#define BPF_PSEUDO_MAP_IDX_VALUE 6
1138
1118/* insn[0].src_reg: BPF_PSEUDO_BTF_ID1139/* insn[0].src_reg: BPF_PSEUDO_BTF_ID
1119 * insn[0].imm: kernel btd id of VAR1140 * insn[0].imm: kernel btd id of VAR
1120 * insn[1].imm: 01141 * insn[1].imm: 0
@@ -1314,6 +1335,8 @@ union bpf_attr { · 193 unmodified lines
1314 /* or valid module BTF object fd or 0 to attach to vmlinux */1335 /* or valid module BTF object fd or 0 to attach to vmlinux */
1315 __u32 attach_btf_obj_fd;1336 __u32 attach_btf_obj_fd;
1316 };1337 };
1338 __u32 :32; /* pad */
1339 __aligned_u64 fd_array; /* array of FDs */
1317 };1340 };
1318 1341
1319 struct { /* anonymous struct used by BPF_OBJ_* commands */1342 struct { /* anonymous struct used by BPF_OBJ_* commands */
@@ -2534,8 +2557,12 @@ union bpf_attr { · 1214 unmodified lines
2534 * The lower two bits of *flags* are used as the return code if2557 * The lower two bits of *flags* are used as the return code if
2535 * the map lookup fails. This is so that the return value can be2558 * the map lookup fails. This is so that the return value can be
2536 * one of the XDP program return codes up to **XDP_TX**, as chosen2559 * one of the XDP program return codes up to **XDP_TX**, as chosen
2537 * by the caller. Any higher bits in the *flags* argument must be2560 * by the caller. The higher bits of *flags* can be set to
2538 * unset.2561 * BPF_F_BROADCAST or BPF_F_EXCLUDE_INGRESS as defined below.
2562 *
2563 * With BPF_F_BROADCAST the packet will be broadcasted to all the
2564 * interfaces in the map, with BPF_F_EXCLUDE_INGRESS the ingress
2565 * interface will be excluded when do broadcasting.
2539 *2566 *
2540 * See also **bpf_redirect**\ (), which only supports redirecting2567 * See also **bpf_redirect**\ (), which only supports redirecting
2541 * to an ifindex, but doesn't require a map to do so.2568 * to an ifindex, but doesn't require a map to do so.
@@ -4735,6 +4762,24 @@ union bpf_attr { · 2193 unmodified lines
4735 * be zero-terminated except when **str_size** is 0.4762 * be zero-terminated except when **str_size** is 0.
4736 *4763 *
4737 * Or **-EBUSY** if the per-CPU memory copy buffer is busy.4764 * Or **-EBUSY** if the per-CPU memory copy buffer is busy.
4765 *
4766 * long bpf_sys_bpf(u32 cmd, void *attr, u32 attr_size)
4767 * Description
4768 * Execute bpf syscall with given arguments.
4769 * Return
4770 * A syscall result.
4771 *
4772 * long bpf_btf_find_by_name_kind(char *name, int name_sz, u32 kind, int flags)
4773 * Description
4774 * Find BTF type with given name and kind in vmlinux BTF or in module's BTFs.
4775 * Return
4776 * Returns btf_id and btf_obj_fd in lower and upper 32 bits.
4777 *
4778 * long bpf_sys_close(u32 fd)
4779 * Description
4780 * Execute close syscall for given FD.
4781 * Return
4782 * A syscall result.
4738 */4783 */
4739#define __BPF_FUNC_MAPPER(FN) \4784#define __BPF_FUNC_MAPPER(FN) \
4740 FN(unspec), \4785 FN(unspec), \
@@ -4903,6 +4948,9 @@ union bpf_attr { · 162 unmodified lines
4903 FN(check_mtu), \4948 FN(check_mtu), \
4904 FN(for_each_map_elem), \4949 FN(for_each_map_elem), \
4905 FN(snprintf), \4950 FN(snprintf), \
4951 FN(sys_bpf), \
4952 FN(btf_find_by_name_kind), \
4953 FN(sys_close), \
4906 /* */4954 /* */
4907 4955
4908/* integer value in 'imm' field of BPF_CALL instruction selects which helper4956/* integer value in 'imm' field of BPF_CALL instruction selects which helper
@@ -5080,6 +5128,12 @@ enum { · 171 unmodified lines
5080 BPF_F_BPRM_SECUREEXEC = (1ULL << 0),5128 BPF_F_BPRM_SECUREEXEC = (1ULL << 0),
5081};5129};
5082 5130
5131/* Flags for bpf_redirect_map helper */
5132enum {
5133 BPF_F_BROADCAST = (1ULL << 3),
5134 BPF_F_EXCLUDE_INGRESS = (1ULL << 4),
5135};
5136
5083#define __bpf_md_ptr(type, name) \5137#define __bpf_md_ptr(type, name) \
5084union { \5138union { \
5085 type name; \5139 type name; \
@@ -5364,6 +5418,20 @@ struct sk_reuseport_md { · 278 unmodified lines
5364 __u32 ip_protocol; /* IP protocol. e.g. IPPROTO_TCP, IPPROTO_UDP */5418 __u32 ip_protocol; /* IP protocol. e.g. IPPROTO_TCP, IPPROTO_UDP */
5365 __u32 bind_inany; /* Is sock bound to an INANY address? */5419 __u32 bind_inany; /* Is sock bound to an INANY address? */
5366 __u32 hash; /* A hash of the packet 4 tuples */5420 __u32 hash; /* A hash of the packet 4 tuples */
5421 /* When reuse->migrating_sk is NULL, it is selecting a sk for the
5422 * new incoming connection request (e.g. selecting a listen sk for
5423 * the received SYN in the TCP case). reuse->sk is one of the sk
5424 * in the reuseport group. The bpf prog can use reuse->sk to learn
5425 * the local listening ip/port without looking into the skb.
5426 *
5427 * When reuse->migrating_sk is not NULL, reuse->sk is closed and
5428 * reuse->migrating_sk is the socket that needs to be migrated
5429 * to another listening socket. migrating_sk could be a fullsock
5430 * sk that is fully established or a reqsk that is in-the-middle
5431 * of 3-way handshake.
5432 */
5433 __bpf_md_ptr(struct bpf_sock *, sk);
5434 __bpf_md_ptr(struct bpf_sock *, migrating_sk);
5367};5435};
5368 5436
5369#define BPF_TAG_SIZE 85437#define BPF_TAG_SIZE 8
include/uapi/linux/can.h+11−2
@@ -123,8 +123,8 @@ struct can_frame { · 122 unmodified lines
123/*123/*
124 * defined bits for canfd_frame.flags124 * defined bits for canfd_frame.flags
125 *125 *
126 * The use of struct canfd_frame implies the Extended Data Length (EDL) bit to126 * The use of struct canfd_frame implies the FD Frame (FDF) bit to
127 * be set in the CAN frame bitstream on the wire. The EDL bit switch turns127 * be set in the CAN frame bitstream on the wire. The FDF bit switch turns
128 * the CAN controllers bitstream processor into the CAN FD mode which creates128 * the CAN controllers bitstream processor into the CAN FD mode which creates
129 * two new options within the CAN FD frame specification:129 * two new options within the CAN FD frame specification:
130 *130 *
@@ -135,9 +135,18 @@ struct can_frame { · 4 unmodified lines
135 * controller only the CANFD_BRS bit is relevant for real CAN controllers when135 * controller only the CANFD_BRS bit is relevant for real CAN controllers when
136 * building a CAN FD frame for transmission. Setting the CANFD_ESI bit can make136 * building a CAN FD frame for transmission. Setting the CANFD_ESI bit can make
137 * sense for virtual CAN interfaces to test applications with echoed frames.137 * sense for virtual CAN interfaces to test applications with echoed frames.
138 *
139 * The struct can_frame and struct canfd_frame intentionally share the same
140 * layout to be able to write CAN frame content into a CAN FD frame structure.
141 * When this is done the former differentiation via CAN_MTU / CANFD_MTU gets
142 * lost. CANFD_FDF allows programmers to mark CAN FD frames in the case of
143 * using struct canfd_frame for mixed CAN / CAN FD content (dual use).
144 * N.B. the Kernel APIs do NOT provide mixed CAN / CAN FD content inside of
145 * struct canfd_frame therefore the CANFD_FDF flag is disregarded by Linux.
138 */146 */
139#define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */147#define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */
140#define CANFD_ESI 0x02 /* error state indicator of the transmitting node */148#define CANFD_ESI 0x02 /* error state indicator of the transmitting node */
149#define CANFD_FDF 0x04 /* mark CAN FD for dual use of struct canfd_frame */
141 150
142/**151/**
143 * struct canfd_frame - CAN flexible data rate frame structure152 * struct canfd_frame - CAN flexible data rate frame structure
include/uapi/linux/devlink.h+17−0
@@ -126,6 +126,11 @@ enum devlink_command { · 125 unmodified lines
126 126
127 DEVLINK_CMD_HEALTH_REPORTER_TEST,127 DEVLINK_CMD_HEALTH_REPORTER_TEST,
128 128
129 DEVLINK_CMD_RATE_GET, /* can dump */
130 DEVLINK_CMD_RATE_SET,
131 DEVLINK_CMD_RATE_NEW,
132 DEVLINK_CMD_RATE_DEL,
133
129 /* add new commands above here */134 /* add new commands above here */
130 __DEVLINK_CMD_MAX,135 __DEVLINK_CMD_MAX,
131 DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1136 DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
@@ -206,6 +211,11 @@ enum devlink_port_flavour { · 74 unmodified lines
206 */211 */
207};212};
208 213
214enum devlink_rate_type {
215 DEVLINK_RATE_TYPE_LEAF,
216 DEVLINK_RATE_TYPE_NODE,
217};
218
209enum devlink_param_cmode {219enum devlink_param_cmode {
210 DEVLINK_PARAM_CMODE_RUNTIME,220 DEVLINK_PARAM_CMODE_RUNTIME,
211 DEVLINK_PARAM_CMODE_DRIVERINIT,221 DEVLINK_PARAM_CMODE_DRIVERINIT,
@@ -534,6 +544,13 @@ enum devlink_attr { · 322 unmodified lines
534 DEVLINK_ATTR_RELOAD_ACTION_STATS, /* nested */544 DEVLINK_ATTR_RELOAD_ACTION_STATS, /* nested */
535 545
536 DEVLINK_ATTR_PORT_PCI_SF_NUMBER, /* u32 */546 DEVLINK_ATTR_PORT_PCI_SF_NUMBER, /* u32 */
547
548 DEVLINK_ATTR_RATE_TYPE, /* u16 */
549 DEVLINK_ATTR_RATE_TX_SHARE, /* u64 */
550 DEVLINK_ATTR_RATE_TX_MAX, /* u64 */
551 DEVLINK_ATTR_RATE_NODE_NAME, /* string */
552 DEVLINK_ATTR_RATE_PARENT_NODE_NAME, /* string */
553
537 /* add new attributes above here, update the policy in devlink.c */554 /* add new attributes above here, update the policy in devlink.c */
538 555
539 __DEVLINK_ATTR_MAX,556 __DEVLINK_ATTR_MAX,
include/uapi/linux/ethtool.h+2−2
@@ -233,7 +233,7 @@ enum tunable_id { · 232 unmodified lines
233 ETHTOOL_PFC_PREVENTION_TOUT, /* timeout in msecs */233 ETHTOOL_PFC_PREVENTION_TOUT, /* timeout in msecs */
234 /*234 /*
235 * Add your fresh new tunable attribute above and remember to update235 * Add your fresh new tunable attribute above and remember to update
236 * tunable_strings[] in net/core/ethtool.c236 * tunable_strings[] in net/ethtool/common.c
237 */237 */
238 __ETHTOOL_TUNABLE_COUNT,238 __ETHTOOL_TUNABLE_COUNT,
239};239};
@@ -297,7 +297,7 @@ enum phy_tunable_id { · 57 unmodified lines
297 ETHTOOL_PHY_EDPD,297 ETHTOOL_PHY_EDPD,
298 /*298 /*
299 * Add your fresh new phy tunable attribute above and remember to update299 * Add your fresh new phy tunable attribute above and remember to update
300 * phy_tunable_strings[] in net/core/ethtool.c300 * phy_tunable_strings[] in net/ethtool/common.c
301 */301 */
302 __ETHTOOL_PHY_TUNABLE_COUNT,302 __ETHTOOL_PHY_TUNABLE_COUNT,
303};303};
include/uapi/linux/ethtool_netlink.h+1−1
@@ -675,7 +675,7 @@ enum { · 674 unmodified lines
675 ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */675 ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
676 ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */676 ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
677 ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */677 ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
678 ETHTOOL_A_MODULE_EEPROM_DATA, /* nested */678 ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
679 679
680 __ETHTOOL_A_MODULE_EEPROM_CNT,680 __ETHTOOL_A_MODULE_EEPROM_CNT,
681 ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)681 ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
include/uapi/linux/icmp.h+1−2
@@ -20,7 +20,6 @@ · 19 unmodified lines
20 20
21#include <linux/types.h>21#include <linux/types.h>
22#include <asm/byteorder.h>22#include <asm/byteorder.h>
23#include <linux/in.h>
24#include <linux/if.h>23#include <linux/if.h>
25#include <linux/in6.h>24#include <linux/in6.h>
26 25
@@ -154,7 +153,7 @@ struct icmp_ext_echo_iio { · 127 unmodified lines
154 struct {153 struct {
155 struct icmp_ext_echo_ctype3_hdr ctype3_hdr;154 struct icmp_ext_echo_ctype3_hdr ctype3_hdr;
156 union {155 union {
157 struct in_addr ipv4_addr;156 __be32 ipv4_addr;
158 struct in6_addr ipv6_addr;157 struct in6_addr ipv6_addr;
159 } ip_addr;158 } ip_addr;
160 } addr;159 } addr;
include/uapi/linux/if_bridge.h+2−0
@@ -627,6 +627,8 @@ enum { · 626 unmodified lines
627 MDBA_ROUTER_PATTR_UNSPEC,627 MDBA_ROUTER_PATTR_UNSPEC,
628 MDBA_ROUTER_PATTR_TIMER,628 MDBA_ROUTER_PATTR_TIMER,
629 MDBA_ROUTER_PATTR_TYPE,629 MDBA_ROUTER_PATTR_TYPE,
630 MDBA_ROUTER_PATTR_INET_TIMER,
631 MDBA_ROUTER_PATTR_INET6_TIMER,
630 __MDBA_ROUTER_PATTR_MAX632 __MDBA_ROUTER_PATTR_MAX
631};633};
632#define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1)634#define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1)
include/uapi/linux/if_link.h+9−0
@@ -341,6 +341,13 @@ enum { · 340 unmodified lines
341 IFLA_ALT_IFNAME, /* Alternative ifname */341 IFLA_ALT_IFNAME, /* Alternative ifname */
342 IFLA_PERM_ADDRESS,342 IFLA_PERM_ADDRESS,
343 IFLA_PROTO_DOWN_REASON,343 IFLA_PROTO_DOWN_REASON,
344
345 /* device (sysfs) name as parent, used instead
346 * of IFLA_LINK where there's no parent netdev
347 */
348 IFLA_PARENT_DEV_NAME,
349 IFLA_PARENT_DEV_BUS_NAME,
350
344 __IFLA_MAX351 __IFLA_MAX
345};352};
346 353
@@ -1236,6 +1243,8 @@ enum { · 889 unmodified lines
1236#define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1)1243#define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1)
1237#define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2)1244#define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2)
1238#define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3)1245#define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3)
1246#define RMNET_FLAGS_INGRESS_MAP_CKSUMV5 (1U << 4)
1247#define RMNET_FLAGS_EGRESS_MAP_CKSUMV5 (1U << 5)
1239 1248
1240enum {1249enum {
1241 IFLA_RMNET_UNSPEC,1250 IFLA_RMNET_UNSPEC,
include/uapi/linux/mptcp.h+1−0
@@ -105,6 +105,7 @@ struct mptcp_info { · 104 unmodified lines
105 __u64 mptcpi_rcv_nxt;105 __u64 mptcpi_rcv_nxt;
106 __u8 mptcpi_local_addr_used;106 __u8 mptcpi_local_addr_used;
107 __u8 mptcpi_local_addr_max;107 __u8 mptcpi_local_addr_max;
108 __u8 mptcpi_csum_enabled;
108};109};
109 110
110/*111/*
include/uapi/linux/netfilter/nf_tables.h+17−0
@@ -813,11 +813,13 @@ enum nft_exthdr_flags { · 812 unmodified lines
813 * @NFT_EXTHDR_OP_IPV6: match against ipv6 extension headers813 * @NFT_EXTHDR_OP_IPV6: match against ipv6 extension headers
814 * @NFT_EXTHDR_OP_TCP: match against tcp options814 * @NFT_EXTHDR_OP_TCP: match against tcp options
815 * @NFT_EXTHDR_OP_IPV4: match against ipv4 options815 * @NFT_EXTHDR_OP_IPV4: match against ipv4 options
816 * @NFT_EXTHDR_OP_SCTP: match against sctp chunks
816 */817 */
817enum nft_exthdr_op {818enum nft_exthdr_op {
818 NFT_EXTHDR_OP_IPV6,819 NFT_EXTHDR_OP_IPV6,
819 NFT_EXTHDR_OP_TCPOPT,820 NFT_EXTHDR_OP_TCPOPT,
820 NFT_EXTHDR_OP_IPV4,821 NFT_EXTHDR_OP_IPV4,
822 NFT_EXTHDR_OP_SCTP,
821 __NFT_EXTHDR_OP_MAX823 __NFT_EXTHDR_OP_MAX
822};824};
823#define NFT_EXTHDR_OP_MAX (__NFT_EXTHDR_OP_MAX - 1)825#define NFT_EXTHDR_OP_MAX (__NFT_EXTHDR_OP_MAX - 1)
@@ -1193,6 +1195,21 @@ enum nft_counter_attributes { · 369 unmodified lines
1193};1195};
1194#define NFTA_COUNTER_MAX (__NFTA_COUNTER_MAX - 1)1196#define NFTA_COUNTER_MAX (__NFTA_COUNTER_MAX - 1)
1195 1197
1198/**
1199 * enum nft_last_attributes - nf_tables last expression netlink attributes
1200 *
1201 * @NFTA_LAST_SET: last update has been set, zero means never updated (NLA_U32)
1202 * @NFTA_LAST_MSECS: milliseconds since last update (NLA_U64)
1203 */
1204enum nft_last_attributes {
1205 NFTA_LAST_UNSPEC,
1206 NFTA_LAST_SET,
1207 NFTA_LAST_MSECS,
1208 NFTA_LAST_PAD,
1209 __NFTA_LAST_MAX
1210};
1211#define NFTA_LAST_MAX (__NFTA_LAST_MAX - 1)
1212
1196/**1213/**
1197 * enum nft_log_attributes - nf_tables log expression netlink attributes1214 * enum nft_log_attributes - nf_tables log expression netlink attributes
1198 *1215 *
include/uapi/linux/netfilter/nfnetlink.h+2−1
@@ -60,7 +60,8 @@ struct nfgenmsg { · 59 unmodified lines
60#define NFNL_SUBSYS_CTHELPER 960#define NFNL_SUBSYS_CTHELPER 9
61#define NFNL_SUBSYS_NFTABLES 1061#define NFNL_SUBSYS_NFTABLES 10
62#define NFNL_SUBSYS_NFT_COMPAT 1162#define NFNL_SUBSYS_NFT_COMPAT 11
63#define NFNL_SUBSYS_COUNT 1263#define NFNL_SUBSYS_HOOK 12
64#define NFNL_SUBSYS_COUNT 13
64 65
65/* Reserved control nfnetlink messages */66/* Reserved control nfnetlink messages */
66#define NFNL_MSG_BATCH_BEGIN NLMSG_MIN_TYPE67#define NFNL_MSG_BATCH_BEGIN NLMSG_MIN_TYPE
include/uapi/linux/netfilter/nfnetlink_hook.h+55−0
@@ -0,0 +1,55 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _NFNL_HOOK_H_
3#define _NFNL_HOOK_H_
4
5enum nfnl_hook_msg_types {
6 NFNL_MSG_HOOK_GET,
7 NFNL_MSG_HOOK_MAX,
8};
9
10/**
11 * enum nfnl_hook_attributes - netfilter hook netlink attributes
12 *
13 * @NFNLA_HOOK_HOOKNUM: netfilter hook number (NLA_U32)
14 * @NFNLA_HOOK_PRIORITY: netfilter hook priority (NLA_U32)
15 * @NFNLA_HOOK_DEV: netdevice name (NLA_STRING)
16 * @NFNLA_HOOK_FUNCTION_NAME: hook function name (NLA_STRING)
17 * @NFNLA_HOOK_MODULE_NAME: kernel module that registered this hook (NLA_STRING)
18 * @NFNLA_HOOK_CHAIN_INFO: basechain hook metadata (NLA_NESTED)
19 */
20enum nfnl_hook_attributes {
21 NFNLA_HOOK_UNSPEC,
22 NFNLA_HOOK_HOOKNUM,
23 NFNLA_HOOK_PRIORITY,
24 NFNLA_HOOK_DEV,
25 NFNLA_HOOK_FUNCTION_NAME,
26 NFNLA_HOOK_MODULE_NAME,
27 NFNLA_HOOK_CHAIN_INFO,
28 __NFNLA_HOOK_MAX
29};
30#define NFNLA_HOOK_MAX (__NFNLA_HOOK_MAX - 1)
31
32/**
33 * enum nfnl_hook_chain_info_attributes - chain description
34 *
35 * NFNLA_HOOK_INFO_DESC: nft chain and table name (enum nft_table_attributes) (NLA_NESTED)
36 * NFNLA_HOOK_INFO_TYPE: chain type (enum nfnl_hook_chaintype) (NLA_U32)
37 */
38enum nfnl_hook_chain_info_attributes {
39 NFNLA_HOOK_INFO_UNSPEC,
40 NFNLA_HOOK_INFO_DESC,
41 NFNLA_HOOK_INFO_TYPE,
42 __NFNLA_HOOK_INFO_MAX,
43};
44#define NFNLA_HOOK_INFO_MAX (__NFNLA_HOOK_INFO_MAX - 1)
45
46/**
47 * enum nfnl_hook_chaintype - chain type
48 *
49 * @NFNL_HOOK_TYPE_NFTABLES nf_tables base chain
50 */
51enum nfnl_hook_chaintype {
52 NFNL_HOOK_TYPE_NFTABLES = 0x1,
53};
54
55#endif /* _NFNL_HOOK_H */
include/uapi/linux/netlink.h+3−2
@@ -91,9 +91,10 @@ struct nlmsghdr { · 90 unmodified lines
91#define NLMSG_HDRLEN ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))91#define NLMSG_HDRLEN ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
92#define NLMSG_LENGTH(len) ((len) + NLMSG_HDRLEN)92#define NLMSG_LENGTH(len) ((len) + NLMSG_HDRLEN)
93#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))93#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))
94#define NLMSG_DATA(nlh) ((void*)(((char*)nlh) + NLMSG_LENGTH(0)))94#define NLMSG_DATA(nlh) ((void *)(((char *)nlh) + NLMSG_HDRLEN))
95#define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \95#define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \
96 (struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))96 (struct nlmsghdr *)(((char *)(nlh)) + \
97 NLMSG_ALIGN((nlh)->nlmsg_len)))
97#define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \98#define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \
98 (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \99 (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \
99 (nlh)->nlmsg_len <= (len))100 (nlh)->nlmsg_len <= (len))
include/uapi/linux/nl80211.h+8−1
@@ -11,7 +11,7 @@ · 10 unmodified lines
11 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>11 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
12 * Copyright 2008 Colin McCabe <colin@cozybit.com>12 * Copyright 2008 Colin McCabe <colin@cozybit.com>
13 * Copyright 2015-2017 Intel Deutschland GmbH13 * Copyright 2015-2017 Intel Deutschland GmbH
14 * Copyright (C) 2018-2020 Intel Corporation14 * Copyright (C) 2018-2021 Intel Corporation
15 *15 *
16 * Permission to use, copy, modify, and/or distribute this software for any16 * Permission to use, copy, modify, and/or distribute this software for any
17 * purpose with or without fee is hereby granted, provided that the above17 * purpose with or without fee is hereby granted, provided that the above
@@ -3654,6 +3654,8 @@ enum nl80211_mpath_info { · 3636 unmodified lines
3654 * defined3654 * defined
3655 * @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16),3655 * @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16),
3656 * given for all 6 GHz band channels3656 * given for all 6 GHz band channels
3657 * @NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS: vendor element capabilities that are
3658 * advertised on this band/for this iftype (binary)
3657 * @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use3659 * @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use
3658 */3660 */
3659enum nl80211_band_iftype_attr {3661enum nl80211_band_iftype_attr {
@@ -3665,6 +3667,7 @@ enum nl80211_band_iftype_attr { · 5 unmodified lines
3665 NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET,3667 NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET,
3666 NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE,3668 NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE,
3667 NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA,3669 NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA,
3670 NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS,
3668 3671
3669 /* keep last */3672 /* keep last */
3670 __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST,3673 __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST,
@@ -6912,6 +6915,9 @@ enum nl80211_peer_measurement_ftm_capa { · 3241 unmodified lines
6912 * @NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK: negotiate for LMR feedback. Only6915 * @NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK: negotiate for LMR feedback. Only
6913 * valid if either %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED or6916 * valid if either %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED or
6914 * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set.6917 * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set.
6918 * @NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR: optional. The BSS color of the
6919 * responder. Only valid if %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED
6920 * or %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED is set.
6915 *6921 *
6916 * @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal6922 * @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
6917 * @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number6923 * @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
@@ -6931,6 +6937,7 @@ enum nl80211_peer_measurement_ftm_req { · 13 unmodified lines
6931 NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED,6937 NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED,
6932 NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED,6938 NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED,
6933 NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK,6939 NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK,
6940 NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR,
6934 6941
6935 /* keep last */6942 /* keep last */
6936 NUM_NL80211_PMSR_FTM_REQ_ATTR,6943 NUM_NL80211_PMSR_FTM_REQ_ATTR,
include/uapi/linux/sctp.h+8−0
@@ -141,6 +141,7 @@ typedef __s32 sctp_assoc_t; · 140 unmodified lines
141#define SCTP_EXPOSE_POTENTIALLY_FAILED_STATE 131141#define SCTP_EXPOSE_POTENTIALLY_FAILED_STATE 131
142#define SCTP_EXPOSE_PF_STATE SCTP_EXPOSE_POTENTIALLY_FAILED_STATE142#define SCTP_EXPOSE_PF_STATE SCTP_EXPOSE_POTENTIALLY_FAILED_STATE
143#define SCTP_REMOTE_UDP_ENCAPS_PORT 132143#define SCTP_REMOTE_UDP_ENCAPS_PORT 132
144#define SCTP_PLPMTUD_PROBE_INTERVAL 133
144 145
145/* PR-SCTP policies */146/* PR-SCTP policies */
146#define SCTP_PR_SCTP_NONE 0x0000147#define SCTP_PR_SCTP_NONE 0x0000
@@ -1213,4 +1214,11 @@ enum sctp_sched_type { · 1066 unmodified lines
1213 SCTP_SS_MAX = SCTP_SS_RR1214 SCTP_SS_MAX = SCTP_SS_RR
1214};1215};
1215 1216
1217/* Probe Interval socket option */
1218struct sctp_probeinterval {
1219 sctp_assoc_t spi_assoc_id;
1220 struct sockaddr_storage spi_address;
1221 __u32 spi_interval;
1222};
1223
1216#endif /* _UAPI_SCTP_H */1224#endif /* _UAPI_SCTP_H */
include/uapi/linux/seg6_local.h+2−0
@@ -64,6 +64,8 @@ enum { · 63 unmodified lines
64 SEG6_LOCAL_ACTION_END_AM = 14,64 SEG6_LOCAL_ACTION_END_AM = 14,
65 /* custom BPF action */65 /* custom BPF action */
66 SEG6_LOCAL_ACTION_END_BPF = 15,66 SEG6_LOCAL_ACTION_END_BPF = 15,
67 /* decap and lookup of DA in v4 or v6 table */
68 SEG6_LOCAL_ACTION_END_DT46 = 16,
67 69
68 __SEG6_LOCAL_ACTION_MAX,70 __SEG6_LOCAL_ACTION_MAX,
69};71};
include/uapi/linux/smc.h+83−0
@@ -47,6 +47,8 @@ enum { · 46 unmodified lines
47 SMC_NETLINK_GET_LGR_SMCD,47 SMC_NETLINK_GET_LGR_SMCD,
48 SMC_NETLINK_GET_DEV_SMCD,48 SMC_NETLINK_GET_DEV_SMCD,
49 SMC_NETLINK_GET_DEV_SMCR,49 SMC_NETLINK_GET_DEV_SMCR,
50 SMC_NETLINK_GET_STATS,
51 SMC_NETLINK_GET_FBACK_STATS,
50};52};
51 53
52/* SMC_GENL_FAMILY top level attributes */54/* SMC_GENL_FAMILY top level attributes */
@@ -58,6 +60,8 @@ enum { · 5 unmodified lines
58 SMC_GEN_LGR_SMCD, /* nest */60 SMC_GEN_LGR_SMCD, /* nest */
59 SMC_GEN_DEV_SMCD, /* nest */61 SMC_GEN_DEV_SMCD, /* nest */
60 SMC_GEN_DEV_SMCR, /* nest */62 SMC_GEN_DEV_SMCR, /* nest */
63 SMC_GEN_STATS, /* nest */
64 SMC_GEN_FBACK_STATS, /* nest */
61 __SMC_GEN_MAX,65 __SMC_GEN_MAX,
62 SMC_GEN_MAX = __SMC_GEN_MAX - 166 SMC_GEN_MAX = __SMC_GEN_MAX - 1
63};67};
@@ -159,4 +163,83 @@ enum { · 95 unmodified lines
159 SMC_NLA_DEV_MAX = __SMC_NLA_DEV_MAX - 1163 SMC_NLA_DEV_MAX = __SMC_NLA_DEV_MAX - 1
160};164};
161 165
166/* SMC_NLA_STATS_T_TX(RX)_RMB_SIZE nested attributes */
167/* SMC_NLA_STATS_TX(RX)PLOAD_SIZE nested attributes */
168enum {
169 SMC_NLA_STATS_PLOAD_PAD,
170 SMC_NLA_STATS_PLOAD_8K, /* u64 */
171 SMC_NLA_STATS_PLOAD_16K, /* u64 */
172 SMC_NLA_STATS_PLOAD_32K, /* u64 */
173 SMC_NLA_STATS_PLOAD_64K, /* u64 */
174 SMC_NLA_STATS_PLOAD_128K, /* u64 */
175 SMC_NLA_STATS_PLOAD_256K, /* u64 */
176 SMC_NLA_STATS_PLOAD_512K, /* u64 */
177 SMC_NLA_STATS_PLOAD_1024K, /* u64 */
178 SMC_NLA_STATS_PLOAD_G_1024K, /* u64 */
179 __SMC_NLA_STATS_PLOAD_MAX,
180 SMC_NLA_STATS_PLOAD_MAX = __SMC_NLA_STATS_PLOAD_MAX - 1
181};
182
183/* SMC_NLA_STATS_T_TX(RX)_RMB_STATS nested attributes */
184enum {
185 SMC_NLA_STATS_RMB_PAD,
186 SMC_NLA_STATS_RMB_SIZE_SM_PEER_CNT, /* u64 */
187 SMC_NLA_STATS_RMB_SIZE_SM_CNT, /* u64 */
188 SMC_NLA_STATS_RMB_FULL_PEER_CNT, /* u64 */
189 SMC_NLA_STATS_RMB_FULL_CNT, /* u64 */
190 SMC_NLA_STATS_RMB_REUSE_CNT, /* u64 */
191 SMC_NLA_STATS_RMB_ALLOC_CNT, /* u64 */
192 SMC_NLA_STATS_RMB_DGRADE_CNT, /* u64 */
193 __SMC_NLA_STATS_RMB_MAX,
194 SMC_NLA_STATS_RMB_MAX = __SMC_NLA_STATS_RMB_MAX - 1
195};
196
197/* SMC_NLA_STATS_SMCD_TECH and _SMCR_TECH nested attributes */
198enum {
199 SMC_NLA_STATS_T_PAD,
200 SMC_NLA_STATS_T_TX_RMB_SIZE, /* nest */
201 SMC_NLA_STATS_T_RX_RMB_SIZE, /* nest */
202 SMC_NLA_STATS_T_TXPLOAD_SIZE, /* nest */
203 SMC_NLA_STATS_T_RXPLOAD_SIZE, /* nest */
204 SMC_NLA_STATS_T_TX_RMB_STATS, /* nest */
205 SMC_NLA_STATS_T_RX_RMB_STATS, /* nest */
206 SMC_NLA_STATS_T_CLNT_V1_SUCC, /* u64 */
207 SMC_NLA_STATS_T_CLNT_V2_SUCC, /* u64 */
208 SMC_NLA_STATS_T_SRV_V1_SUCC, /* u64 */
209 SMC_NLA_STATS_T_SRV_V2_SUCC, /* u64 */
210 SMC_NLA_STATS_T_SENDPAGE_CNT, /* u64 */
211 SMC_NLA_STATS_T_SPLICE_CNT, /* u64 */
212 SMC_NLA_STATS_T_CORK_CNT, /* u64 */
213 SMC_NLA_STATS_T_NDLY_CNT, /* u64 */
214 SMC_NLA_STATS_T_URG_DATA_CNT, /* u64 */
215 SMC_NLA_STATS_T_RX_BYTES, /* u64 */
216 SMC_NLA_STATS_T_TX_BYTES, /* u64 */
217 SMC_NLA_STATS_T_RX_CNT, /* u64 */
218 SMC_NLA_STATS_T_TX_CNT, /* u64 */
219 __SMC_NLA_STATS_T_MAX,
220 SMC_NLA_STATS_T_MAX = __SMC_NLA_STATS_T_MAX - 1
221};
222
223/* SMC_GEN_STATS attributes */
224enum {
225 SMC_NLA_STATS_PAD,
226 SMC_NLA_STATS_SMCD_TECH, /* nest */
227 SMC_NLA_STATS_SMCR_TECH, /* nest */
228 SMC_NLA_STATS_CLNT_HS_ERR_CNT, /* u64 */
229 SMC_NLA_STATS_SRV_HS_ERR_CNT, /* u64 */
230 __SMC_NLA_STATS_MAX,
231 SMC_NLA_STATS_MAX = __SMC_NLA_STATS_MAX - 1
232};
233
234/* SMC_GEN_FBACK_STATS attributes */
235enum {
236 SMC_NLA_FBACK_STATS_PAD,
237 SMC_NLA_FBACK_STATS_TYPE, /* u8 */
238 SMC_NLA_FBACK_STATS_SRV_CNT, /* u64 */
239 SMC_NLA_FBACK_STATS_CLNT_CNT, /* u64 */
240 SMC_NLA_FBACK_STATS_RSN_CODE, /* u32 */
241 SMC_NLA_FBACK_STATS_RSN_CNT, /* u16 */
242 __SMC_NLA_FBACK_STATS_MAX,
243 SMC_NLA_FBACK_STATS_MAX = __SMC_NLA_FBACK_STATS_MAX - 1
244};
162#endif /* _UAPI_LINUX_SMC_H */245#endif /* _UAPI_LINUX_SMC_H */
include/uapi/linux/snmp.h+2−0
@@ -290,6 +290,8 @@ enum · 289 unmodified lines
290 LINUX_MIB_TCPDUPLICATEDATAREHASH, /* TCPDuplicateDataRehash */290 LINUX_MIB_TCPDUPLICATEDATAREHASH, /* TCPDuplicateDataRehash */
291 LINUX_MIB_TCPDSACKRECVSEGS, /* TCPDSACKRecvSegs */291 LINUX_MIB_TCPDSACKRECVSEGS, /* TCPDSACKRecvSegs */
292 LINUX_MIB_TCPDSACKIGNOREDDUBIOUS, /* TCPDSACKIgnoredDubious */292 LINUX_MIB_TCPDSACKIGNOREDDUBIOUS, /* TCPDSACKIgnoredDubious */
293 LINUX_MIB_TCPMIGRATEREQSUCCESS, /* TCPMigrateReqSuccess */
294 LINUX_MIB_TCPMIGRATEREQFAILURE, /* TCPMigrateReqFailure */
293 __LINUX_MIB_MAX295 __LINUX_MIB_MAX
294};296};
295 297
include/uapi/linux/virtio_vsock.h+9−0
@@ -38,6 +38,9 @@ · 37 unmodified lines
38#include <linux/virtio_ids.h>38#include <linux/virtio_ids.h>
39#include <linux/virtio_config.h>39#include <linux/virtio_config.h>
40 40
41/* The feature bitmap for virtio vsock */
42#define VIRTIO_VSOCK_F_SEQPACKET 1 /* SOCK_SEQPACKET supported */
43
41struct virtio_vsock_config {44struct virtio_vsock_config {
42 __le64 guest_cid;45 __le64 guest_cid;
43} __attribute__((packed));46} __attribute__((packed));
@@ -65,6 +68,7 @@ struct virtio_vsock_hdr { · 21 unmodified lines
65 68
66enum virtio_vsock_type {69enum virtio_vsock_type {
67 VIRTIO_VSOCK_TYPE_STREAM = 1,70 VIRTIO_VSOCK_TYPE_STREAM = 1,
71 VIRTIO_VSOCK_TYPE_SEQPACKET = 2,
68};72};
69 73
70enum virtio_vsock_op {74enum virtio_vsock_op {
@@ -91,4 +95,9 @@ enum virtio_vsock_shutdown { · 20 unmodified lines
91 VIRTIO_VSOCK_SHUTDOWN_SEND = 2,95 VIRTIO_VSOCK_SHUTDOWN_SEND = 2,
92};96};
93 97
98/* VIRTIO_VSOCK_OP_RW flags values */
99enum virtio_vsock_rw {
100 VIRTIO_VSOCK_SEQ_EOR = 1,
101};
102
94#endif /* _UAPI_LINUX_VIRTIO_VSOCK_H */103#endif /* _UAPI_LINUX_VIRTIO_VSOCK_H */
include/uapi/linux/wwan.h+16−0
@@ -0,0 +1,16 @@
1/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
2/*
3 * Copyright (C) 2021 Intel Corporation.
4 */
5#ifndef _UAPI_WWAN_H_
6#define _UAPI_WWAN_H_
7
8enum {
9 IFLA_WWAN_UNSPEC,
10 IFLA_WWAN_LINK_ID, /* u32 */
11
12 __IFLA_WWAN_MAX
13};
14#define IFLA_WWAN_MAX (__IFLA_WWAN_MAX - 1)
15
16#endif /* _UAPI_WWAN_H_ */