X Tutup
Skip to content

Commit d25cc83

Browse files
committed
basic/linux: update linux headers from v5.16-rc6
1 parent 8585b7c commit d25cc83

File tree

11 files changed

+294
-17
lines changed

11 files changed

+294
-17
lines changed

src/basic/linux/btrfs.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ struct btrfs_ioctl_fs_info_args {
288288
* first mount when booting older kernel versions.
289289
*/
290290
#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1)
291+
#define BTRFS_FEATURE_COMPAT_RO_VERITY (1ULL << 2)
291292

292293
#define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0)
293294
#define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1)
@@ -770,18 +771,25 @@ struct btrfs_ioctl_received_subvol_args {
770771
*/
771772
#define BTRFS_SEND_FLAG_OMIT_END_CMD 0x4
772773

774+
/*
775+
* Read the protocol version in the structure
776+
*/
777+
#define BTRFS_SEND_FLAG_VERSION 0x8
778+
773779
#define BTRFS_SEND_FLAG_MASK \
774780
(BTRFS_SEND_FLAG_NO_FILE_DATA | \
775781
BTRFS_SEND_FLAG_OMIT_STREAM_HEADER | \
776-
BTRFS_SEND_FLAG_OMIT_END_CMD)
782+
BTRFS_SEND_FLAG_OMIT_END_CMD | \
783+
BTRFS_SEND_FLAG_VERSION)
777784

778785
struct btrfs_ioctl_send_args {
779786
__s64 send_fd; /* in */
780787
__u64 clone_sources_count; /* in */
781788
__u64 *clone_sources; /* in */
782789
__u64 parent_root; /* in */
783790
__u64 flags; /* in */
784-
__u64 reserved[4]; /* in */
791+
__u32 version; /* in */
792+
__u8 reserved[28]; /* in */
785793
};
786794

787795
/*

src/basic/linux/btrfs_tree.h

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,29 @@
118118
#define BTRFS_INODE_REF_KEY 12
119119
#define BTRFS_INODE_EXTREF_KEY 13
120120
#define BTRFS_XATTR_ITEM_KEY 24
121+
122+
/*
123+
* fs verity items are stored under two different key types on disk.
124+
* The descriptor items:
125+
* [ inode objectid, BTRFS_VERITY_DESC_ITEM_KEY, offset ]
126+
*
127+
* At offset 0, we store a btrfs_verity_descriptor_item which tracks the size
128+
* of the descriptor item and some extra data for encryption.
129+
* Starting at offset 1, these hold the generic fs verity descriptor. The
130+
* latter are opaque to btrfs, we just read and write them as a blob for the
131+
* higher level verity code. The most common descriptor size is 256 bytes.
132+
*
133+
* The merkle tree items:
134+
* [ inode objectid, BTRFS_VERITY_MERKLE_ITEM_KEY, offset ]
135+
*
136+
* These also start at offset 0, and correspond to the merkle tree bytes. When
137+
* fsverity asks for page 0 of the merkle tree, we pull up one page starting at
138+
* offset 0 for this key type. These are also opaque to btrfs, we're blindly
139+
* storing whatever fsverity sends down.
140+
*/
141+
#define BTRFS_VERITY_DESC_ITEM_KEY 36
142+
#define BTRFS_VERITY_MERKLE_ITEM_KEY 37
143+
121144
#define BTRFS_ORPHAN_ITEM_KEY 48
122145
/* reserve 2-15 close to the inode for later flexibility */
123146

@@ -991,4 +1014,16 @@ struct btrfs_qgroup_limit_item {
9911014
__le64 rsv_excl;
9921015
} __attribute__ ((__packed__));
9931016

1017+
struct btrfs_verity_descriptor_item {
1018+
/* Size of the verity descriptor in bytes */
1019+
__le64 size;
1020+
/*
1021+
* When we implement support for fscrypt, we will need to encrypt the
1022+
* Merkle tree for encrypted verity files. These 128 bits are for the
1023+
* eventual storage of an fscrypt initialization vector.
1024+
*/
1025+
__le64 reserved[2];
1026+
__u8 encryption;
1027+
} __attribute__ ((__packed__));
1028+
9941029
#endif /* _BTRFS_CTREE_H_ */

src/basic/linux/can/netlink.h

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ struct can_ctrlmode {
101101
#define CAN_CTRLMODE_PRESUME_ACK 0x40 /* Ignore missing CAN ACKs */
102102
#define CAN_CTRLMODE_FD_NON_ISO 0x80 /* CAN FD in non-ISO mode */
103103
#define CAN_CTRLMODE_CC_LEN8_DLC 0x100 /* Classic CAN DLC option */
104+
#define CAN_CTRLMODE_TDC_AUTO 0x200 /* CAN transiver automatically calculates TDCV */
105+
#define CAN_CTRLMODE_TDC_MANUAL 0x400 /* TDCV is manually set up by user */
104106

105107
/*
106108
* CAN device statistics
@@ -134,10 +136,35 @@ enum {
134136
IFLA_CAN_BITRATE_CONST,
135137
IFLA_CAN_DATA_BITRATE_CONST,
136138
IFLA_CAN_BITRATE_MAX,
137-
__IFLA_CAN_MAX
139+
IFLA_CAN_TDC,
140+
141+
/* add new constants above here */
142+
__IFLA_CAN_MAX,
143+
IFLA_CAN_MAX = __IFLA_CAN_MAX - 1
138144
};
139145

140-
#define IFLA_CAN_MAX (__IFLA_CAN_MAX - 1)
146+
/*
147+
* CAN FD Transmitter Delay Compensation (TDC)
148+
*
149+
* Please refer to struct can_tdc_const and can_tdc in
150+
* include/linux/can/bittiming.h for further details.
151+
*/
152+
enum {
153+
IFLA_CAN_TDC_UNSPEC,
154+
IFLA_CAN_TDC_TDCV_MIN, /* u32 */
155+
IFLA_CAN_TDC_TDCV_MAX, /* u32 */
156+
IFLA_CAN_TDC_TDCO_MIN, /* u32 */
157+
IFLA_CAN_TDC_TDCO_MAX, /* u32 */
158+
IFLA_CAN_TDC_TDCF_MIN, /* u32 */
159+
IFLA_CAN_TDC_TDCF_MAX, /* u32 */
160+
IFLA_CAN_TDC_TDCV, /* u32 */
161+
IFLA_CAN_TDC_TDCO, /* u32 */
162+
IFLA_CAN_TDC_TDCF, /* u32 */
163+
164+
/* add new constants above here */
165+
__IFLA_CAN_TDC,
166+
IFLA_CAN_TDC_MAX = __IFLA_CAN_TDC - 1
167+
};
141168

142169
/* u16 termination range: 1..65535 Ohms */
143170
#define CAN_TERMINATION_DISABLED 0

src/basic/linux/if_bridge.h

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,16 +479,22 @@ enum {
479479

480480
/* flags used in BRIDGE_VLANDB_DUMP_FLAGS attribute to affect dumps */
481481
#define BRIDGE_VLANDB_DUMPF_STATS (1 << 0) /* Include stats in the dump */
482+
#define BRIDGE_VLANDB_DUMPF_GLOBAL (1 << 1) /* Dump global vlan options only */
482483

483484
/* Bridge vlan RTM attributes
484485
* [BRIDGE_VLANDB_ENTRY] = {
485486
* [BRIDGE_VLANDB_ENTRY_INFO]
486487
* ...
487488
* }
489+
* [BRIDGE_VLANDB_GLOBAL_OPTIONS] = {
490+
* [BRIDGE_VLANDB_GOPTS_ID]
491+
* ...
492+
* }
488493
*/
489494
enum {
490495
BRIDGE_VLANDB_UNSPEC,
491496
BRIDGE_VLANDB_ENTRY,
497+
BRIDGE_VLANDB_GLOBAL_OPTIONS,
492498
__BRIDGE_VLANDB_MAX,
493499
};
494500
#define BRIDGE_VLANDB_MAX (__BRIDGE_VLANDB_MAX - 1)
@@ -500,6 +506,7 @@ enum {
500506
BRIDGE_VLANDB_ENTRY_STATE,
501507
BRIDGE_VLANDB_ENTRY_TUNNEL_INFO,
502508
BRIDGE_VLANDB_ENTRY_STATS,
509+
BRIDGE_VLANDB_ENTRY_MCAST_ROUTER,
503510
__BRIDGE_VLANDB_ENTRY_MAX,
504511
};
505512
#define BRIDGE_VLANDB_ENTRY_MAX (__BRIDGE_VLANDB_ENTRY_MAX - 1)
@@ -538,6 +545,29 @@ enum {
538545
};
539546
#define BRIDGE_VLANDB_STATS_MAX (__BRIDGE_VLANDB_STATS_MAX - 1)
540547

548+
enum {
549+
BRIDGE_VLANDB_GOPTS_UNSPEC,
550+
BRIDGE_VLANDB_GOPTS_ID,
551+
BRIDGE_VLANDB_GOPTS_RANGE,
552+
BRIDGE_VLANDB_GOPTS_MCAST_SNOOPING,
553+
BRIDGE_VLANDB_GOPTS_MCAST_IGMP_VERSION,
554+
BRIDGE_VLANDB_GOPTS_MCAST_MLD_VERSION,
555+
BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_CNT,
556+
BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_CNT,
557+
BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_INTVL,
558+
BRIDGE_VLANDB_GOPTS_PAD,
559+
BRIDGE_VLANDB_GOPTS_MCAST_MEMBERSHIP_INTVL,
560+
BRIDGE_VLANDB_GOPTS_MCAST_QUERIER_INTVL,
561+
BRIDGE_VLANDB_GOPTS_MCAST_QUERY_INTVL,
562+
BRIDGE_VLANDB_GOPTS_MCAST_QUERY_RESPONSE_INTVL,
563+
BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_INTVL,
564+
BRIDGE_VLANDB_GOPTS_MCAST_QUERIER,
565+
BRIDGE_VLANDB_GOPTS_MCAST_ROUTER_PORTS,
566+
BRIDGE_VLANDB_GOPTS_MCAST_QUERIER_STATE,
567+
__BRIDGE_VLANDB_GOPTS_MAX
568+
};
569+
#define BRIDGE_VLANDB_GOPTS_MAX (__BRIDGE_VLANDB_GOPTS_MAX - 1)
570+
541571
/* Bridge multicast database attributes
542572
* [MDBA_MDB] = {
543573
* [MDBA_MDB_ENTRY] = {
@@ -629,6 +659,7 @@ enum {
629659
MDBA_ROUTER_PATTR_TYPE,
630660
MDBA_ROUTER_PATTR_INET_TIMER,
631661
MDBA_ROUTER_PATTR_INET6_TIMER,
662+
MDBA_ROUTER_PATTR_VID,
632663
__MDBA_ROUTER_PATTR_MAX
633664
};
634665
#define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1)
@@ -720,12 +751,14 @@ struct br_mcast_stats {
720751

721752
/* bridge boolean options
722753
* BR_BOOLOPT_NO_LL_LEARN - disable learning from link-local packets
754+
* BR_BOOLOPT_MCAST_VLAN_SNOOPING - control vlan multicast snooping
723755
*
724756
* IMPORTANT: if adding a new option do not forget to handle
725757
* it in br_boolopt_toggle/get and bridge sysfs
726758
*/
727759
enum br_boolopt_id {
728760
BR_BOOLOPT_NO_LL_LEARN,
761+
BR_BOOLOPT_MCAST_VLAN_SNOOPING,
729762
BR_BOOLOPT_MAX
730763
};
731764

@@ -738,4 +771,17 @@ struct br_boolopt_multi {
738771
__u32 optval;
739772
__u32 optmask;
740773
};
774+
775+
enum {
776+
BRIDGE_QUERIER_UNSPEC,
777+
BRIDGE_QUERIER_IP_ADDRESS,
778+
BRIDGE_QUERIER_IP_PORT,
779+
BRIDGE_QUERIER_IP_OTHER_TIMER,
780+
BRIDGE_QUERIER_PAD,
781+
BRIDGE_QUERIER_IPV6_ADDRESS,
782+
BRIDGE_QUERIER_IPV6_PORT,
783+
BRIDGE_QUERIER_IPV6_OTHER_TIMER,
784+
__BRIDGE_QUERIER_MAX
785+
};
786+
#define BRIDGE_QUERIER_MAX (__BRIDGE_QUERIER_MAX - 1)
741787
#endif /* _UAPI_LINUX_IF_BRIDGE_H */

src/basic/linux/if_ether.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
* over Ethernet
8787
*/
8888
#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */
89+
#define ETH_P_REALTEK 0x8899 /* Multiple proprietary protocols */
8990
#define ETH_P_AOE 0x88A2 /* ATA over Ethernet */
9091
#define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */
9192
#define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */
@@ -116,7 +117,7 @@
116117
#define ETH_P_IFE 0xED3E /* ForCES inter-FE LFB type */
117118
#define ETH_P_AF_IUCV 0xFBFB /* IBM af_iucv [ NOT AN OFFICIALLY REGISTERED ID ] */
118119

119-
#define ETH_P_802_3_MIN 0x0600 /* If the value in the ethernet type is less than this value
120+
#define ETH_P_802_3_MIN 0x0600 /* If the value in the ethernet type is more than this value
120121
* then the frame is Ethernet II. Else it is 802.3 */
121122

122123
/*
@@ -151,6 +152,9 @@
151152
#define ETH_P_MAP 0x00F9 /* Qualcomm multiplexing and
152153
* aggregation protocol
153154
*/
155+
#define ETH_P_MCTP 0x00FA /* Management component transport
156+
* protocol packets
157+
*/
154158

155159
/*
156160
* This is an Ethernet frame header.

src/basic/linux/if_link.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,7 @@ enum {
417417
IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */
418418
IFLA_INET6_TOKEN, /* device token */
419419
IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */
420+
IFLA_INET6_RA_MTU, /* mtu carried in the RA message */
420421
__IFLA_INET6_MAX
421422
};
422423

@@ -479,6 +480,7 @@ enum {
479480
IFLA_BR_MCAST_MLD_VERSION,
480481
IFLA_BR_VLAN_STATS_PER_PORT,
481482
IFLA_BR_MULTI_BOOLOPT,
483+
IFLA_BR_MCAST_QUERIER_STATE,
482484
__IFLA_BR_MAX,
483485
};
484486

@@ -855,6 +857,7 @@ enum {
855857
IFLA_BOND_AD_ACTOR_SYSTEM,
856858
IFLA_BOND_TLB_DYNAMIC_LB,
857859
IFLA_BOND_PEER_NOTIF_DELAY,
860+
IFLA_BOND_AD_LACP_ACTIVE,
858861
__IFLA_BOND_MAX,
859862
};
860863

@@ -1260,4 +1263,14 @@ struct ifla_rmnet_flags {
12601263
__u32 mask;
12611264
};
12621265

1266+
/* MCTP section */
1267+
1268+
enum {
1269+
IFLA_MCTP_UNSPEC,
1270+
IFLA_MCTP_NET,
1271+
__IFLA_MCTP_MAX,
1272+
};
1273+
1274+
#define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1)
1275+
12631276
#endif /* _UAPI_LINUX_IF_LINK_H */

src/basic/linux/in.h

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,22 @@ struct ip_mreq_source {
188188
};
189189

190190
struct ip_msfilter {
191-
__be32 imsf_multiaddr;
192-
__be32 imsf_interface;
193-
__u32 imsf_fmode;
194-
__u32 imsf_numsrc;
195-
__be32 imsf_slist[1];
191+
union {
192+
struct {
193+
__be32 imsf_multiaddr_aux;
194+
__be32 imsf_interface_aux;
195+
__u32 imsf_fmode_aux;
196+
__u32 imsf_numsrc_aux;
197+
__be32 imsf_slist[1];
198+
};
199+
struct {
200+
__be32 imsf_multiaddr;
201+
__be32 imsf_interface;
202+
__u32 imsf_fmode;
203+
__u32 imsf_numsrc;
204+
__be32 imsf_slist_flex[];
205+
};
206+
};
196207
};
197208

198209
#define IP_MSFILTER_SIZE(numsrc) \
@@ -211,11 +222,22 @@ struct group_source_req {
211222
};
212223

213224
struct group_filter {
214-
__u32 gf_interface; /* interface index */
215-
struct __kernel_sockaddr_storage gf_group; /* multicast address */
216-
__u32 gf_fmode; /* filter mode */
217-
__u32 gf_numsrc; /* number of sources */
218-
struct __kernel_sockaddr_storage gf_slist[1]; /* interface index */
225+
union {
226+
struct {
227+
__u32 gf_interface_aux; /* interface index */
228+
struct __kernel_sockaddr_storage gf_group_aux; /* multicast address */
229+
__u32 gf_fmode_aux; /* filter mode */
230+
__u32 gf_numsrc_aux; /* number of sources */
231+
struct __kernel_sockaddr_storage gf_slist[1]; /* interface index */
232+
};
233+
struct {
234+
__u32 gf_interface; /* interface index */
235+
struct __kernel_sockaddr_storage gf_group; /* multicast address */
236+
__u32 gf_fmode; /* filter mode */
237+
__u32 gf_numsrc; /* number of sources */
238+
struct __kernel_sockaddr_storage gf_slist_flex[]; /* interface index */
239+
};
240+
};
219241
};
220242

221243
#define GROUP_FILTER_SIZE(numsrc) \

src/basic/linux/in6.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ struct in6_flowlabel_req {
145145
#define IPV6_TLV_PADN 1
146146
#define IPV6_TLV_ROUTERALERT 5
147147
#define IPV6_TLV_CALIPSO 7 /* RFC 5570 */
148+
#define IPV6_TLV_IOAM 49 /* TEMPORARY IANA allocation for IOAM */
148149
#define IPV6_TLV_JUMBO 194
149150
#define IPV6_TLV_HAO 201 /* home address option */
150151

src/basic/linux/netfilter/nf_tables.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -753,11 +753,13 @@ enum nft_dynset_attributes {
753753
* @NFT_PAYLOAD_LL_HEADER: link layer header
754754
* @NFT_PAYLOAD_NETWORK_HEADER: network header
755755
* @NFT_PAYLOAD_TRANSPORT_HEADER: transport header
756+
* @NFT_PAYLOAD_INNER_HEADER: inner header / payload
756757
*/
757758
enum nft_payload_bases {
758759
NFT_PAYLOAD_LL_HEADER,
759760
NFT_PAYLOAD_NETWORK_HEADER,
760761
NFT_PAYLOAD_TRANSPORT_HEADER,
762+
NFT_PAYLOAD_INNER_HEADER,
761763
};
762764

763765
/**
@@ -896,7 +898,8 @@ enum nft_meta_keys {
896898
NFT_META_OIF,
897899
NFT_META_IIFNAME,
898900
NFT_META_OIFNAME,
899-
NFT_META_IIFTYPE,
901+
NFT_META_IFTYPE,
902+
#define NFT_META_IIFTYPE NFT_META_IFTYPE
900903
NFT_META_OIFTYPE,
901904
NFT_META_SKUID,
902905
NFT_META_SKGID,
@@ -923,6 +926,7 @@ enum nft_meta_keys {
923926
NFT_META_TIME_HOUR,
924927
NFT_META_SDIF,
925928
NFT_META_SDIFNAME,
929+
__NFT_META_IIFTYPE,
926930
};
927931

928932
/**

0 commit comments

Comments
 (0)
X Tutup