1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _UAPI_LINUX_IF_LINK_H 20 #define _UAPI_LINUX_IF_LINK_H 21 #include <linux/types.h> 22 #include <linux/netlink.h> 23 struct rtnl_link_stats { 24 __u32 rx_packets; 25 __u32 tx_packets; 26 __u32 rx_bytes; 27 __u32 tx_bytes; 28 __u32 rx_errors; 29 __u32 tx_errors; 30 __u32 rx_dropped; 31 __u32 tx_dropped; 32 __u32 multicast; 33 __u32 collisions; 34 __u32 rx_length_errors; 35 __u32 rx_over_errors; 36 __u32 rx_crc_errors; 37 __u32 rx_frame_errors; 38 __u32 rx_fifo_errors; 39 __u32 rx_missed_errors; 40 __u32 tx_aborted_errors; 41 __u32 tx_carrier_errors; 42 __u32 tx_fifo_errors; 43 __u32 tx_heartbeat_errors; 44 __u32 tx_window_errors; 45 __u32 rx_compressed; 46 __u32 tx_compressed; 47 __u32 rx_nohandler; 48 }; 49 struct rtnl_link_stats64 { 50 __u64 rx_packets; 51 __u64 tx_packets; 52 __u64 rx_bytes; 53 __u64 tx_bytes; 54 __u64 rx_errors; 55 __u64 tx_errors; 56 __u64 rx_dropped; 57 __u64 tx_dropped; 58 __u64 multicast; 59 __u64 collisions; 60 __u64 rx_length_errors; 61 __u64 rx_over_errors; 62 __u64 rx_crc_errors; 63 __u64 rx_frame_errors; 64 __u64 rx_fifo_errors; 65 __u64 rx_missed_errors; 66 __u64 tx_aborted_errors; 67 __u64 tx_carrier_errors; 68 __u64 tx_fifo_errors; 69 __u64 tx_heartbeat_errors; 70 __u64 tx_window_errors; 71 __u64 rx_compressed; 72 __u64 tx_compressed; 73 __u64 rx_nohandler; 74 __u64 rx_otherhost_dropped; 75 }; 76 struct rtnl_hw_stats64 { 77 __u64 rx_packets; 78 __u64 tx_packets; 79 __u64 rx_bytes; 80 __u64 tx_bytes; 81 __u64 rx_errors; 82 __u64 tx_errors; 83 __u64 rx_dropped; 84 __u64 tx_dropped; 85 __u64 multicast; 86 }; 87 struct rtnl_link_ifmap { 88 __u64 mem_start; 89 __u64 mem_end; 90 __u64 base_addr; 91 __u16 irq; 92 __u8 dma; 93 __u8 port; 94 }; 95 enum { 96 IFLA_UNSPEC, 97 IFLA_ADDRESS, 98 IFLA_BROADCAST, 99 IFLA_IFNAME, 100 IFLA_MTU, 101 IFLA_LINK, 102 IFLA_QDISC, 103 IFLA_STATS, 104 IFLA_COST, 105 #define IFLA_COST IFLA_COST 106 IFLA_PRIORITY, 107 #define IFLA_PRIORITY IFLA_PRIORITY 108 IFLA_MASTER, 109 #define IFLA_MASTER IFLA_MASTER 110 IFLA_WIRELESS, 111 #define IFLA_WIRELESS IFLA_WIRELESS 112 IFLA_PROTINFO, 113 #define IFLA_PROTINFO IFLA_PROTINFO 114 IFLA_TXQLEN, 115 #define IFLA_TXQLEN IFLA_TXQLEN 116 IFLA_MAP, 117 #define IFLA_MAP IFLA_MAP 118 IFLA_WEIGHT, 119 #define IFLA_WEIGHT IFLA_WEIGHT 120 IFLA_OPERSTATE, 121 IFLA_LINKMODE, 122 IFLA_LINKINFO, 123 #define IFLA_LINKINFO IFLA_LINKINFO 124 IFLA_NET_NS_PID, 125 IFLA_IFALIAS, 126 IFLA_NUM_VF, 127 IFLA_VFINFO_LIST, 128 IFLA_STATS64, 129 IFLA_VF_PORTS, 130 IFLA_PORT_SELF, 131 IFLA_AF_SPEC, 132 IFLA_GROUP, 133 IFLA_NET_NS_FD, 134 IFLA_EXT_MASK, 135 IFLA_PROMISCUITY, 136 #define IFLA_PROMISCUITY IFLA_PROMISCUITY 137 IFLA_NUM_TX_QUEUES, 138 IFLA_NUM_RX_QUEUES, 139 IFLA_CARRIER, 140 IFLA_PHYS_PORT_ID, 141 IFLA_CARRIER_CHANGES, 142 IFLA_PHYS_SWITCH_ID, 143 IFLA_LINK_NETNSID, 144 IFLA_PHYS_PORT_NAME, 145 IFLA_PROTO_DOWN, 146 IFLA_GSO_MAX_SEGS, 147 IFLA_GSO_MAX_SIZE, 148 IFLA_PAD, 149 IFLA_XDP, 150 IFLA_EVENT, 151 IFLA_NEW_NETNSID, 152 IFLA_IF_NETNSID, 153 IFLA_TARGET_NETNSID = IFLA_IF_NETNSID, 154 IFLA_CARRIER_UP_COUNT, 155 IFLA_CARRIER_DOWN_COUNT, 156 IFLA_NEW_IFINDEX, 157 IFLA_MIN_MTU, 158 IFLA_MAX_MTU, 159 IFLA_PROP_LIST, 160 IFLA_ALT_IFNAME, 161 IFLA_PERM_ADDRESS, 162 IFLA_PROTO_DOWN_REASON, 163 IFLA_PARENT_DEV_NAME, 164 IFLA_PARENT_DEV_BUS_NAME, 165 IFLA_GRO_MAX_SIZE, 166 IFLA_TSO_MAX_SIZE, 167 IFLA_TSO_MAX_SEGS, 168 IFLA_ALLMULTI, 169 IFLA_DEVLINK_PORT, 170 __IFLA_MAX 171 }; 172 #define IFLA_MAX (__IFLA_MAX - 1) 173 enum { 174 IFLA_PROTO_DOWN_REASON_UNSPEC, 175 IFLA_PROTO_DOWN_REASON_MASK, 176 IFLA_PROTO_DOWN_REASON_VALUE, 177 __IFLA_PROTO_DOWN_REASON_CNT, 178 IFLA_PROTO_DOWN_REASON_MAX = __IFLA_PROTO_DOWN_REASON_CNT - 1 179 }; 180 #define IFLA_RTA(r) ((struct rtattr *) (((char *) (r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg)))) 181 #define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg)) 182 enum { 183 IFLA_INET_UNSPEC, 184 IFLA_INET_CONF, 185 __IFLA_INET_MAX, 186 }; 187 #define IFLA_INET_MAX (__IFLA_INET_MAX - 1) 188 enum { 189 IFLA_INET6_UNSPEC, 190 IFLA_INET6_FLAGS, 191 IFLA_INET6_CONF, 192 IFLA_INET6_STATS, 193 IFLA_INET6_MCAST, 194 IFLA_INET6_CACHEINFO, 195 IFLA_INET6_ICMP6STATS, 196 IFLA_INET6_TOKEN, 197 IFLA_INET6_ADDR_GEN_MODE, 198 IFLA_INET6_RA_MTU, 199 __IFLA_INET6_MAX 200 }; 201 #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) 202 enum in6_addr_gen_mode { 203 IN6_ADDR_GEN_MODE_EUI64, 204 IN6_ADDR_GEN_MODE_NONE, 205 IN6_ADDR_GEN_MODE_STABLE_PRIVACY, 206 IN6_ADDR_GEN_MODE_RANDOM, 207 }; 208 enum { 209 IFLA_BR_UNSPEC, 210 IFLA_BR_FORWARD_DELAY, 211 IFLA_BR_HELLO_TIME, 212 IFLA_BR_MAX_AGE, 213 IFLA_BR_AGEING_TIME, 214 IFLA_BR_STP_STATE, 215 IFLA_BR_PRIORITY, 216 IFLA_BR_VLAN_FILTERING, 217 IFLA_BR_VLAN_PROTOCOL, 218 IFLA_BR_GROUP_FWD_MASK, 219 IFLA_BR_ROOT_ID, 220 IFLA_BR_BRIDGE_ID, 221 IFLA_BR_ROOT_PORT, 222 IFLA_BR_ROOT_PATH_COST, 223 IFLA_BR_TOPOLOGY_CHANGE, 224 IFLA_BR_TOPOLOGY_CHANGE_DETECTED, 225 IFLA_BR_HELLO_TIMER, 226 IFLA_BR_TCN_TIMER, 227 IFLA_BR_TOPOLOGY_CHANGE_TIMER, 228 IFLA_BR_GC_TIMER, 229 IFLA_BR_GROUP_ADDR, 230 IFLA_BR_FDB_FLUSH, 231 IFLA_BR_MCAST_ROUTER, 232 IFLA_BR_MCAST_SNOOPING, 233 IFLA_BR_MCAST_QUERY_USE_IFADDR, 234 IFLA_BR_MCAST_QUERIER, 235 IFLA_BR_MCAST_HASH_ELASTICITY, 236 IFLA_BR_MCAST_HASH_MAX, 237 IFLA_BR_MCAST_LAST_MEMBER_CNT, 238 IFLA_BR_MCAST_STARTUP_QUERY_CNT, 239 IFLA_BR_MCAST_LAST_MEMBER_INTVL, 240 IFLA_BR_MCAST_MEMBERSHIP_INTVL, 241 IFLA_BR_MCAST_QUERIER_INTVL, 242 IFLA_BR_MCAST_QUERY_INTVL, 243 IFLA_BR_MCAST_QUERY_RESPONSE_INTVL, 244 IFLA_BR_MCAST_STARTUP_QUERY_INTVL, 245 IFLA_BR_NF_CALL_IPTABLES, 246 IFLA_BR_NF_CALL_IP6TABLES, 247 IFLA_BR_NF_CALL_ARPTABLES, 248 IFLA_BR_VLAN_DEFAULT_PVID, 249 IFLA_BR_PAD, 250 IFLA_BR_VLAN_STATS_ENABLED, 251 IFLA_BR_MCAST_STATS_ENABLED, 252 IFLA_BR_MCAST_IGMP_VERSION, 253 IFLA_BR_MCAST_MLD_VERSION, 254 IFLA_BR_VLAN_STATS_PER_PORT, 255 IFLA_BR_MULTI_BOOLOPT, 256 IFLA_BR_MCAST_QUERIER_STATE, 257 __IFLA_BR_MAX, 258 }; 259 #define IFLA_BR_MAX (__IFLA_BR_MAX - 1) 260 struct ifla_bridge_id { 261 __u8 prio[2]; 262 __u8 addr[6]; 263 }; 264 enum { 265 BRIDGE_MODE_UNSPEC, 266 BRIDGE_MODE_HAIRPIN, 267 }; 268 enum { 269 IFLA_BRPORT_UNSPEC, 270 IFLA_BRPORT_STATE, 271 IFLA_BRPORT_PRIORITY, 272 IFLA_BRPORT_COST, 273 IFLA_BRPORT_MODE, 274 IFLA_BRPORT_GUARD, 275 IFLA_BRPORT_PROTECT, 276 IFLA_BRPORT_FAST_LEAVE, 277 IFLA_BRPORT_LEARNING, 278 IFLA_BRPORT_UNICAST_FLOOD, 279 IFLA_BRPORT_PROXYARP, 280 IFLA_BRPORT_LEARNING_SYNC, 281 IFLA_BRPORT_PROXYARP_WIFI, 282 IFLA_BRPORT_ROOT_ID, 283 IFLA_BRPORT_BRIDGE_ID, 284 IFLA_BRPORT_DESIGNATED_PORT, 285 IFLA_BRPORT_DESIGNATED_COST, 286 IFLA_BRPORT_ID, 287 IFLA_BRPORT_NO, 288 IFLA_BRPORT_TOPOLOGY_CHANGE_ACK, 289 IFLA_BRPORT_CONFIG_PENDING, 290 IFLA_BRPORT_MESSAGE_AGE_TIMER, 291 IFLA_BRPORT_FORWARD_DELAY_TIMER, 292 IFLA_BRPORT_HOLD_TIMER, 293 IFLA_BRPORT_FLUSH, 294 IFLA_BRPORT_MULTICAST_ROUTER, 295 IFLA_BRPORT_PAD, 296 IFLA_BRPORT_MCAST_FLOOD, 297 IFLA_BRPORT_MCAST_TO_UCAST, 298 IFLA_BRPORT_VLAN_TUNNEL, 299 IFLA_BRPORT_BCAST_FLOOD, 300 IFLA_BRPORT_GROUP_FWD_MASK, 301 IFLA_BRPORT_NEIGH_SUPPRESS, 302 IFLA_BRPORT_ISOLATED, 303 IFLA_BRPORT_BACKUP_PORT, 304 IFLA_BRPORT_MRP_RING_OPEN, 305 IFLA_BRPORT_MRP_IN_OPEN, 306 IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT, 307 IFLA_BRPORT_MCAST_EHT_HOSTS_CNT, 308 IFLA_BRPORT_LOCKED, 309 IFLA_BRPORT_MAB, 310 __IFLA_BRPORT_MAX 311 }; 312 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) 313 struct ifla_cacheinfo { 314 __u32 max_reasm_len; 315 __u32 tstamp; 316 __u32 reachable_time; 317 __u32 retrans_time; 318 }; 319 enum { 320 IFLA_INFO_UNSPEC, 321 IFLA_INFO_KIND, 322 IFLA_INFO_DATA, 323 IFLA_INFO_XSTATS, 324 IFLA_INFO_SLAVE_KIND, 325 IFLA_INFO_SLAVE_DATA, 326 __IFLA_INFO_MAX, 327 }; 328 #define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1) 329 enum { 330 IFLA_VLAN_UNSPEC, 331 IFLA_VLAN_ID, 332 IFLA_VLAN_FLAGS, 333 IFLA_VLAN_EGRESS_QOS, 334 IFLA_VLAN_INGRESS_QOS, 335 IFLA_VLAN_PROTOCOL, 336 __IFLA_VLAN_MAX, 337 }; 338 #define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1) 339 struct ifla_vlan_flags { 340 __u32 flags; 341 __u32 mask; 342 }; 343 enum { 344 IFLA_VLAN_QOS_UNSPEC, 345 IFLA_VLAN_QOS_MAPPING, 346 __IFLA_VLAN_QOS_MAX 347 }; 348 #define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1) 349 struct ifla_vlan_qos_mapping { 350 __u32 from; 351 __u32 to; 352 }; 353 enum { 354 IFLA_MACVLAN_UNSPEC, 355 IFLA_MACVLAN_MODE, 356 IFLA_MACVLAN_FLAGS, 357 IFLA_MACVLAN_MACADDR_MODE, 358 IFLA_MACVLAN_MACADDR, 359 IFLA_MACVLAN_MACADDR_DATA, 360 IFLA_MACVLAN_MACADDR_COUNT, 361 IFLA_MACVLAN_BC_QUEUE_LEN, 362 IFLA_MACVLAN_BC_QUEUE_LEN_USED, 363 __IFLA_MACVLAN_MAX, 364 }; 365 #define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1) 366 enum macvlan_mode { 367 MACVLAN_MODE_PRIVATE = 1, 368 MACVLAN_MODE_VEPA = 2, 369 MACVLAN_MODE_BRIDGE = 4, 370 MACVLAN_MODE_PASSTHRU = 8, 371 MACVLAN_MODE_SOURCE = 16, 372 }; 373 enum macvlan_macaddr_mode { 374 MACVLAN_MACADDR_ADD, 375 MACVLAN_MACADDR_DEL, 376 MACVLAN_MACADDR_FLUSH, 377 MACVLAN_MACADDR_SET, 378 }; 379 #define MACVLAN_FLAG_NOPROMISC 1 380 #define MACVLAN_FLAG_NODST 2 381 enum { 382 IFLA_VRF_UNSPEC, 383 IFLA_VRF_TABLE, 384 __IFLA_VRF_MAX 385 }; 386 #define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1) 387 enum { 388 IFLA_VRF_PORT_UNSPEC, 389 IFLA_VRF_PORT_TABLE, 390 __IFLA_VRF_PORT_MAX 391 }; 392 #define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1) 393 enum { 394 IFLA_MACSEC_UNSPEC, 395 IFLA_MACSEC_SCI, 396 IFLA_MACSEC_PORT, 397 IFLA_MACSEC_ICV_LEN, 398 IFLA_MACSEC_CIPHER_SUITE, 399 IFLA_MACSEC_WINDOW, 400 IFLA_MACSEC_ENCODING_SA, 401 IFLA_MACSEC_ENCRYPT, 402 IFLA_MACSEC_PROTECT, 403 IFLA_MACSEC_INC_SCI, 404 IFLA_MACSEC_ES, 405 IFLA_MACSEC_SCB, 406 IFLA_MACSEC_REPLAY_PROTECT, 407 IFLA_MACSEC_VALIDATION, 408 IFLA_MACSEC_PAD, 409 IFLA_MACSEC_OFFLOAD, 410 __IFLA_MACSEC_MAX, 411 }; 412 #define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1) 413 enum { 414 IFLA_XFRM_UNSPEC, 415 IFLA_XFRM_LINK, 416 IFLA_XFRM_IF_ID, 417 IFLA_XFRM_COLLECT_METADATA, 418 __IFLA_XFRM_MAX 419 }; 420 #define IFLA_XFRM_MAX (__IFLA_XFRM_MAX - 1) 421 enum macsec_validation_type { 422 MACSEC_VALIDATE_DISABLED = 0, 423 MACSEC_VALIDATE_CHECK = 1, 424 MACSEC_VALIDATE_STRICT = 2, 425 __MACSEC_VALIDATE_END, 426 MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1, 427 }; 428 enum macsec_offload { 429 MACSEC_OFFLOAD_OFF = 0, 430 MACSEC_OFFLOAD_PHY = 1, 431 MACSEC_OFFLOAD_MAC = 2, 432 __MACSEC_OFFLOAD_END, 433 MACSEC_OFFLOAD_MAX = __MACSEC_OFFLOAD_END - 1, 434 }; 435 enum { 436 IFLA_IPVLAN_UNSPEC, 437 IFLA_IPVLAN_MODE, 438 IFLA_IPVLAN_FLAGS, 439 __IFLA_IPVLAN_MAX 440 }; 441 #define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1) 442 enum ipvlan_mode { 443 IPVLAN_MODE_L2 = 0, 444 IPVLAN_MODE_L3, 445 IPVLAN_MODE_L3S, 446 IPVLAN_MODE_MAX 447 }; 448 #define IPVLAN_F_PRIVATE 0x01 449 #define IPVLAN_F_VEPA 0x02 450 struct tunnel_msg { 451 __u8 family; 452 __u8 flags; 453 __u16 reserved2; 454 __u32 ifindex; 455 }; 456 #define TUNNEL_MSG_FLAG_STATS 0x01 457 #define TUNNEL_MSG_VALID_USER_FLAGS TUNNEL_MSG_FLAG_STATS 458 enum { 459 VNIFILTER_ENTRY_STATS_UNSPEC, 460 VNIFILTER_ENTRY_STATS_RX_BYTES, 461 VNIFILTER_ENTRY_STATS_RX_PKTS, 462 VNIFILTER_ENTRY_STATS_RX_DROPS, 463 VNIFILTER_ENTRY_STATS_RX_ERRORS, 464 VNIFILTER_ENTRY_STATS_TX_BYTES, 465 VNIFILTER_ENTRY_STATS_TX_PKTS, 466 VNIFILTER_ENTRY_STATS_TX_DROPS, 467 VNIFILTER_ENTRY_STATS_TX_ERRORS, 468 VNIFILTER_ENTRY_STATS_PAD, 469 __VNIFILTER_ENTRY_STATS_MAX 470 }; 471 #define VNIFILTER_ENTRY_STATS_MAX (__VNIFILTER_ENTRY_STATS_MAX - 1) 472 enum { 473 VXLAN_VNIFILTER_ENTRY_UNSPEC, 474 VXLAN_VNIFILTER_ENTRY_START, 475 VXLAN_VNIFILTER_ENTRY_END, 476 VXLAN_VNIFILTER_ENTRY_GROUP, 477 VXLAN_VNIFILTER_ENTRY_GROUP6, 478 VXLAN_VNIFILTER_ENTRY_STATS, 479 __VXLAN_VNIFILTER_ENTRY_MAX 480 }; 481 #define VXLAN_VNIFILTER_ENTRY_MAX (__VXLAN_VNIFILTER_ENTRY_MAX - 1) 482 enum { 483 VXLAN_VNIFILTER_UNSPEC, 484 VXLAN_VNIFILTER_ENTRY, 485 __VXLAN_VNIFILTER_MAX 486 }; 487 #define VXLAN_VNIFILTER_MAX (__VXLAN_VNIFILTER_MAX - 1) 488 enum { 489 IFLA_VXLAN_UNSPEC, 490 IFLA_VXLAN_ID, 491 IFLA_VXLAN_GROUP, 492 IFLA_VXLAN_LINK, 493 IFLA_VXLAN_LOCAL, 494 IFLA_VXLAN_TTL, 495 IFLA_VXLAN_TOS, 496 IFLA_VXLAN_LEARNING, 497 IFLA_VXLAN_AGEING, 498 IFLA_VXLAN_LIMIT, 499 IFLA_VXLAN_PORT_RANGE, 500 IFLA_VXLAN_PROXY, 501 IFLA_VXLAN_RSC, 502 IFLA_VXLAN_L2MISS, 503 IFLA_VXLAN_L3MISS, 504 IFLA_VXLAN_PORT, 505 IFLA_VXLAN_GROUP6, 506 IFLA_VXLAN_LOCAL6, 507 IFLA_VXLAN_UDP_CSUM, 508 IFLA_VXLAN_UDP_ZERO_CSUM6_TX, 509 IFLA_VXLAN_UDP_ZERO_CSUM6_RX, 510 IFLA_VXLAN_REMCSUM_TX, 511 IFLA_VXLAN_REMCSUM_RX, 512 IFLA_VXLAN_GBP, 513 IFLA_VXLAN_REMCSUM_NOPARTIAL, 514 IFLA_VXLAN_COLLECT_METADATA, 515 IFLA_VXLAN_LABEL, 516 IFLA_VXLAN_GPE, 517 IFLA_VXLAN_TTL_INHERIT, 518 IFLA_VXLAN_DF, 519 IFLA_VXLAN_VNIFILTER, 520 __IFLA_VXLAN_MAX 521 }; 522 #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) 523 struct ifla_vxlan_port_range { 524 __be16 low; 525 __be16 high; 526 }; 527 enum ifla_vxlan_df { 528 VXLAN_DF_UNSET = 0, 529 VXLAN_DF_SET, 530 VXLAN_DF_INHERIT, 531 __VXLAN_DF_END, 532 VXLAN_DF_MAX = __VXLAN_DF_END - 1, 533 }; 534 enum { 535 IFLA_GENEVE_UNSPEC, 536 IFLA_GENEVE_ID, 537 IFLA_GENEVE_REMOTE, 538 IFLA_GENEVE_TTL, 539 IFLA_GENEVE_TOS, 540 IFLA_GENEVE_PORT, 541 IFLA_GENEVE_COLLECT_METADATA, 542 IFLA_GENEVE_REMOTE6, 543 IFLA_GENEVE_UDP_CSUM, 544 IFLA_GENEVE_UDP_ZERO_CSUM6_TX, 545 IFLA_GENEVE_UDP_ZERO_CSUM6_RX, 546 IFLA_GENEVE_LABEL, 547 IFLA_GENEVE_TTL_INHERIT, 548 IFLA_GENEVE_DF, 549 IFLA_GENEVE_INNER_PROTO_INHERIT, 550 __IFLA_GENEVE_MAX 551 }; 552 #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) 553 enum ifla_geneve_df { 554 GENEVE_DF_UNSET = 0, 555 GENEVE_DF_SET, 556 GENEVE_DF_INHERIT, 557 __GENEVE_DF_END, 558 GENEVE_DF_MAX = __GENEVE_DF_END - 1, 559 }; 560 enum { 561 IFLA_BAREUDP_UNSPEC, 562 IFLA_BAREUDP_PORT, 563 IFLA_BAREUDP_ETHERTYPE, 564 IFLA_BAREUDP_SRCPORT_MIN, 565 IFLA_BAREUDP_MULTIPROTO_MODE, 566 __IFLA_BAREUDP_MAX 567 }; 568 #define IFLA_BAREUDP_MAX (__IFLA_BAREUDP_MAX - 1) 569 enum { 570 IFLA_PPP_UNSPEC, 571 IFLA_PPP_DEV_FD, 572 __IFLA_PPP_MAX 573 }; 574 #define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1) 575 enum ifla_gtp_role { 576 GTP_ROLE_GGSN = 0, 577 GTP_ROLE_SGSN, 578 }; 579 enum { 580 IFLA_GTP_UNSPEC, 581 IFLA_GTP_FD0, 582 IFLA_GTP_FD1, 583 IFLA_GTP_PDP_HASHSIZE, 584 IFLA_GTP_ROLE, 585 IFLA_GTP_CREATE_SOCKETS, 586 IFLA_GTP_RESTART_COUNT, 587 __IFLA_GTP_MAX, 588 }; 589 #define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1) 590 enum { 591 IFLA_BOND_UNSPEC, 592 IFLA_BOND_MODE, 593 IFLA_BOND_ACTIVE_SLAVE, 594 IFLA_BOND_MIIMON, 595 IFLA_BOND_UPDELAY, 596 IFLA_BOND_DOWNDELAY, 597 IFLA_BOND_USE_CARRIER, 598 IFLA_BOND_ARP_INTERVAL, 599 IFLA_BOND_ARP_IP_TARGET, 600 IFLA_BOND_ARP_VALIDATE, 601 IFLA_BOND_ARP_ALL_TARGETS, 602 IFLA_BOND_PRIMARY, 603 IFLA_BOND_PRIMARY_RESELECT, 604 IFLA_BOND_FAIL_OVER_MAC, 605 IFLA_BOND_XMIT_HASH_POLICY, 606 IFLA_BOND_RESEND_IGMP, 607 IFLA_BOND_NUM_PEER_NOTIF, 608 IFLA_BOND_ALL_SLAVES_ACTIVE, 609 IFLA_BOND_MIN_LINKS, 610 IFLA_BOND_LP_INTERVAL, 611 IFLA_BOND_PACKETS_PER_SLAVE, 612 IFLA_BOND_AD_LACP_RATE, 613 IFLA_BOND_AD_SELECT, 614 IFLA_BOND_AD_INFO, 615 IFLA_BOND_AD_ACTOR_SYS_PRIO, 616 IFLA_BOND_AD_USER_PORT_KEY, 617 IFLA_BOND_AD_ACTOR_SYSTEM, 618 IFLA_BOND_TLB_DYNAMIC_LB, 619 IFLA_BOND_PEER_NOTIF_DELAY, 620 IFLA_BOND_AD_LACP_ACTIVE, 621 IFLA_BOND_MISSED_MAX, 622 IFLA_BOND_NS_IP6_TARGET, 623 __IFLA_BOND_MAX, 624 }; 625 #define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1) 626 enum { 627 IFLA_BOND_AD_INFO_UNSPEC, 628 IFLA_BOND_AD_INFO_AGGREGATOR, 629 IFLA_BOND_AD_INFO_NUM_PORTS, 630 IFLA_BOND_AD_INFO_ACTOR_KEY, 631 IFLA_BOND_AD_INFO_PARTNER_KEY, 632 IFLA_BOND_AD_INFO_PARTNER_MAC, 633 __IFLA_BOND_AD_INFO_MAX, 634 }; 635 #define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1) 636 enum { 637 IFLA_BOND_SLAVE_UNSPEC, 638 IFLA_BOND_SLAVE_STATE, 639 IFLA_BOND_SLAVE_MII_STATUS, 640 IFLA_BOND_SLAVE_LINK_FAILURE_COUNT, 641 IFLA_BOND_SLAVE_PERM_HWADDR, 642 IFLA_BOND_SLAVE_QUEUE_ID, 643 IFLA_BOND_SLAVE_AD_AGGREGATOR_ID, 644 IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE, 645 IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE, 646 IFLA_BOND_SLAVE_PRIO, 647 __IFLA_BOND_SLAVE_MAX, 648 }; 649 #define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1) 650 enum { 651 IFLA_VF_INFO_UNSPEC, 652 IFLA_VF_INFO, 653 __IFLA_VF_INFO_MAX, 654 }; 655 #define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1) 656 enum { 657 IFLA_VF_UNSPEC, 658 IFLA_VF_MAC, 659 IFLA_VF_VLAN, 660 IFLA_VF_TX_RATE, 661 IFLA_VF_SPOOFCHK, 662 IFLA_VF_LINK_STATE, 663 IFLA_VF_RATE, 664 IFLA_VF_RSS_QUERY_EN, 665 IFLA_VF_STATS, 666 IFLA_VF_TRUST, 667 IFLA_VF_IB_NODE_GUID, 668 IFLA_VF_IB_PORT_GUID, 669 IFLA_VF_VLAN_LIST, 670 IFLA_VF_BROADCAST, 671 __IFLA_VF_MAX, 672 }; 673 #define IFLA_VF_MAX (__IFLA_VF_MAX - 1) 674 struct ifla_vf_mac { 675 __u32 vf; 676 __u8 mac[32]; 677 }; 678 struct ifla_vf_broadcast { 679 __u8 broadcast[32]; 680 }; 681 struct ifla_vf_vlan { 682 __u32 vf; 683 __u32 vlan; 684 __u32 qos; 685 }; 686 enum { 687 IFLA_VF_VLAN_INFO_UNSPEC, 688 IFLA_VF_VLAN_INFO, 689 __IFLA_VF_VLAN_INFO_MAX, 690 }; 691 #define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1) 692 #define MAX_VLAN_LIST_LEN 1 693 struct ifla_vf_vlan_info { 694 __u32 vf; 695 __u32 vlan; 696 __u32 qos; 697 __be16 vlan_proto; 698 }; 699 struct ifla_vf_tx_rate { 700 __u32 vf; 701 __u32 rate; 702 }; 703 struct ifla_vf_rate { 704 __u32 vf; 705 __u32 min_tx_rate; 706 __u32 max_tx_rate; 707 }; 708 struct ifla_vf_spoofchk { 709 __u32 vf; 710 __u32 setting; 711 }; 712 struct ifla_vf_guid { 713 __u32 vf; 714 __u64 guid; 715 }; 716 enum { 717 IFLA_VF_LINK_STATE_AUTO, 718 IFLA_VF_LINK_STATE_ENABLE, 719 IFLA_VF_LINK_STATE_DISABLE, 720 __IFLA_VF_LINK_STATE_MAX, 721 }; 722 struct ifla_vf_link_state { 723 __u32 vf; 724 __u32 link_state; 725 }; 726 struct ifla_vf_rss_query_en { 727 __u32 vf; 728 __u32 setting; 729 }; 730 enum { 731 IFLA_VF_STATS_RX_PACKETS, 732 IFLA_VF_STATS_TX_PACKETS, 733 IFLA_VF_STATS_RX_BYTES, 734 IFLA_VF_STATS_TX_BYTES, 735 IFLA_VF_STATS_BROADCAST, 736 IFLA_VF_STATS_MULTICAST, 737 IFLA_VF_STATS_PAD, 738 IFLA_VF_STATS_RX_DROPPED, 739 IFLA_VF_STATS_TX_DROPPED, 740 __IFLA_VF_STATS_MAX, 741 }; 742 #define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1) 743 struct ifla_vf_trust { 744 __u32 vf; 745 __u32 setting; 746 }; 747 enum { 748 IFLA_VF_PORT_UNSPEC, 749 IFLA_VF_PORT, 750 __IFLA_VF_PORT_MAX, 751 }; 752 #define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1) 753 enum { 754 IFLA_PORT_UNSPEC, 755 IFLA_PORT_VF, 756 IFLA_PORT_PROFILE, 757 IFLA_PORT_VSI_TYPE, 758 IFLA_PORT_INSTANCE_UUID, 759 IFLA_PORT_HOST_UUID, 760 IFLA_PORT_REQUEST, 761 IFLA_PORT_RESPONSE, 762 __IFLA_PORT_MAX, 763 }; 764 #define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1) 765 #define PORT_PROFILE_MAX 40 766 #define PORT_UUID_MAX 16 767 #define PORT_SELF_VF - 1 768 enum { 769 PORT_REQUEST_PREASSOCIATE = 0, 770 PORT_REQUEST_PREASSOCIATE_RR, 771 PORT_REQUEST_ASSOCIATE, 772 PORT_REQUEST_DISASSOCIATE, 773 }; 774 enum { 775 PORT_VDP_RESPONSE_SUCCESS = 0, 776 PORT_VDP_RESPONSE_INVALID_FORMAT, 777 PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES, 778 PORT_VDP_RESPONSE_UNUSED_VTID, 779 PORT_VDP_RESPONSE_VTID_VIOLATION, 780 PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION, 781 PORT_VDP_RESPONSE_OUT_OF_SYNC, 782 PORT_PROFILE_RESPONSE_SUCCESS = 0x100, 783 PORT_PROFILE_RESPONSE_INPROGRESS, 784 PORT_PROFILE_RESPONSE_INVALID, 785 PORT_PROFILE_RESPONSE_BADSTATE, 786 PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES, 787 PORT_PROFILE_RESPONSE_ERROR, 788 }; 789 struct ifla_port_vsi { 790 __u8 vsi_mgr_id; 791 __u8 vsi_type_id[3]; 792 __u8 vsi_type_version; 793 __u8 pad[3]; 794 }; 795 enum { 796 IFLA_IPOIB_UNSPEC, 797 IFLA_IPOIB_PKEY, 798 IFLA_IPOIB_MODE, 799 IFLA_IPOIB_UMCAST, 800 __IFLA_IPOIB_MAX 801 }; 802 enum { 803 IPOIB_MODE_DATAGRAM = 0, 804 IPOIB_MODE_CONNECTED = 1, 805 }; 806 #define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1) 807 enum { 808 HSR_PROTOCOL_HSR, 809 HSR_PROTOCOL_PRP, 810 HSR_PROTOCOL_MAX, 811 }; 812 enum { 813 IFLA_HSR_UNSPEC, 814 IFLA_HSR_SLAVE1, 815 IFLA_HSR_SLAVE2, 816 IFLA_HSR_MULTICAST_SPEC, 817 IFLA_HSR_SUPERVISION_ADDR, 818 IFLA_HSR_SEQ_NR, 819 IFLA_HSR_VERSION, 820 IFLA_HSR_PROTOCOL, 821 __IFLA_HSR_MAX, 822 }; 823 #define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1) 824 struct if_stats_msg { 825 __u8 family; 826 __u8 pad1; 827 __u16 pad2; 828 __u32 ifindex; 829 __u32 filter_mask; 830 }; 831 enum { 832 IFLA_STATS_UNSPEC, 833 IFLA_STATS_LINK_64, 834 IFLA_STATS_LINK_XSTATS, 835 IFLA_STATS_LINK_XSTATS_SLAVE, 836 IFLA_STATS_LINK_OFFLOAD_XSTATS, 837 IFLA_STATS_AF_SPEC, 838 __IFLA_STATS_MAX, 839 }; 840 #define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1) 841 #define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1)) 842 enum { 843 IFLA_STATS_GETSET_UNSPEC, 844 IFLA_STATS_GET_FILTERS, 845 IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS, 846 __IFLA_STATS_GETSET_MAX, 847 }; 848 #define IFLA_STATS_GETSET_MAX (__IFLA_STATS_GETSET_MAX - 1) 849 enum { 850 LINK_XSTATS_TYPE_UNSPEC, 851 LINK_XSTATS_TYPE_BRIDGE, 852 LINK_XSTATS_TYPE_BOND, 853 __LINK_XSTATS_TYPE_MAX 854 }; 855 #define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1) 856 enum { 857 IFLA_OFFLOAD_XSTATS_UNSPEC, 858 IFLA_OFFLOAD_XSTATS_CPU_HIT, 859 IFLA_OFFLOAD_XSTATS_HW_S_INFO, 860 IFLA_OFFLOAD_XSTATS_L3_STATS, 861 __IFLA_OFFLOAD_XSTATS_MAX 862 }; 863 #define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1) 864 enum { 865 IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC, 866 IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST, 867 IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED, 868 __IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX, 869 }; 870 #define IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX (__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX - 1) 871 #define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0) 872 #define XDP_FLAGS_SKB_MODE (1U << 1) 873 #define XDP_FLAGS_DRV_MODE (1U << 2) 874 #define XDP_FLAGS_HW_MODE (1U << 3) 875 #define XDP_FLAGS_REPLACE (1U << 4) 876 #define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | XDP_FLAGS_DRV_MODE | XDP_FLAGS_HW_MODE) 877 #define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_MODES | XDP_FLAGS_REPLACE) 878 enum { 879 XDP_ATTACHED_NONE = 0, 880 XDP_ATTACHED_DRV, 881 XDP_ATTACHED_SKB, 882 XDP_ATTACHED_HW, 883 XDP_ATTACHED_MULTI, 884 }; 885 enum { 886 IFLA_XDP_UNSPEC, 887 IFLA_XDP_FD, 888 IFLA_XDP_ATTACHED, 889 IFLA_XDP_FLAGS, 890 IFLA_XDP_PROG_ID, 891 IFLA_XDP_DRV_PROG_ID, 892 IFLA_XDP_SKB_PROG_ID, 893 IFLA_XDP_HW_PROG_ID, 894 IFLA_XDP_EXPECTED_FD, 895 __IFLA_XDP_MAX, 896 }; 897 #define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1) 898 enum { 899 IFLA_EVENT_NONE, 900 IFLA_EVENT_REBOOT, 901 IFLA_EVENT_FEATURES, 902 IFLA_EVENT_BONDING_FAILOVER, 903 IFLA_EVENT_NOTIFY_PEERS, 904 IFLA_EVENT_IGMP_RESEND, 905 IFLA_EVENT_BONDING_OPTIONS, 906 }; 907 enum { 908 IFLA_TUN_UNSPEC, 909 IFLA_TUN_OWNER, 910 IFLA_TUN_GROUP, 911 IFLA_TUN_TYPE, 912 IFLA_TUN_PI, 913 IFLA_TUN_VNET_HDR, 914 IFLA_TUN_PERSIST, 915 IFLA_TUN_MULTI_QUEUE, 916 IFLA_TUN_NUM_QUEUES, 917 IFLA_TUN_NUM_DISABLED_QUEUES, 918 __IFLA_TUN_MAX, 919 }; 920 #define IFLA_TUN_MAX (__IFLA_TUN_MAX - 1) 921 #define RMNET_FLAGS_INGRESS_DEAGGREGATION (1U << 0) 922 #define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1) 923 #define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2) 924 #define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3) 925 #define RMNET_FLAGS_INGRESS_MAP_CKSUMV5 (1U << 4) 926 #define RMNET_FLAGS_EGRESS_MAP_CKSUMV5 (1U << 5) 927 enum { 928 IFLA_RMNET_UNSPEC, 929 IFLA_RMNET_MUX_ID, 930 IFLA_RMNET_FLAGS, 931 __IFLA_RMNET_MAX, 932 }; 933 #define IFLA_RMNET_MAX (__IFLA_RMNET_MAX - 1) 934 struct ifla_rmnet_flags { 935 __u32 flags; 936 __u32 mask; 937 }; 938 enum { 939 IFLA_MCTP_UNSPEC, 940 IFLA_MCTP_NET, 941 __IFLA_MCTP_MAX, 942 }; 943 #define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1) 944 enum { 945 IFLA_DSA_UNSPEC, 946 IFLA_DSA_MASTER, 947 __IFLA_DSA_MAX, 948 }; 949 #define IFLA_DSA_MAX (__IFLA_DSA_MAX - 1) 950 #endif 951