Merge net-next so that we get the changes from net, which would otherwise conflict with the NLA_POLICY_NESTED/_ARRAY changes.
Showing the changes to include/uapi/linux (14 of 1123 files). Show all
Unified · Split
| @@ -4,8 +4,8 @@ · 3 unmodified lines | |||
| 4 | * | 4 | * |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | #ifndef _UAPI_LINUX_BINDER_CTL_H | 7 | #ifndef _UAPI_LINUX_BINDERFS_H |
| 8 | #define _UAPI_LINUX_BINDER_CTL_H | 8 | #define _UAPI_LINUX_BINDERFS_H |
| 9 | 9 | ||
| 10 | #include <linux/android/binder.h> | 10 | #include <linux/android/binder.h> |
| 11 | #include <linux/types.h> | 11 | #include <linux/types.h> |
| @@ -22,8 +22,8 @@ · 10 unmodified lines | |||
| 22 | */ | 22 | */ |
| 23 | struct binderfs_device { | 23 | struct binderfs_device { |
| 24 | char name[BINDERFS_MAX_NAME + 1]; | 24 | char name[BINDERFS_MAX_NAME + 1]; |
| 25 | __u8 major; | 25 | __u32 major; |
| 26 | __u8 minor; | 26 | __u32 minor; |
| 27 | }; | 27 | }; |
| 28 | 28 | ||
| 29 | /** | 29 | /** |
| @@ -31,5 +31,5 @@ struct binderfs_device { · 1 unmodified line | |||
| 31 | */ | 31 | */ |
| 32 | #define BINDER_CTL_ADD _IOWR('b', 1, struct binderfs_device) | 32 | #define BINDER_CTL_ADD _IOWR('b', 1, struct binderfs_device) |
| 33 | 33 | ||
| 34 | #endif /* _UAPI_LINUX_BINDER_CTL_H */ | 34 | #endif /* _UAPI_LINUX_BINDERFS_H */ |
| 35 | 35 | ||
| @@ -138,6 +138,7 @@ struct blk_zone_range { · 137 unmodified lines | |||
| 138 | * @BLKRESETZONE: Reset the write pointer of the zones in the specified | 138 | * @BLKRESETZONE: Reset the write pointer of the zones in the specified |
| 139 | * sector range. The sector range must be zone aligned. | 139 | * sector range. The sector range must be zone aligned. |
| 140 | * @BLKGETZONESZ: Get the device zone size in number of 512 B sectors. | 140 | * @BLKGETZONESZ: Get the device zone size in number of 512 B sectors. |
| 141 | * @BLKGETNRZONES: Get the total number of zones of the device. | ||
| 141 | */ | 142 | */ |
| 142 | #define BLKREPORTZONE _IOWR(0x12, 130, struct blk_zone_report) | 143 | #define BLKREPORTZONE _IOWR(0x12, 130, struct blk_zone_report) |
| 143 | #define BLKRESETZONE _IOW(0x12, 131, struct blk_zone_range) | 144 | #define BLKRESETZONE _IOW(0x12, 131, struct blk_zone_range) |
| @@ -14,6 +14,7 @@ · 13 unmodified lines | |||
| 14 | /* Extended instruction set based on top of classic BPF */ | 14 | /* Extended instruction set based on top of classic BPF */ |
| 15 | 15 | ||
| 16 | /* instruction classes */ | 16 | /* instruction classes */ |
| 17 | #define BPF_JMP32 0x06 /* jmp mode in word width */ | ||
| 17 | #define BPF_ALU64 0x07 /* alu mode in double word width */ | 18 | #define BPF_ALU64 0x07 /* alu mode in double word width */ |
| 18 | 19 | ||
| 19 | /* ld/ldx fields */ | 20 | /* ld/ldx fields */ |
| @@ -2540,6 +2541,7 @@ struct __sk_buff { · 2520 unmodified lines | |||
| 2540 | __bpf_md_ptr(struct bpf_flow_keys *, flow_keys); | 2541 | __bpf_md_ptr(struct bpf_flow_keys *, flow_keys); |
| 2541 | __u64 tstamp; | 2542 | __u64 tstamp; |
| 2542 | __u32 wire_len; | 2543 | __u32 wire_len; |
| 2544 | __u32 gso_segs; | ||
| 2543 | }; | 2545 | }; |
| 2544 | 2546 | ||
| 2545 | struct bpf_tunnel_key { | 2547 | struct bpf_tunnel_key { |
| @@ -89,12 +89,10 @@ enum devlink_command { · 88 unmodified lines | |||
| 89 | DEVLINK_CMD_REGION_DEL, | 89 | DEVLINK_CMD_REGION_DEL, |
| 90 | DEVLINK_CMD_REGION_READ, | 90 | DEVLINK_CMD_REGION_READ, |
| 91 | 91 | ||
| 92 | DEVLINK_CMD_HEALTH_REPORTER_GET, | 92 | DEVLINK_CMD_PORT_PARAM_GET, /* can dump */ |
| 93 | DEVLINK_CMD_HEALTH_REPORTER_SET, | 93 | DEVLINK_CMD_PORT_PARAM_SET, |
| 94 | DEVLINK_CMD_HEALTH_REPORTER_RECOVER, | 94 | DEVLINK_CMD_PORT_PARAM_NEW, |
| 95 | DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE, | 95 | DEVLINK_CMD_PORT_PARAM_DEL, |
| 96 | DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET, | ||
| 97 | DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR, | ||
| 98 | 96 | ||
| 99 | /* add new commands above here */ | 97 | /* add new commands above here */ |
| 100 | __DEVLINK_CMD_MAX, | 98 | __DEVLINK_CMD_MAX, |
| @@ -292,24 +290,6 @@ enum devlink_attr { · 191 unmodified lines | |||
| 292 | DEVLINK_ATTR_REGION_CHUNK_ADDR, /* u64 */ | 290 | DEVLINK_ATTR_REGION_CHUNK_ADDR, /* u64 */ |
| 293 | DEVLINK_ATTR_REGION_CHUNK_LEN, /* u64 */ | 291 | DEVLINK_ATTR_REGION_CHUNK_LEN, /* u64 */ |
| 294 | 292 | ||
| 295 | DEVLINK_ATTR_HEALTH_BUFFER_OBJECT, /* nested */ | ||
| 296 | DEVLINK_ATTR_HEALTH_BUFFER_OBJECT_PAIR, /* nested */ | ||
| 297 | DEVLINK_ATTR_HEALTH_BUFFER_OBJECT_NAME, /* string */ | ||
| 298 | DEVLINK_ATTR_HEALTH_BUFFER_OBJECT_VALUE, /* nested */ | ||
| 299 | DEVLINK_ATTR_HEALTH_BUFFER_OBJECT_VALUE_ARRAY, /* nested */ | ||
| 300 | DEVLINK_ATTR_HEALTH_BUFFER_OBJECT_VALUE_TYPE, /* u8 */ | ||
| 301 | DEVLINK_ATTR_HEALTH_BUFFER_OBJECT_VALUE_DATA, /* dynamic */ | ||
| 302 | |||
| 303 | DEVLINK_ATTR_HEALTH_REPORTER, /* nested */ | ||
| 304 | DEVLINK_ATTR_HEALTH_REPORTER_NAME, /* string */ | ||
| 305 | DEVLINK_ATTR_HEALTH_REPORTER_STATE, /* u8 */ | ||
| 306 | DEVLINK_ATTR_HEALTH_REPORTER_ERR, /* u64 */ | ||
| 307 | DEVLINK_ATTR_HEALTH_REPORTER_RECOVER, /* u64 */ | ||
| 308 | DEVLINK_ATTR_HEALTH_REPORTER_DUMP_AVAIL, /* u8 */ | ||
| 309 | DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS, /* u64 */ | ||
| 310 | DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD, /* u64 */ | ||
| 311 | DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER, /* u8 */ | ||
| 312 | |||
| 313 | /* add new attributes above here, update the policy in devlink.c */ | 293 | /* add new attributes above here, update the policy in devlink.c */ |
| 314 | 294 | ||
| 315 | __DEVLINK_ATTR_MAX, | 295 | __DEVLINK_ATTR_MAX, |
| @@ -108,6 +108,8 @@ struct icmp6hdr { · 107 unmodified lines | |||
| 108 | #define ICMPV6_MOBILE_PREFIX_SOL 146 | 108 | #define ICMPV6_MOBILE_PREFIX_SOL 146 |
| 109 | #define ICMPV6_MOBILE_PREFIX_ADV 147 | 109 | #define ICMPV6_MOBILE_PREFIX_ADV 147 |
| 110 | 110 | ||
| 111 | #define ICMPV6_MRDISC_ADV 151 | ||
| 112 | |||
| 111 | /* | 113 | /* |
| 112 | * Codes for Destination Unreachable | 114 | * Codes for Destination Unreachable |
| 113 | */ | 115 | */ |
| @@ -117,6 +117,30 @@ struct ad_info { · 116 unmodified lines | |||
| 117 | __u8 partner_system[ETH_ALEN]; | 117 | __u8 partner_system[ETH_ALEN]; |
| 118 | }; | 118 | }; |
| 119 | 119 | ||
| 120 | /* Embedded inside LINK_XSTATS_TYPE_BOND */ | ||
| 121 | enum { | ||
| 122 | BOND_XSTATS_UNSPEC, | ||
| 123 | BOND_XSTATS_3AD, | ||
| 124 | __BOND_XSTATS_MAX | ||
| 125 | }; | ||
| 126 | #define BOND_XSTATS_MAX (__BOND_XSTATS_MAX - 1) | ||
| 127 | |||
| 128 | /* Embedded inside BOND_XSTATS_3AD */ | ||
| 129 | enum { | ||
| 130 | BOND_3AD_STAT_LACPDU_RX, | ||
| 131 | BOND_3AD_STAT_LACPDU_TX, | ||
| 132 | BOND_3AD_STAT_LACPDU_UNKNOWN_RX, | ||
| 133 | BOND_3AD_STAT_LACPDU_ILLEGAL_RX, | ||
| 134 | BOND_3AD_STAT_MARKER_RX, | ||
| 135 | BOND_3AD_STAT_MARKER_TX, | ||
| 136 | BOND_3AD_STAT_MARKER_RESP_RX, | ||
| 137 | BOND_3AD_STAT_MARKER_RESP_TX, | ||
| 138 | BOND_3AD_STAT_MARKER_UNKNOWN_RX, | ||
| 139 | BOND_3AD_STAT_PAD, | ||
| 140 | __BOND_3AD_STAT_MAX | ||
| 141 | }; | ||
| 142 | #define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1) | ||
| 143 | |||
| 120 | #endif /* _LINUX_IF_BONDING_H */ | 144 | #endif /* _LINUX_IF_BONDING_H */ |
| 121 | 145 | ||
| 122 | /* | 146 | /* |
| @@ -925,6 +925,7 @@ enum { · 924 unmodified lines | |||
| 925 | enum { | 925 | enum { |
| 926 | LINK_XSTATS_TYPE_UNSPEC, | 926 | LINK_XSTATS_TYPE_UNSPEC, |
| 927 | LINK_XSTATS_TYPE_BRIDGE, | 927 | LINK_XSTATS_TYPE_BRIDGE, |
| 928 | LINK_XSTATS_TYPE_BOND, | ||
| 928 | __LINK_XSTATS_TYPE_MAX | 929 | __LINK_XSTATS_TYPE_MAX |
| 929 | }; | 930 | }; |
| 930 | #define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1) | 931 | #define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1) |
| @@ -93,6 +93,7 @@ struct igmpv3_query { · 92 unmodified lines | |||
| 93 | #define IGMP_MTRACE_RESP 0x1e | 93 | #define IGMP_MTRACE_RESP 0x1e |
| 94 | #define IGMP_MTRACE 0x1f | 94 | #define IGMP_MTRACE 0x1f |
| 95 | 95 | ||
| 96 | #define IGMP_MRDISC_ADV 0x30 /* From RFC4286 */ | ||
| 96 | 97 | ||
| 97 | /* | 98 | /* |
| 98 | * Use the BSD names for these for compatibility | 99 | * Use the BSD names for these for compatibility |
| @@ -268,7 +268,7 @@ struct sockaddr_in { · 267 unmodified lines | |||
| 268 | #define IN_MULTICAST(a) IN_CLASSD(a) | 268 | #define IN_MULTICAST(a) IN_CLASSD(a) |
| 269 | #define IN_MULTICAST_NET 0xe0000000 | 269 | #define IN_MULTICAST_NET 0xe0000000 |
| 270 | 270 | ||
| 271 | #define IN_BADCLASS(a) ((((long int) (a) ) == 0xffffffff) | 271 | #define IN_BADCLASS(a) (((long int) (a) ) == (long int)0xffffffff) |
| 272 | #define IN_EXPERIMENTAL(a) IN_BADCLASS((a)) | 272 | #define IN_EXPERIMENTAL(a) IN_BADCLASS((a)) |
| 273 | 273 | ||
| 274 | #define IN_CLASSE(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000) | 274 | #define IN_CLASSE(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000) |
| @@ -292,10 +292,11 @@ struct sockaddr_in { · 17 unmodified lines | |||
| 292 | #define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000) | 292 | #define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000) |
| 293 | 293 | ||
| 294 | /* Defines for Multicast INADDR */ | 294 | /* Defines for Multicast INADDR */ |
| 295 | #define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */ | 295 | #define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */ |
| 296 | #define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */ | 296 | #define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */ |
| 297 | #define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */ | 297 | #define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */ |
| 298 | #define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */ | 298 | #define INADDR_ALLSNOOPERS_GROUP 0xe000006aU /* 224.0.0.106 */ |
| 299 | #define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */ | ||
| 299 | #endif | 300 | #endif |
| 300 | 301 | ||
| 301 | /* <asm/byteorder.h> contains the htonl type stuff.. */ | 302 | /* <asm/byteorder.h> contains the htonl type stuff.. */ |
| @@ -26,13 +26,17 @@ · 25 unmodified lines | |||
| 26 | */ | 26 | */ |
| 27 | 27 | ||
| 28 | struct input_event { | 28 | struct input_event { |
| 29 | #if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) && !defined(__KERNEL) | 29 | #if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) && !defined(__KERNEL__) |
| 30 | struct timeval time; | 30 | struct timeval time; |
| 31 | #define input_event_sec time.tv_sec | 31 | #define input_event_sec time.tv_sec |
| 32 | #define input_event_usec time.tv_usec | 32 | #define input_event_usec time.tv_usec |
| 33 | #else | 33 | #else |
| 34 | __kernel_ulong_t __sec; | 34 | __kernel_ulong_t __sec; |
| 35 | #if defined(__sparc__) && defined(__arch64__) | ||
| 36 | unsigned int __usec; | ||
| 37 | #else | ||
| 35 | __kernel_ulong_t __usec; | 38 | __kernel_ulong_t __usec; |
| 39 | #endif | ||
| 36 | #define input_event_sec __sec | 40 | #define input_event_sec __sec |
| 37 | #define input_event_usec __usec | 41 | #define input_event_usec __usec |
| 38 | #endif | 42 | #endif |
| @@ -219,6 +219,7 @@ enum nft_chain_attributes { · 218 unmodified lines | |||
| 219 | * @NFTA_RULE_POSITION: numeric handle of the previous rule (NLA_U64) | 219 | * @NFTA_RULE_POSITION: numeric handle of the previous rule (NLA_U64) |
| 220 | * @NFTA_RULE_USERDATA: user data (NLA_BINARY, NFT_USERDATA_MAXLEN) | 220 | * @NFTA_RULE_USERDATA: user data (NLA_BINARY, NFT_USERDATA_MAXLEN) |
| 221 | * @NFTA_RULE_ID: uniquely identifies a rule in a transaction (NLA_U32) | 221 | * @NFTA_RULE_ID: uniquely identifies a rule in a transaction (NLA_U32) |
| 222 | * @NFTA_RULE_POSITION_ID: transaction unique identifier of the previous rule (NLA_U32) | ||
| 222 | */ | 223 | */ |
| 223 | enum nft_rule_attributes { | 224 | enum nft_rule_attributes { |
| 224 | NFTA_RULE_UNSPEC, | 225 | NFTA_RULE_UNSPEC, |
| @@ -231,6 +232,7 @@ enum nft_rule_attributes { · 6 unmodified lines | |||
| 231 | NFTA_RULE_USERDATA, | 232 | NFTA_RULE_USERDATA, |
| 232 | NFTA_RULE_PAD, | 233 | NFTA_RULE_PAD, |
| 233 | NFTA_RULE_ID, | 234 | NFTA_RULE_ID, |
| 235 | NFTA_RULE_POSITION_ID, | ||
| 234 | __NFTA_RULE_MAX | 236 | __NFTA_RULE_MAX |
| 235 | }; | 237 | }; |
| 236 | #define NFTA_RULE_MAX (__NFTA_RULE_MAX - 1) | 238 | #define NFTA_RULE_MAX (__NFTA_RULE_MAX - 1) |
| @@ -789,6 +791,8 @@ enum nft_exthdr_attributes { · 552 unmodified lines | |||
| 789 | * @NFT_META_CGROUP: socket control group (skb->sk->sk_classid) | 791 | * @NFT_META_CGROUP: socket control group (skb->sk->sk_classid) |
| 790 | * @NFT_META_PRANDOM: a 32bit pseudo-random number | 792 | * @NFT_META_PRANDOM: a 32bit pseudo-random number |
| 791 | * @NFT_META_SECPATH: boolean, secpath_exists (!!skb->sp) | 793 | * @NFT_META_SECPATH: boolean, secpath_exists (!!skb->sp) |
| 794 | * @NFT_META_IIFKIND: packet input interface kind name (dev->rtnl_link_ops->kind) | ||
| 795 | * @NFT_META_OIFKIND: packet output interface kind name (dev->rtnl_link_ops->kind) | ||
| 792 | */ | 796 | */ |
| 793 | enum nft_meta_keys { | 797 | enum nft_meta_keys { |
| 794 | NFT_META_LEN, | 798 | NFT_META_LEN, |
| @@ -817,6 +821,8 @@ enum nft_meta_keys { · 22 unmodified lines | |||
| 817 | NFT_META_CGROUP, | 821 | NFT_META_CGROUP, |
| 818 | NFT_META_PRANDOM, | 822 | NFT_META_PRANDOM, |
| 819 | NFT_META_SECPATH, | 823 | NFT_META_SECPATH, |
| 824 | NFT_META_IIFKIND, | ||
| 825 | NFT_META_OIFKIND, | ||
| 820 | }; | 826 | }; |
| 821 | 827 | ||
| 822 | /** | 828 | /** |
| @@ -871,8 +877,8 @@ enum nft_hash_attributes { · 48 unmodified lines | |||
| 871 | NFTA_HASH_SEED, | 877 | NFTA_HASH_SEED, |
| 872 | NFTA_HASH_OFFSET, | 878 | NFTA_HASH_OFFSET, |
| 873 | NFTA_HASH_TYPE, | 879 | NFTA_HASH_TYPE, |
| 874 | NFTA_HASH_SET_NAME, | 880 | NFTA_HASH_SET_NAME, /* deprecated */ |
| 875 | NFTA_HASH_SET_ID, | 881 | NFTA_HASH_SET_ID, /* deprecated */ |
| 876 | __NFTA_HASH_MAX, | 882 | __NFTA_HASH_MAX, |
| 877 | }; | 883 | }; |
| 878 | #define NFTA_HASH_MAX (__NFTA_HASH_MAX - 1) | 884 | #define NFTA_HASH_MAX (__NFTA_HASH_MAX - 1) |
| @@ -333,12 +333,19 @@ enum { · 332 unmodified lines | |||
| 333 | 333 | ||
| 334 | /* Basic filter */ | 334 | /* Basic filter */ |
| 335 | 335 | ||
| 336 | struct tc_basic_pcnt { | ||
| 337 | __u64 rcnt; | ||
| 338 | __u64 rhit; | ||
| 339 | }; | ||
| 340 | |||
| 336 | enum { | 341 | enum { |
| 337 | TCA_BASIC_UNSPEC, | 342 | TCA_BASIC_UNSPEC, |
| 338 | TCA_BASIC_CLASSID, | 343 | TCA_BASIC_CLASSID, |
| 339 | TCA_BASIC_EMATCHES, | 344 | TCA_BASIC_EMATCHES, |
| 340 | TCA_BASIC_ACT, | 345 | TCA_BASIC_ACT, |
| 341 | TCA_BASIC_POLICE, | 346 | TCA_BASIC_POLICE, |
| 347 | TCA_BASIC_PCNT, | ||
| 348 | TCA_BASIC_PAD, | ||
| 342 | __TCA_BASIC_MAX | 349 | __TCA_BASIC_MAX |
| 343 | }; | 350 | }; |
| 344 | 351 | ||
| @@ -59,6 +59,10 @@ · 58 unmodified lines | |||
| 59 | 59 | ||
| 60 | typedef __s32 sctp_assoc_t; | 60 | typedef __s32 sctp_assoc_t; |
| 61 | 61 | ||
| 62 | #define SCTP_FUTURE_ASSOC 0 | ||
| 63 | #define SCTP_CURRENT_ASSOC 1 | ||
| 64 | #define SCTP_ALL_ASSOC 2 | ||
| 65 | |||
| 62 | /* The following symbols come from the Sockets API Extensions for | 66 | /* The following symbols come from the Sockets API Extensions for |
| 63 | * SCTP <draft-ietf-tsvwg-sctpsocket-07.txt>. | 67 | * SCTP <draft-ietf-tsvwg-sctpsocket-07.txt>. |
| 64 | */ | 68 | */ |
| @@ -0,0 +1,72 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
| 2 | /* | ||
| 3 | * xdp_diag: interface for query/monitor XDP sockets | ||
| 4 | * Copyright(c) 2019 Intel Corporation. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #ifndef _LINUX_XDP_DIAG_H | ||
| 8 | #define _LINUX_XDP_DIAG_H | ||
| 9 | |||
| 10 | #include <linux/types.h> | ||
| 11 | |||
| 12 | struct xdp_diag_req { | ||
| 13 | __u8 sdiag_family; | ||
| 14 | __u8 sdiag_protocol; | ||
| 15 | __u16 pad; | ||
| 16 | __u32 xdiag_ino; | ||
| 17 | __u32 xdiag_show; | ||
| 18 | __u32 xdiag_cookie[2]; | ||
| 19 | }; | ||
| 20 | |||
| 21 | struct xdp_diag_msg { | ||
| 22 | __u8 xdiag_family; | ||
| 23 | __u8 xdiag_type; | ||
| 24 | __u16 pad; | ||
| 25 | __u32 xdiag_ino; | ||
| 26 | __u32 xdiag_cookie[2]; | ||
| 27 | }; | ||
| 28 | |||
| 29 | #define XDP_SHOW_INFO (1 << 0) /* Basic information */ | ||
| 30 | #define XDP_SHOW_RING_CFG (1 << 1) | ||
| 31 | #define XDP_SHOW_UMEM (1 << 2) | ||
| 32 | #define XDP_SHOW_MEMINFO (1 << 3) | ||
| 33 | |||
| 34 | enum { | ||
| 35 | XDP_DIAG_NONE, | ||
| 36 | XDP_DIAG_INFO, | ||
| 37 | XDP_DIAG_UID, | ||
| 38 | XDP_DIAG_RX_RING, | ||
| 39 | XDP_DIAG_TX_RING, | ||
| 40 | XDP_DIAG_UMEM, | ||
| 41 | XDP_DIAG_UMEM_FILL_RING, | ||
| 42 | XDP_DIAG_UMEM_COMPLETION_RING, | ||
| 43 | XDP_DIAG_MEMINFO, | ||
| 44 | __XDP_DIAG_MAX, | ||
| 45 | }; | ||
| 46 | |||
| 47 | #define XDP_DIAG_MAX (__XDP_DIAG_MAX - 1) | ||
| 48 | |||
| 49 | struct xdp_diag_info { | ||
| 50 | __u32 ifindex; | ||
| 51 | __u32 queue_id; | ||
| 52 | }; | ||
| 53 | |||
| 54 | struct xdp_diag_ring { | ||
| 55 | __u32 entries; /*num descs */ | ||
| 56 | }; | ||
| 57 | |||
| 58 | #define XDP_DU_F_ZEROCOPY (1 << 0) | ||
| 59 | |||
| 60 | struct xdp_diag_umem { | ||
| 61 | __u64 size; | ||
| 62 | __u32 id; | ||
| 63 | __u32 num_pages; | ||
| 64 | __u32 chunk_size; | ||
| 65 | __u32 headroom; | ||
| 66 | __u32 ifindex; | ||
| 67 | __u32 queue_id; | ||
| 68 | __u32 flags; | ||
| 69 | __u32 refs; | ||
| 70 | }; | ||
| 71 | |||
| 72 | #endif /* _LINUX_XDP_DIAG_H */ | ||