util: update kernel headers (v5.9-rc5)
This commit is contained in:
parent
e29e5db7df
commit
ed2c2d3655
|
@ -36,17 +36,22 @@ struct btrfs_ioctl_vol_args {
|
||||||
#define BTRFS_DEVICE_PATH_NAME_MAX 1024
|
#define BTRFS_DEVICE_PATH_NAME_MAX 1024
|
||||||
#define BTRFS_SUBVOL_NAME_MAX 4039
|
#define BTRFS_SUBVOL_NAME_MAX 4039
|
||||||
|
|
||||||
#define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
|
#ifndef __KERNEL__
|
||||||
|
/* Deprecated since 5.7 */
|
||||||
|
# define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
|
||||||
|
#endif
|
||||||
#define BTRFS_SUBVOL_RDONLY (1ULL << 1)
|
#define BTRFS_SUBVOL_RDONLY (1ULL << 1)
|
||||||
#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
|
#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
|
||||||
|
|
||||||
#define BTRFS_DEVICE_SPEC_BY_ID (1ULL << 3)
|
#define BTRFS_DEVICE_SPEC_BY_ID (1ULL << 3)
|
||||||
|
|
||||||
|
#define BTRFS_SUBVOL_SPEC_BY_ID (1ULL << 4)
|
||||||
|
|
||||||
#define BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED \
|
#define BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED \
|
||||||
(BTRFS_SUBVOL_CREATE_ASYNC | \
|
(BTRFS_SUBVOL_RDONLY | \
|
||||||
BTRFS_SUBVOL_RDONLY | \
|
|
||||||
BTRFS_SUBVOL_QGROUP_INHERIT | \
|
BTRFS_SUBVOL_QGROUP_INHERIT | \
|
||||||
BTRFS_DEVICE_SPEC_BY_ID)
|
BTRFS_DEVICE_SPEC_BY_ID | \
|
||||||
|
BTRFS_SUBVOL_SPEC_BY_ID)
|
||||||
|
|
||||||
#define BTRFS_FSID_SIZE 16
|
#define BTRFS_FSID_SIZE 16
|
||||||
#define BTRFS_UUID_SIZE 16
|
#define BTRFS_UUID_SIZE 16
|
||||||
|
@ -97,16 +102,29 @@ struct btrfs_ioctl_qgroup_limit_args {
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* flags for subvolumes
|
* Arguments for specification of subvolumes or devices, supporting by-name or
|
||||||
|
* by-id and flags
|
||||||
*
|
*
|
||||||
* Used by:
|
* The set of supported flags depends on the ioctl
|
||||||
* struct btrfs_ioctl_vol_args_v2.flags
|
|
||||||
*
|
*
|
||||||
* BTRFS_SUBVOL_RDONLY is also provided/consumed by the following ioctls:
|
* BTRFS_SUBVOL_RDONLY is also provided/consumed by the following ioctls:
|
||||||
* - BTRFS_IOC_SUBVOL_GETFLAGS
|
* - BTRFS_IOC_SUBVOL_GETFLAGS
|
||||||
* - BTRFS_IOC_SUBVOL_SETFLAGS
|
* - BTRFS_IOC_SUBVOL_SETFLAGS
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Supported flags for BTRFS_IOC_RM_DEV_V2 */
|
||||||
|
#define BTRFS_DEVICE_REMOVE_ARGS_MASK \
|
||||||
|
(BTRFS_DEVICE_SPEC_BY_ID)
|
||||||
|
|
||||||
|
/* Supported flags for BTRFS_IOC_SNAP_CREATE_V2 and BTRFS_IOC_SUBVOL_CREATE_V2 */
|
||||||
|
#define BTRFS_SUBVOL_CREATE_ARGS_MASK \
|
||||||
|
(BTRFS_SUBVOL_RDONLY | \
|
||||||
|
BTRFS_SUBVOL_QGROUP_INHERIT)
|
||||||
|
|
||||||
|
/* Supported flags for BTRFS_IOC_SNAP_DESTROY_V2 */
|
||||||
|
#define BTRFS_SUBVOL_DELETE_ARGS_MASK \
|
||||||
|
(BTRFS_SUBVOL_SPEC_BY_ID)
|
||||||
|
|
||||||
struct btrfs_ioctl_vol_args_v2 {
|
struct btrfs_ioctl_vol_args_v2 {
|
||||||
__s64 fd;
|
__s64 fd;
|
||||||
__u64 transid;
|
__u64 transid;
|
||||||
|
@ -121,6 +139,7 @@ struct btrfs_ioctl_vol_args_v2 {
|
||||||
union {
|
union {
|
||||||
char name[BTRFS_SUBVOL_NAME_MAX + 1];
|
char name[BTRFS_SUBVOL_NAME_MAX + 1];
|
||||||
__u64 devid;
|
__u64 devid;
|
||||||
|
__u64 subvolid;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -224,6 +243,18 @@ struct btrfs_ioctl_dev_info_args {
|
||||||
__u8 path[BTRFS_DEVICE_PATH_NAME_MAX]; /* out */
|
__u8 path[BTRFS_DEVICE_PATH_NAME_MAX]; /* out */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Retrieve information about the filesystem
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Request information about checksum type and size */
|
||||||
|
#define BTRFS_FS_INFO_FLAG_CSUM_INFO (1 << 0)
|
||||||
|
|
||||||
|
/* Request information about filesystem generation */
|
||||||
|
#define BTRFS_FS_INFO_FLAG_GENERATION (1 << 1)
|
||||||
|
/* Request information about filesystem metadata UUID */
|
||||||
|
#define BTRFS_FS_INFO_FLAG_METADATA_UUID (1 << 2)
|
||||||
|
|
||||||
struct btrfs_ioctl_fs_info_args {
|
struct btrfs_ioctl_fs_info_args {
|
||||||
__u64 max_id; /* out */
|
__u64 max_id; /* out */
|
||||||
__u64 num_devices; /* out */
|
__u64 num_devices; /* out */
|
||||||
|
@ -231,8 +262,13 @@ struct btrfs_ioctl_fs_info_args {
|
||||||
__u32 nodesize; /* out */
|
__u32 nodesize; /* out */
|
||||||
__u32 sectorsize; /* out */
|
__u32 sectorsize; /* out */
|
||||||
__u32 clone_alignment; /* out */
|
__u32 clone_alignment; /* out */
|
||||||
__u32 reserved32;
|
/* See BTRFS_FS_INFO_FLAG_* */
|
||||||
__u64 reserved[122]; /* pad to 1k */
|
__u16 csum_type; /* out */
|
||||||
|
__u16 csum_size; /* out */
|
||||||
|
__u64 flags; /* in/out */
|
||||||
|
__u64 generation; /* out */
|
||||||
|
__u8 metadata_uuid[BTRFS_FSID_SIZE]; /* out */
|
||||||
|
__u8 reserved[944]; /* pad to 1k */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -949,5 +985,7 @@ enum btrfs_err_code {
|
||||||
struct btrfs_ioctl_get_subvol_rootref_args)
|
struct btrfs_ioctl_get_subvol_rootref_args)
|
||||||
#define BTRFS_IOC_INO_LOOKUP_USER _IOWR(BTRFS_IOCTL_MAGIC, 62, \
|
#define BTRFS_IOC_INO_LOOKUP_USER _IOWR(BTRFS_IOCTL_MAGIC, 62, \
|
||||||
struct btrfs_ioctl_ino_lookup_user_args)
|
struct btrfs_ioctl_ino_lookup_user_args)
|
||||||
|
#define BTRFS_IOC_SNAP_DESTROY_V2 _IOW(BTRFS_IOCTL_MAGIC, 63, \
|
||||||
|
struct btrfs_ioctl_vol_args_v2)
|
||||||
|
|
||||||
#endif /* _UAPI_LINUX_BTRFS_H */
|
#endif /* _UAPI_LINUX_BTRFS_H */
|
||||||
|
|
|
@ -519,15 +519,6 @@ struct btrfs_extent_inline_ref {
|
||||||
__le64 offset;
|
__le64 offset;
|
||||||
} __attribute__ ((__packed__));
|
} __attribute__ ((__packed__));
|
||||||
|
|
||||||
/* old style backrefs item */
|
|
||||||
struct btrfs_extent_ref_v0 {
|
|
||||||
__le64 root;
|
|
||||||
__le64 generation;
|
|
||||||
__le64 objectid;
|
|
||||||
__le32 count;
|
|
||||||
} __attribute__ ((__packed__));
|
|
||||||
|
|
||||||
|
|
||||||
/* dev extents record free space on individual devices. The owner
|
/* dev extents record free space on individual devices. The owner
|
||||||
* field points back to the chunk allocation mapping tree that allocated
|
* field points back to the chunk allocation mapping tree that allocated
|
||||||
* the extent. The chunk tree uuid field is a way to double check the owner
|
* the extent. The chunk tree uuid field is a way to double check the owner
|
||||||
|
@ -922,9 +913,9 @@ struct btrfs_free_space_info {
|
||||||
#define BTRFS_FREE_SPACE_USING_BITMAPS (1ULL << 0)
|
#define BTRFS_FREE_SPACE_USING_BITMAPS (1ULL << 0)
|
||||||
|
|
||||||
#define BTRFS_QGROUP_LEVEL_SHIFT 48
|
#define BTRFS_QGROUP_LEVEL_SHIFT 48
|
||||||
static inline __u64 btrfs_qgroup_level(__u64 qgroupid)
|
static inline __u16 btrfs_qgroup_level(__u64 qgroupid)
|
||||||
{
|
{
|
||||||
return qgroupid >> BTRFS_QGROUP_LEVEL_SHIFT;
|
return (__u16)(qgroupid >> BTRFS_QGROUP_LEVEL_SHIFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -177,6 +177,7 @@ enum {
|
||||||
enum {
|
enum {
|
||||||
IF_LINK_MODE_DEFAULT,
|
IF_LINK_MODE_DEFAULT,
|
||||||
IF_LINK_MODE_DORMANT, /* limit upward transition to dormant */
|
IF_LINK_MODE_DORMANT, /* limit upward transition to dormant */
|
||||||
|
IF_LINK_MODE_TESTING, /* limit upward transition to testing */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -120,6 +120,7 @@ enum {
|
||||||
IFLA_BRIDGE_MODE,
|
IFLA_BRIDGE_MODE,
|
||||||
IFLA_BRIDGE_VLAN_INFO,
|
IFLA_BRIDGE_VLAN_INFO,
|
||||||
IFLA_BRIDGE_VLAN_TUNNEL_INFO,
|
IFLA_BRIDGE_VLAN_TUNNEL_INFO,
|
||||||
|
IFLA_BRIDGE_MRP,
|
||||||
__IFLA_BRIDGE_MAX,
|
__IFLA_BRIDGE_MAX,
|
||||||
};
|
};
|
||||||
#define IFLA_BRIDGE_MAX (__IFLA_BRIDGE_MAX - 1)
|
#define IFLA_BRIDGE_MAX (__IFLA_BRIDGE_MAX - 1)
|
||||||
|
@ -157,6 +158,176 @@ struct bridge_vlan_xstats {
|
||||||
__u32 pad2;
|
__u32 pad2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_INSTANCE,
|
||||||
|
IFLA_BRIDGE_MRP_PORT_STATE,
|
||||||
|
IFLA_BRIDGE_MRP_PORT_ROLE,
|
||||||
|
IFLA_BRIDGE_MRP_RING_STATE,
|
||||||
|
IFLA_BRIDGE_MRP_RING_ROLE,
|
||||||
|
IFLA_BRIDGE_MRP_START_TEST,
|
||||||
|
IFLA_BRIDGE_MRP_INFO,
|
||||||
|
IFLA_BRIDGE_MRP_IN_ROLE,
|
||||||
|
IFLA_BRIDGE_MRP_IN_STATE,
|
||||||
|
IFLA_BRIDGE_MRP_START_IN_TEST,
|
||||||
|
__IFLA_BRIDGE_MRP_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_MAX (__IFLA_BRIDGE_MRP_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_INSTANCE_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_INSTANCE_RING_ID,
|
||||||
|
IFLA_BRIDGE_MRP_INSTANCE_P_IFINDEX,
|
||||||
|
IFLA_BRIDGE_MRP_INSTANCE_S_IFINDEX,
|
||||||
|
IFLA_BRIDGE_MRP_INSTANCE_PRIO,
|
||||||
|
__IFLA_BRIDGE_MRP_INSTANCE_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_INSTANCE_MAX (__IFLA_BRIDGE_MRP_INSTANCE_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_PORT_STATE_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_PORT_STATE_STATE,
|
||||||
|
__IFLA_BRIDGE_MRP_PORT_STATE_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_PORT_STATE_MAX (__IFLA_BRIDGE_MRP_PORT_STATE_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_PORT_ROLE_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_PORT_ROLE_ROLE,
|
||||||
|
__IFLA_BRIDGE_MRP_PORT_ROLE_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_PORT_ROLE_MAX (__IFLA_BRIDGE_MRP_PORT_ROLE_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_RING_STATE_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_RING_STATE_RING_ID,
|
||||||
|
IFLA_BRIDGE_MRP_RING_STATE_STATE,
|
||||||
|
__IFLA_BRIDGE_MRP_RING_STATE_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_RING_STATE_MAX (__IFLA_BRIDGE_MRP_RING_STATE_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_RING_ROLE_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_RING_ROLE_RING_ID,
|
||||||
|
IFLA_BRIDGE_MRP_RING_ROLE_ROLE,
|
||||||
|
__IFLA_BRIDGE_MRP_RING_ROLE_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_RING_ROLE_MAX (__IFLA_BRIDGE_MRP_RING_ROLE_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_START_TEST_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_START_TEST_RING_ID,
|
||||||
|
IFLA_BRIDGE_MRP_START_TEST_INTERVAL,
|
||||||
|
IFLA_BRIDGE_MRP_START_TEST_MAX_MISS,
|
||||||
|
IFLA_BRIDGE_MRP_START_TEST_PERIOD,
|
||||||
|
IFLA_BRIDGE_MRP_START_TEST_MONITOR,
|
||||||
|
__IFLA_BRIDGE_MRP_START_TEST_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_START_TEST_MAX (__IFLA_BRIDGE_MRP_START_TEST_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_INFO_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_RING_ID,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_P_IFINDEX,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_S_IFINDEX,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_PRIO,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_RING_STATE,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_RING_ROLE,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_TEST_INTERVAL,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_TEST_MAX_MISS,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_TEST_MONITOR,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_I_IFINDEX,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_IN_STATE,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_IN_ROLE,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_IN_TEST_INTERVAL,
|
||||||
|
IFLA_BRIDGE_MRP_INFO_IN_TEST_MAX_MISS,
|
||||||
|
__IFLA_BRIDGE_MRP_INFO_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_INFO_MAX (__IFLA_BRIDGE_MRP_INFO_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_IN_STATE_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_IN_STATE_IN_ID,
|
||||||
|
IFLA_BRIDGE_MRP_IN_STATE_STATE,
|
||||||
|
__IFLA_BRIDGE_MRP_IN_STATE_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_IN_STATE_MAX (__IFLA_BRIDGE_MRP_IN_STATE_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_IN_ROLE_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_IN_ROLE_RING_ID,
|
||||||
|
IFLA_BRIDGE_MRP_IN_ROLE_IN_ID,
|
||||||
|
IFLA_BRIDGE_MRP_IN_ROLE_ROLE,
|
||||||
|
IFLA_BRIDGE_MRP_IN_ROLE_I_IFINDEX,
|
||||||
|
__IFLA_BRIDGE_MRP_IN_ROLE_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_IN_ROLE_MAX (__IFLA_BRIDGE_MRP_IN_ROLE_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_BRIDGE_MRP_START_IN_TEST_UNSPEC,
|
||||||
|
IFLA_BRIDGE_MRP_START_IN_TEST_IN_ID,
|
||||||
|
IFLA_BRIDGE_MRP_START_IN_TEST_INTERVAL,
|
||||||
|
IFLA_BRIDGE_MRP_START_IN_TEST_MAX_MISS,
|
||||||
|
IFLA_BRIDGE_MRP_START_IN_TEST_PERIOD,
|
||||||
|
__IFLA_BRIDGE_MRP_START_IN_TEST_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IFLA_BRIDGE_MRP_START_IN_TEST_MAX (__IFLA_BRIDGE_MRP_START_IN_TEST_MAX - 1)
|
||||||
|
|
||||||
|
struct br_mrp_instance {
|
||||||
|
__u32 ring_id;
|
||||||
|
__u32 p_ifindex;
|
||||||
|
__u32 s_ifindex;
|
||||||
|
__u16 prio;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct br_mrp_ring_state {
|
||||||
|
__u32 ring_id;
|
||||||
|
__u32 ring_state;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct br_mrp_ring_role {
|
||||||
|
__u32 ring_id;
|
||||||
|
__u32 ring_role;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct br_mrp_start_test {
|
||||||
|
__u32 ring_id;
|
||||||
|
__u32 interval;
|
||||||
|
__u32 max_miss;
|
||||||
|
__u32 period;
|
||||||
|
__u32 monitor;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct br_mrp_in_state {
|
||||||
|
__u32 in_state;
|
||||||
|
__u16 in_id;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct br_mrp_in_role {
|
||||||
|
__u32 ring_id;
|
||||||
|
__u32 in_role;
|
||||||
|
__u32 i_ifindex;
|
||||||
|
__u16 in_id;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct br_mrp_start_in_test {
|
||||||
|
__u32 interval;
|
||||||
|
__u32 max_miss;
|
||||||
|
__u32 period;
|
||||||
|
__u16 in_id;
|
||||||
|
};
|
||||||
|
|
||||||
struct bridge_stp_xstats {
|
struct bridge_stp_xstats {
|
||||||
__u64 transition_blk;
|
__u64 transition_blk;
|
||||||
__u64 transition_fwd;
|
__u64 transition_fwd;
|
||||||
|
@ -174,6 +345,16 @@ struct br_vlan_msg {
|
||||||
__u32 ifindex;
|
__u32 ifindex;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
BRIDGE_VLANDB_DUMP_UNSPEC,
|
||||||
|
BRIDGE_VLANDB_DUMP_FLAGS,
|
||||||
|
__BRIDGE_VLANDB_DUMP_MAX,
|
||||||
|
};
|
||||||
|
#define BRIDGE_VLANDB_DUMP_MAX (__BRIDGE_VLANDB_DUMP_MAX - 1)
|
||||||
|
|
||||||
|
/* flags used in BRIDGE_VLANDB_DUMP_FLAGS attribute to affect dumps */
|
||||||
|
#define BRIDGE_VLANDB_DUMPF_STATS (1 << 0) /* Include stats in the dump */
|
||||||
|
|
||||||
/* Bridge vlan RTM attributes
|
/* Bridge vlan RTM attributes
|
||||||
* [BRIDGE_VLANDB_ENTRY] = {
|
* [BRIDGE_VLANDB_ENTRY] = {
|
||||||
* [BRIDGE_VLANDB_ENTRY_INFO]
|
* [BRIDGE_VLANDB_ENTRY_INFO]
|
||||||
|
@ -192,10 +373,46 @@ enum {
|
||||||
BRIDGE_VLANDB_ENTRY_INFO,
|
BRIDGE_VLANDB_ENTRY_INFO,
|
||||||
BRIDGE_VLANDB_ENTRY_RANGE,
|
BRIDGE_VLANDB_ENTRY_RANGE,
|
||||||
BRIDGE_VLANDB_ENTRY_STATE,
|
BRIDGE_VLANDB_ENTRY_STATE,
|
||||||
|
BRIDGE_VLANDB_ENTRY_TUNNEL_INFO,
|
||||||
|
BRIDGE_VLANDB_ENTRY_STATS,
|
||||||
__BRIDGE_VLANDB_ENTRY_MAX,
|
__BRIDGE_VLANDB_ENTRY_MAX,
|
||||||
};
|
};
|
||||||
#define BRIDGE_VLANDB_ENTRY_MAX (__BRIDGE_VLANDB_ENTRY_MAX - 1)
|
#define BRIDGE_VLANDB_ENTRY_MAX (__BRIDGE_VLANDB_ENTRY_MAX - 1)
|
||||||
|
|
||||||
|
/* [BRIDGE_VLANDB_ENTRY] = {
|
||||||
|
* [BRIDGE_VLANDB_ENTRY_TUNNEL_INFO] = {
|
||||||
|
* [BRIDGE_VLANDB_TINFO_ID]
|
||||||
|
* ...
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
enum {
|
||||||
|
BRIDGE_VLANDB_TINFO_UNSPEC,
|
||||||
|
BRIDGE_VLANDB_TINFO_ID,
|
||||||
|
BRIDGE_VLANDB_TINFO_CMD,
|
||||||
|
__BRIDGE_VLANDB_TINFO_MAX,
|
||||||
|
};
|
||||||
|
#define BRIDGE_VLANDB_TINFO_MAX (__BRIDGE_VLANDB_TINFO_MAX - 1)
|
||||||
|
|
||||||
|
/* [BRIDGE_VLANDB_ENTRY] = {
|
||||||
|
* [BRIDGE_VLANDB_ENTRY_STATS] = {
|
||||||
|
* [BRIDGE_VLANDB_STATS_RX_BYTES]
|
||||||
|
* ...
|
||||||
|
* }
|
||||||
|
* ...
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
enum {
|
||||||
|
BRIDGE_VLANDB_STATS_UNSPEC,
|
||||||
|
BRIDGE_VLANDB_STATS_RX_BYTES,
|
||||||
|
BRIDGE_VLANDB_STATS_RX_PACKETS,
|
||||||
|
BRIDGE_VLANDB_STATS_TX_BYTES,
|
||||||
|
BRIDGE_VLANDB_STATS_TX_PACKETS,
|
||||||
|
BRIDGE_VLANDB_STATS_PAD,
|
||||||
|
__BRIDGE_VLANDB_STATS_MAX,
|
||||||
|
};
|
||||||
|
#define BRIDGE_VLANDB_STATS_MAX (__BRIDGE_VLANDB_STATS_MAX - 1)
|
||||||
|
|
||||||
/* Bridge multicast database attributes
|
/* Bridge multicast database attributes
|
||||||
* [MDBA_MDB] = {
|
* [MDBA_MDB] = {
|
||||||
* [MDBA_MDB_ENTRY] = {
|
* [MDBA_MDB_ENTRY] = {
|
||||||
|
|
|
@ -92,6 +92,7 @@
|
||||||
#define ETH_P_PREAUTH 0x88C7 /* 802.11 Preauthentication */
|
#define ETH_P_PREAUTH 0x88C7 /* 802.11 Preauthentication */
|
||||||
#define ETH_P_TIPC 0x88CA /* TIPC */
|
#define ETH_P_TIPC 0x88CA /* TIPC */
|
||||||
#define ETH_P_LLDP 0x88CC /* Link Layer Discovery Protocol */
|
#define ETH_P_LLDP 0x88CC /* Link Layer Discovery Protocol */
|
||||||
|
#define ETH_P_MRP 0x88E3 /* Media Redundancy Protocol */
|
||||||
#define ETH_P_MACSEC 0x88E5 /* 802.1ae MACsec */
|
#define ETH_P_MACSEC 0x88E5 /* 802.1ae MACsec */
|
||||||
#define ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */
|
#define ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */
|
||||||
#define ETH_P_MVRP 0x88F5 /* 802.1Q MVRP */
|
#define ETH_P_MVRP 0x88F5 /* 802.1Q MVRP */
|
||||||
|
|
|
@ -170,12 +170,22 @@ enum {
|
||||||
IFLA_PROP_LIST,
|
IFLA_PROP_LIST,
|
||||||
IFLA_ALT_IFNAME, /* Alternative ifname */
|
IFLA_ALT_IFNAME, /* Alternative ifname */
|
||||||
IFLA_PERM_ADDRESS,
|
IFLA_PERM_ADDRESS,
|
||||||
|
IFLA_PROTO_DOWN_REASON,
|
||||||
__IFLA_MAX
|
__IFLA_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define IFLA_MAX (__IFLA_MAX - 1)
|
#define IFLA_MAX (__IFLA_MAX - 1)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
IFLA_PROTO_DOWN_REASON_UNSPEC,
|
||||||
|
IFLA_PROTO_DOWN_REASON_MASK, /* u32, mask for reason bits */
|
||||||
|
IFLA_PROTO_DOWN_REASON_VALUE, /* u32, reason bit value */
|
||||||
|
|
||||||
|
__IFLA_PROTO_DOWN_REASON_CNT,
|
||||||
|
IFLA_PROTO_DOWN_REASON_MAX = __IFLA_PROTO_DOWN_REASON_CNT - 1
|
||||||
|
};
|
||||||
|
|
||||||
/* backwards compatibility for userspace */
|
/* backwards compatibility for userspace */
|
||||||
#ifndef __KERNEL__
|
#ifndef __KERNEL__
|
||||||
#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
|
#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
|
||||||
|
@ -343,6 +353,8 @@ enum {
|
||||||
IFLA_BRPORT_NEIGH_SUPPRESS,
|
IFLA_BRPORT_NEIGH_SUPPRESS,
|
||||||
IFLA_BRPORT_ISOLATED,
|
IFLA_BRPORT_ISOLATED,
|
||||||
IFLA_BRPORT_BACKUP_PORT,
|
IFLA_BRPORT_BACKUP_PORT,
|
||||||
|
IFLA_BRPORT_MRP_RING_OPEN,
|
||||||
|
IFLA_BRPORT_MRP_IN_OPEN,
|
||||||
__IFLA_BRPORT_MAX
|
__IFLA_BRPORT_MAX
|
||||||
};
|
};
|
||||||
#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
|
#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
|
||||||
|
@ -463,6 +475,7 @@ enum {
|
||||||
IFLA_MACSEC_REPLAY_PROTECT,
|
IFLA_MACSEC_REPLAY_PROTECT,
|
||||||
IFLA_MACSEC_VALIDATION,
|
IFLA_MACSEC_VALIDATION,
|
||||||
IFLA_MACSEC_PAD,
|
IFLA_MACSEC_PAD,
|
||||||
|
IFLA_MACSEC_OFFLOAD,
|
||||||
__IFLA_MACSEC_MAX,
|
__IFLA_MACSEC_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -489,6 +502,7 @@ enum macsec_validation_type {
|
||||||
enum macsec_offload {
|
enum macsec_offload {
|
||||||
MACSEC_OFFLOAD_OFF = 0,
|
MACSEC_OFFLOAD_OFF = 0,
|
||||||
MACSEC_OFFLOAD_PHY = 1,
|
MACSEC_OFFLOAD_PHY = 1,
|
||||||
|
MACSEC_OFFLOAD_MAC = 2,
|
||||||
__MACSEC_OFFLOAD_END,
|
__MACSEC_OFFLOAD_END,
|
||||||
MACSEC_OFFLOAD_MAX = __MACSEC_OFFLOAD_END - 1,
|
MACSEC_OFFLOAD_MAX = __MACSEC_OFFLOAD_END - 1,
|
||||||
};
|
};
|
||||||
|
@ -590,6 +604,18 @@ enum ifla_geneve_df {
|
||||||
GENEVE_DF_MAX = __GENEVE_DF_END - 1,
|
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 */
|
/* PPP section */
|
||||||
enum {
|
enum {
|
||||||
IFLA_PPP_UNSPEC,
|
IFLA_PPP_UNSPEC,
|
||||||
|
@ -891,7 +917,14 @@ enum {
|
||||||
#define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1)
|
#define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1)
|
||||||
|
|
||||||
|
|
||||||
/* HSR section */
|
/* HSR/PRP section, both uses same interface */
|
||||||
|
|
||||||
|
/* Different redundancy protocols for hsr device */
|
||||||
|
enum {
|
||||||
|
HSR_PROTOCOL_HSR,
|
||||||
|
HSR_PROTOCOL_PRP,
|
||||||
|
HSR_PROTOCOL_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
IFLA_HSR_UNSPEC,
|
IFLA_HSR_UNSPEC,
|
||||||
|
@ -901,6 +934,9 @@ enum {
|
||||||
IFLA_HSR_SUPERVISION_ADDR, /* Supervision frame multicast addr */
|
IFLA_HSR_SUPERVISION_ADDR, /* Supervision frame multicast addr */
|
||||||
IFLA_HSR_SEQ_NR,
|
IFLA_HSR_SEQ_NR,
|
||||||
IFLA_HSR_VERSION, /* HSR version */
|
IFLA_HSR_VERSION, /* HSR version */
|
||||||
|
IFLA_HSR_PROTOCOL, /* Indicate different protocol than
|
||||||
|
* HSR. For example PRP.
|
||||||
|
*/
|
||||||
__IFLA_HSR_MAX,
|
__IFLA_HSR_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -960,11 +996,12 @@ enum {
|
||||||
#define XDP_FLAGS_SKB_MODE (1U << 1)
|
#define XDP_FLAGS_SKB_MODE (1U << 1)
|
||||||
#define XDP_FLAGS_DRV_MODE (1U << 2)
|
#define XDP_FLAGS_DRV_MODE (1U << 2)
|
||||||
#define XDP_FLAGS_HW_MODE (1U << 3)
|
#define XDP_FLAGS_HW_MODE (1U << 3)
|
||||||
|
#define XDP_FLAGS_REPLACE (1U << 4)
|
||||||
#define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | \
|
#define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | \
|
||||||
XDP_FLAGS_DRV_MODE | \
|
XDP_FLAGS_DRV_MODE | \
|
||||||
XDP_FLAGS_HW_MODE)
|
XDP_FLAGS_HW_MODE)
|
||||||
#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \
|
#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \
|
||||||
XDP_FLAGS_MODES)
|
XDP_FLAGS_MODES | XDP_FLAGS_REPLACE)
|
||||||
|
|
||||||
/* These are stored into IFLA_XDP_ATTACHED on dump. */
|
/* These are stored into IFLA_XDP_ATTACHED on dump. */
|
||||||
enum {
|
enum {
|
||||||
|
@ -984,6 +1021,7 @@ enum {
|
||||||
IFLA_XDP_DRV_PROG_ID,
|
IFLA_XDP_DRV_PROG_ID,
|
||||||
IFLA_XDP_SKB_PROG_ID,
|
IFLA_XDP_SKB_PROG_ID,
|
||||||
IFLA_XDP_HW_PROG_ID,
|
IFLA_XDP_HW_PROG_ID,
|
||||||
|
IFLA_XDP_EXPECTED_FD,
|
||||||
__IFLA_XDP_MAX,
|
__IFLA_XDP_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -22,9 +22,11 @@
|
||||||
|
|
||||||
#define MACSEC_KEYID_LEN 16
|
#define MACSEC_KEYID_LEN 16
|
||||||
|
|
||||||
/* cipher IDs as per IEEE802.1AEbn-2011 */
|
/* cipher IDs as per IEEE802.1AE-2018 (Table 14-1) */
|
||||||
#define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL
|
#define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL
|
||||||
#define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL
|
#define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL
|
||||||
|
#define MACSEC_CIPHER_ID_GCM_AES_XPN_128 0x0080C20001000003ULL
|
||||||
|
#define MACSEC_CIPHER_ID_GCM_AES_XPN_256 0x0080C20001000004ULL
|
||||||
|
|
||||||
/* deprecated cipher ID for GCM-AES-128 */
|
/* deprecated cipher ID for GCM-AES-128 */
|
||||||
#define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL
|
#define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL
|
||||||
|
@ -88,11 +90,13 @@ enum macsec_sa_attrs {
|
||||||
MACSEC_SA_ATTR_UNSPEC,
|
MACSEC_SA_ATTR_UNSPEC,
|
||||||
MACSEC_SA_ATTR_AN, /* config/dump, u8 0..3 */
|
MACSEC_SA_ATTR_AN, /* config/dump, u8 0..3 */
|
||||||
MACSEC_SA_ATTR_ACTIVE, /* config/dump, u8 0..1 */
|
MACSEC_SA_ATTR_ACTIVE, /* config/dump, u8 0..1 */
|
||||||
MACSEC_SA_ATTR_PN, /* config/dump, u32 */
|
MACSEC_SA_ATTR_PN, /* config/dump, u32/u64 (u64 if XPN) */
|
||||||
MACSEC_SA_ATTR_KEY, /* config, data */
|
MACSEC_SA_ATTR_KEY, /* config, data */
|
||||||
MACSEC_SA_ATTR_KEYID, /* config/dump, 128-bit */
|
MACSEC_SA_ATTR_KEYID, /* config/dump, 128-bit */
|
||||||
MACSEC_SA_ATTR_STATS, /* dump, nested, macsec_sa_stats_attr */
|
MACSEC_SA_ATTR_STATS, /* dump, nested, macsec_sa_stats_attr */
|
||||||
MACSEC_SA_ATTR_PAD,
|
MACSEC_SA_ATTR_PAD,
|
||||||
|
MACSEC_SA_ATTR_SSCI, /* config/dump, u32 - XPN only */
|
||||||
|
MACSEC_SA_ATTR_SALT, /* config, 96-bit - XPN only */
|
||||||
__MACSEC_SA_ATTR_END,
|
__MACSEC_SA_ATTR_END,
|
||||||
NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END,
|
NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END,
|
||||||
MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1,
|
MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1,
|
||||||
|
|
|
@ -74,6 +74,8 @@ enum {
|
||||||
#define IPPROTO_UDPLITE IPPROTO_UDPLITE
|
#define IPPROTO_UDPLITE IPPROTO_UDPLITE
|
||||||
IPPROTO_MPLS = 137, /* MPLS in IP (RFC 4023) */
|
IPPROTO_MPLS = 137, /* MPLS in IP (RFC 4023) */
|
||||||
#define IPPROTO_MPLS IPPROTO_MPLS
|
#define IPPROTO_MPLS IPPROTO_MPLS
|
||||||
|
IPPROTO_ETHERNET = 143, /* Ethernet-within-IPv6 Encapsulation */
|
||||||
|
#define IPPROTO_ETHERNET IPPROTO_ETHERNET
|
||||||
IPPROTO_RAW = 255, /* Raw IP packets */
|
IPPROTO_RAW = 255, /* Raw IP packets */
|
||||||
#define IPPROTO_RAW IPPROTO_RAW
|
#define IPPROTO_RAW IPPROTO_RAW
|
||||||
IPPROTO_MPTCP = 262, /* Multipath TCP connection */
|
IPPROTO_MPTCP = 262, /* Multipath TCP connection */
|
||||||
|
@ -121,6 +123,7 @@ struct in_addr {
|
||||||
#define IP_CHECKSUM 23
|
#define IP_CHECKSUM 23
|
||||||
#define IP_BIND_ADDRESS_NO_PORT 24
|
#define IP_BIND_ADDRESS_NO_PORT 24
|
||||||
#define IP_RECVFRAGSIZE 25
|
#define IP_RECVFRAGSIZE 25
|
||||||
|
#define IP_RECVERR_RFC4884 26
|
||||||
|
|
||||||
/* IP_MTU_DISCOVER values */
|
/* IP_MTU_DISCOVER values */
|
||||||
#define IP_PMTUDISC_DONT 0 /* Never send DF frames */
|
#define IP_PMTUDISC_DONT 0 /* Never send DF frames */
|
||||||
|
@ -132,7 +135,7 @@ struct in_addr {
|
||||||
* this socket to prevent accepting spoofed ones.
|
* this socket to prevent accepting spoofed ones.
|
||||||
*/
|
*/
|
||||||
#define IP_PMTUDISC_INTERFACE 4
|
#define IP_PMTUDISC_INTERFACE 4
|
||||||
/* weaker version of IP_PMTUDISC_INTERFACE, which allos packets to get
|
/* weaker version of IP_PMTUDISC_INTERFACE, which allows packets to get
|
||||||
* fragmented if they exeed the interface mtu
|
* fragmented if they exeed the interface mtu
|
||||||
*/
|
*/
|
||||||
#define IP_PMTUDISC_OMIT 5
|
#define IP_PMTUDISC_OMIT 5
|
||||||
|
|
|
@ -179,6 +179,7 @@ struct in6_flowlabel_req {
|
||||||
#define IPV6_LEAVE_ANYCAST 28
|
#define IPV6_LEAVE_ANYCAST 28
|
||||||
#define IPV6_MULTICAST_ALL 29
|
#define IPV6_MULTICAST_ALL 29
|
||||||
#define IPV6_ROUTER_ALERT_ISOLATE 30
|
#define IPV6_ROUTER_ALERT_ISOLATE 30
|
||||||
|
#define IPV6_RECVERR_RFC4884 31
|
||||||
|
|
||||||
/* IPV6_MTU_DISCOVER values */
|
/* IPV6_MTU_DISCOVER values */
|
||||||
#define IPV6_PMTUDISC_DONT 0
|
#define IPV6_PMTUDISC_DONT 0
|
||||||
|
|
|
@ -249,4 +249,107 @@ struct nla_bitfield32 {
|
||||||
__u32 selector;
|
__u32 selector;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* policy descriptions - it's specific to each family how this is used
|
||||||
|
* Normally, it should be retrieved via a dump inside another attribute
|
||||||
|
* specifying where it applies.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum netlink_attribute_type - type of an attribute
|
||||||
|
* @NL_ATTR_TYPE_INVALID: unused
|
||||||
|
* @NL_ATTR_TYPE_FLAG: flag attribute (present/not present)
|
||||||
|
* @NL_ATTR_TYPE_U8: 8-bit unsigned attribute
|
||||||
|
* @NL_ATTR_TYPE_U16: 16-bit unsigned attribute
|
||||||
|
* @NL_ATTR_TYPE_U32: 32-bit unsigned attribute
|
||||||
|
* @NL_ATTR_TYPE_U64: 64-bit unsigned attribute
|
||||||
|
* @NL_ATTR_TYPE_S8: 8-bit signed attribute
|
||||||
|
* @NL_ATTR_TYPE_S16: 16-bit signed attribute
|
||||||
|
* @NL_ATTR_TYPE_S32: 32-bit signed attribute
|
||||||
|
* @NL_ATTR_TYPE_S64: 64-bit signed attribute
|
||||||
|
* @NL_ATTR_TYPE_BINARY: binary data, min/max length may be specified
|
||||||
|
* @NL_ATTR_TYPE_STRING: string, min/max length may be specified
|
||||||
|
* @NL_ATTR_TYPE_NUL_STRING: NUL-terminated string,
|
||||||
|
* min/max length may be specified
|
||||||
|
* @NL_ATTR_TYPE_NESTED: nested, i.e. the content of this attribute
|
||||||
|
* consists of sub-attributes. The nested policy and maxtype
|
||||||
|
* inside may be specified.
|
||||||
|
* @NL_ATTR_TYPE_NESTED_ARRAY: nested array, i.e. the content of this
|
||||||
|
* attribute contains sub-attributes whose type is irrelevant
|
||||||
|
* (just used to separate the array entries) and each such array
|
||||||
|
* entry has attributes again, the policy for those inner ones
|
||||||
|
* and the corresponding maxtype may be specified.
|
||||||
|
* @NL_ATTR_TYPE_BITFIELD32: &struct nla_bitfield32 attribute
|
||||||
|
*/
|
||||||
|
enum netlink_attribute_type {
|
||||||
|
NL_ATTR_TYPE_INVALID,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_FLAG,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_U8,
|
||||||
|
NL_ATTR_TYPE_U16,
|
||||||
|
NL_ATTR_TYPE_U32,
|
||||||
|
NL_ATTR_TYPE_U64,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_S8,
|
||||||
|
NL_ATTR_TYPE_S16,
|
||||||
|
NL_ATTR_TYPE_S32,
|
||||||
|
NL_ATTR_TYPE_S64,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_BINARY,
|
||||||
|
NL_ATTR_TYPE_STRING,
|
||||||
|
NL_ATTR_TYPE_NUL_STRING,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_NESTED,
|
||||||
|
NL_ATTR_TYPE_NESTED_ARRAY,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_BITFIELD32,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum netlink_policy_type_attr - policy type attributes
|
||||||
|
* @NL_POLICY_TYPE_ATTR_UNSPEC: unused
|
||||||
|
* @NL_POLICY_TYPE_ATTR_TYPE: type of the attribute,
|
||||||
|
* &enum netlink_attribute_type (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MIN_VALUE_S: minimum value for signed
|
||||||
|
* integers (S64)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MAX_VALUE_S: maximum value for signed
|
||||||
|
* integers (S64)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MIN_VALUE_U: minimum value for unsigned
|
||||||
|
* integers (U64)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MAX_VALUE_U: maximum value for unsigned
|
||||||
|
* integers (U64)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MIN_LENGTH: minimum length for binary
|
||||||
|
* attributes, no minimum if not given (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MAX_LENGTH: maximum length for binary
|
||||||
|
* attributes, no maximum if not given (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_POLICY_IDX: sub policy for nested and
|
||||||
|
* nested array types (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE: maximum sub policy
|
||||||
|
* attribute for nested and nested array types, this can
|
||||||
|
* in theory be < the size of the policy pointed to by
|
||||||
|
* the index, if limited inside the nesting (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_BITFIELD32_MASK: valid mask for the
|
||||||
|
* bitfield32 type (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_PAD: pad attribute for 64-bit alignment
|
||||||
|
*/
|
||||||
|
enum netlink_policy_type_attr {
|
||||||
|
NL_POLICY_TYPE_ATTR_UNSPEC,
|
||||||
|
NL_POLICY_TYPE_ATTR_TYPE,
|
||||||
|
NL_POLICY_TYPE_ATTR_MIN_VALUE_S,
|
||||||
|
NL_POLICY_TYPE_ATTR_MAX_VALUE_S,
|
||||||
|
NL_POLICY_TYPE_ATTR_MIN_VALUE_U,
|
||||||
|
NL_POLICY_TYPE_ATTR_MAX_VALUE_U,
|
||||||
|
NL_POLICY_TYPE_ATTR_MIN_LENGTH,
|
||||||
|
NL_POLICY_TYPE_ATTR_MAX_LENGTH,
|
||||||
|
NL_POLICY_TYPE_ATTR_POLICY_IDX,
|
||||||
|
NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE,
|
||||||
|
NL_POLICY_TYPE_ATTR_BITFIELD32_MASK,
|
||||||
|
NL_POLICY_TYPE_ATTR_PAD,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
__NL_POLICY_TYPE_ATTR_MAX,
|
||||||
|
NL_POLICY_TYPE_ATTR_MAX = __NL_POLICY_TYPE_ATTR_MAX - 1
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* _UAPI__LINUX_NETLINK_H */
|
#endif /* _UAPI__LINUX_NETLINK_H */
|
||||||
|
|
|
@ -49,6 +49,9 @@ enum {
|
||||||
NHA_GROUPS, /* flag; only return nexthop groups in dump */
|
NHA_GROUPS, /* flag; only return nexthop groups in dump */
|
||||||
NHA_MASTER, /* u32; only return nexthops with given master dev */
|
NHA_MASTER, /* u32; only return nexthops with given master dev */
|
||||||
|
|
||||||
|
NHA_FDB, /* flag; nexthop belongs to a bridge fdb */
|
||||||
|
/* if NHA_FDB is added, OIF, BLACKHOLE, ENCAP cannot be set */
|
||||||
|
|
||||||
__NHA_MAX,
|
__NHA_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -256,6 +256,9 @@ enum {
|
||||||
TCA_RED_PARMS,
|
TCA_RED_PARMS,
|
||||||
TCA_RED_STAB,
|
TCA_RED_STAB,
|
||||||
TCA_RED_MAX_P,
|
TCA_RED_MAX_P,
|
||||||
|
TCA_RED_FLAGS, /* bitfield32 */
|
||||||
|
TCA_RED_EARLY_DROP_BLOCK, /* u32 */
|
||||||
|
TCA_RED_MARK_BLOCK, /* u32 */
|
||||||
__TCA_RED_MAX,
|
__TCA_RED_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -268,12 +271,28 @@ struct tc_red_qopt {
|
||||||
unsigned char Wlog; /* log(W) */
|
unsigned char Wlog; /* log(W) */
|
||||||
unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */
|
unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */
|
||||||
unsigned char Scell_log; /* cell size for idle damping */
|
unsigned char Scell_log; /* cell size for idle damping */
|
||||||
|
|
||||||
|
/* This field can be used for flags that a RED-like qdisc has
|
||||||
|
* historically supported. E.g. when configuring RED, it can be used for
|
||||||
|
* ECN, HARDDROP and ADAPTATIVE. For SFQ it can be used for ECN,
|
||||||
|
* HARDDROP. Etc. Because this field has not been validated, and is
|
||||||
|
* copied back on dump, any bits besides those to which a given qdisc
|
||||||
|
* has assigned a historical meaning need to be considered for free use
|
||||||
|
* by userspace tools.
|
||||||
|
*
|
||||||
|
* Any further flags need to be passed differently, e.g. through an
|
||||||
|
* attribute (such as TCA_RED_FLAGS above). Such attribute should allow
|
||||||
|
* passing both recent and historic flags in one value.
|
||||||
|
*/
|
||||||
unsigned char flags;
|
unsigned char flags;
|
||||||
#define TC_RED_ECN 1
|
#define TC_RED_ECN 1
|
||||||
#define TC_RED_HARDDROP 2
|
#define TC_RED_HARDDROP 2
|
||||||
#define TC_RED_ADAPTATIVE 4
|
#define TC_RED_ADAPTATIVE 4
|
||||||
|
#define TC_RED_NODROP 8
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define TC_RED_HISTORIC_FLAGS (TC_RED_ECN | TC_RED_HARDDROP | TC_RED_ADAPTATIVE)
|
||||||
|
|
||||||
struct tc_red_xstats {
|
struct tc_red_xstats {
|
||||||
__u32 early; /* Early drops */
|
__u32 early; /* Early drops */
|
||||||
__u32 pdrop; /* Drops due to queue limits */
|
__u32 pdrop; /* Drops due to queue limits */
|
||||||
|
@ -894,6 +913,12 @@ enum {
|
||||||
|
|
||||||
TCA_FQ_CE_THRESHOLD, /* DCTCP-like CE-marking threshold */
|
TCA_FQ_CE_THRESHOLD, /* DCTCP-like CE-marking threshold */
|
||||||
|
|
||||||
|
TCA_FQ_TIMER_SLACK, /* timer slack */
|
||||||
|
|
||||||
|
TCA_FQ_HORIZON, /* time horizon in us */
|
||||||
|
|
||||||
|
TCA_FQ_HORIZON_DROP, /* drop packets beyond horizon, or cap their EDT */
|
||||||
|
|
||||||
__TCA_FQ_MAX
|
__TCA_FQ_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -913,6 +938,8 @@ struct tc_fq_qd_stats {
|
||||||
__u32 throttled_flows;
|
__u32 throttled_flows;
|
||||||
__u32 unthrottle_latency_ns;
|
__u32 unthrottle_latency_ns;
|
||||||
__u64 ce_mark; /* packets above ce_threshold */
|
__u64 ce_mark; /* packets above ce_threshold */
|
||||||
|
__u64 horizon_drops;
|
||||||
|
__u64 horizon_caps;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Heavy-Hitter Filter */
|
/* Heavy-Hitter Filter */
|
||||||
|
@ -1197,8 +1224,8 @@ enum {
|
||||||
* [TCA_TAPRIO_ATTR_SCHED_ENTRY_INTERVAL]
|
* [TCA_TAPRIO_ATTR_SCHED_ENTRY_INTERVAL]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST BIT(0)
|
#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST _BITUL(0)
|
||||||
#define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD BIT(1)
|
#define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD _BITUL(1)
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
TCA_TAPRIO_ATTR_UNSPEC,
|
TCA_TAPRIO_ATTR_UNSPEC,
|
||||||
|
|
|
@ -257,12 +257,12 @@ enum {
|
||||||
|
|
||||||
/* rtm_protocol */
|
/* rtm_protocol */
|
||||||
|
|
||||||
#define RTPROT_UNSPEC 0
|
#define RTPROT_UNSPEC 0
|
||||||
#define RTPROT_REDIRECT 1 /* Route installed by ICMP redirects;
|
#define RTPROT_REDIRECT 1 /* Route installed by ICMP redirects;
|
||||||
not used by current IPv4 */
|
not used by current IPv4 */
|
||||||
#define RTPROT_KERNEL 2 /* Route installed by kernel */
|
#define RTPROT_KERNEL 2 /* Route installed by kernel */
|
||||||
#define RTPROT_BOOT 3 /* Route installed during boot */
|
#define RTPROT_BOOT 3 /* Route installed during boot */
|
||||||
#define RTPROT_STATIC 4 /* Route installed by administrator */
|
#define RTPROT_STATIC 4 /* Route installed by administrator */
|
||||||
|
|
||||||
/* Values of protocol >= RTPROT_STATIC are not interpreted by kernel;
|
/* Values of protocol >= RTPROT_STATIC are not interpreted by kernel;
|
||||||
they are just passed from user and back as is.
|
they are just passed from user and back as is.
|
||||||
|
@ -271,22 +271,23 @@ enum {
|
||||||
avoid conflicts.
|
avoid conflicts.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define RTPROT_GATED 8 /* Apparently, GateD */
|
#define RTPROT_GATED 8 /* Apparently, GateD */
|
||||||
#define RTPROT_RA 9 /* RDISC/ND router advertisements */
|
#define RTPROT_RA 9 /* RDISC/ND router advertisements */
|
||||||
#define RTPROT_MRT 10 /* Merit MRT */
|
#define RTPROT_MRT 10 /* Merit MRT */
|
||||||
#define RTPROT_ZEBRA 11 /* Zebra */
|
#define RTPROT_ZEBRA 11 /* Zebra */
|
||||||
#define RTPROT_BIRD 12 /* BIRD */
|
#define RTPROT_BIRD 12 /* BIRD */
|
||||||
#define RTPROT_DNROUTED 13 /* DECnet routing daemon */
|
#define RTPROT_DNROUTED 13 /* DECnet routing daemon */
|
||||||
#define RTPROT_XORP 14 /* XORP */
|
#define RTPROT_XORP 14 /* XORP */
|
||||||
#define RTPROT_NTK 15 /* Netsukuku */
|
#define RTPROT_NTK 15 /* Netsukuku */
|
||||||
#define RTPROT_DHCP 16 /* DHCP client */
|
#define RTPROT_DHCP 16 /* DHCP client */
|
||||||
#define RTPROT_MROUTED 17 /* Multicast daemon */
|
#define RTPROT_MROUTED 17 /* Multicast daemon */
|
||||||
#define RTPROT_BABEL 42 /* Babel daemon */
|
#define RTPROT_KEEPALIVED 18 /* Keepalived daemon */
|
||||||
#define RTPROT_BGP 186 /* BGP Routes */
|
#define RTPROT_BABEL 42 /* Babel daemon */
|
||||||
#define RTPROT_ISIS 187 /* ISIS Routes */
|
#define RTPROT_BGP 186 /* BGP Routes */
|
||||||
#define RTPROT_OSPF 188 /* OSPF Routes */
|
#define RTPROT_ISIS 187 /* ISIS Routes */
|
||||||
#define RTPROT_RIP 189 /* RIP Routes */
|
#define RTPROT_OSPF 188 /* OSPF Routes */
|
||||||
#define RTPROT_EIGRP 192 /* EIGRP Routes */
|
#define RTPROT_RIP 189 /* RIP Routes */
|
||||||
|
#define RTPROT_EIGRP 192 /* EIGRP Routes */
|
||||||
|
|
||||||
/* rtm_scope
|
/* rtm_scope
|
||||||
|
|
||||||
|
@ -609,11 +610,17 @@ enum {
|
||||||
TCA_HW_OFFLOAD,
|
TCA_HW_OFFLOAD,
|
||||||
TCA_INGRESS_BLOCK,
|
TCA_INGRESS_BLOCK,
|
||||||
TCA_EGRESS_BLOCK,
|
TCA_EGRESS_BLOCK,
|
||||||
|
TCA_DUMP_FLAGS,
|
||||||
__TCA_MAX
|
__TCA_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
#define TCA_MAX (__TCA_MAX - 1)
|
#define TCA_MAX (__TCA_MAX - 1)
|
||||||
|
|
||||||
|
#define TCA_DUMP_FLAGS_TERSE (1 << 0) /* Means that in dump user gets only basic
|
||||||
|
* data necessary to identify the objects
|
||||||
|
* (handle, cookie, etc.) and stats.
|
||||||
|
*/
|
||||||
|
|
||||||
#define TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg))))
|
#define TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg))))
|
||||||
#define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg))
|
#define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg))
|
||||||
|
|
||||||
|
@ -771,6 +778,7 @@ enum {
|
||||||
#define RTEXT_FILTER_BRVLAN (1 << 1)
|
#define RTEXT_FILTER_BRVLAN (1 << 1)
|
||||||
#define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2)
|
#define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2)
|
||||||
#define RTEXT_FILTER_SKIP_STATS (1 << 3)
|
#define RTEXT_FILTER_SKIP_STATS (1 << 3)
|
||||||
|
#define RTEXT_FILTER_MRP (1 << 4)
|
||||||
|
|
||||||
/* End of information exported to user level */
|
/* End of information exported to user level */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue