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 }; 75 struct rtnl_link_ifmap { 76 __u64 mem_start; 77 __u64 mem_end; 78 __u64 base_addr; 79 __u16 irq; 80 __u8 dma; 81 __u8 port; 82 }; 83 enum { 84 IFLA_UNSPEC, 85 IFLA_ADDRESS, 86 IFLA_BROADCAST, 87 IFLA_IFNAME, 88 IFLA_MTU, 89 IFLA_LINK, 90 IFLA_QDISC, 91 IFLA_STATS, 92 IFLA_COST, 93 #define IFLA_COST IFLA_COST 94 IFLA_PRIORITY, 95 #define IFLA_PRIORITY IFLA_PRIORITY 96 IFLA_MASTER, 97 #define IFLA_MASTER IFLA_MASTER 98 IFLA_WIRELESS, 99 #define IFLA_WIRELESS IFLA_WIRELESS 100 IFLA_PROTINFO, 101 #define IFLA_PROTINFO IFLA_PROTINFO 102 IFLA_TXQLEN, 103 #define IFLA_TXQLEN IFLA_TXQLEN 104 IFLA_MAP, 105 #define IFLA_MAP IFLA_MAP 106 IFLA_WEIGHT, 107 #define IFLA_WEIGHT IFLA_WEIGHT 108 IFLA_OPERSTATE, 109 IFLA_LINKMODE, 110 IFLA_LINKINFO, 111 #define IFLA_LINKINFO IFLA_LINKINFO 112 IFLA_NET_NS_PID, 113 IFLA_IFALIAS, 114 IFLA_NUM_VF, 115 IFLA_VFINFO_LIST, 116 IFLA_STATS64, 117 IFLA_VF_PORTS, 118 IFLA_PORT_SELF, 119 IFLA_AF_SPEC, 120 IFLA_GROUP, 121 IFLA_NET_NS_FD, 122 IFLA_EXT_MASK, 123 IFLA_PROMISCUITY, 124 #define IFLA_PROMISCUITY IFLA_PROMISCUITY 125 IFLA_NUM_TX_QUEUES, 126 IFLA_NUM_RX_QUEUES, 127 IFLA_CARRIER, 128 IFLA_PHYS_PORT_ID, 129 IFLA_CARRIER_CHANGES, 130 IFLA_PHYS_SWITCH_ID, 131 IFLA_LINK_NETNSID, 132 IFLA_PHYS_PORT_NAME, 133 IFLA_PROTO_DOWN, 134 IFLA_GSO_MAX_SEGS, 135 IFLA_GSO_MAX_SIZE, 136 IFLA_PAD, 137 IFLA_XDP, 138 __IFLA_MAX 139 }; 140 #define IFLA_MAX (__IFLA_MAX - 1) 141 #define IFLA_RTA(r) ((struct rtattr *) (((char *) (r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg)))) 142 #define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg)) 143 enum { 144 IFLA_INET_UNSPEC, 145 IFLA_INET_CONF, 146 __IFLA_INET_MAX, 147 }; 148 #define IFLA_INET_MAX (__IFLA_INET_MAX - 1) 149 enum { 150 IFLA_INET6_UNSPEC, 151 IFLA_INET6_FLAGS, 152 IFLA_INET6_CONF, 153 IFLA_INET6_STATS, 154 IFLA_INET6_MCAST, 155 IFLA_INET6_CACHEINFO, 156 IFLA_INET6_ICMP6STATS, 157 IFLA_INET6_TOKEN, 158 IFLA_INET6_ADDR_GEN_MODE, 159 __IFLA_INET6_MAX 160 }; 161 #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) 162 enum in6_addr_gen_mode { 163 IN6_ADDR_GEN_MODE_EUI64, 164 IN6_ADDR_GEN_MODE_NONE, 165 IN6_ADDR_GEN_MODE_STABLE_PRIVACY, 166 IN6_ADDR_GEN_MODE_RANDOM, 167 }; 168 enum { 169 IFLA_BR_UNSPEC, 170 IFLA_BR_FORWARD_DELAY, 171 IFLA_BR_HELLO_TIME, 172 IFLA_BR_MAX_AGE, 173 IFLA_BR_AGEING_TIME, 174 IFLA_BR_STP_STATE, 175 IFLA_BR_PRIORITY, 176 IFLA_BR_VLAN_FILTERING, 177 IFLA_BR_VLAN_PROTOCOL, 178 IFLA_BR_GROUP_FWD_MASK, 179 IFLA_BR_ROOT_ID, 180 IFLA_BR_BRIDGE_ID, 181 IFLA_BR_ROOT_PORT, 182 IFLA_BR_ROOT_PATH_COST, 183 IFLA_BR_TOPOLOGY_CHANGE, 184 IFLA_BR_TOPOLOGY_CHANGE_DETECTED, 185 IFLA_BR_HELLO_TIMER, 186 IFLA_BR_TCN_TIMER, 187 IFLA_BR_TOPOLOGY_CHANGE_TIMER, 188 IFLA_BR_GC_TIMER, 189 IFLA_BR_GROUP_ADDR, 190 IFLA_BR_FDB_FLUSH, 191 IFLA_BR_MCAST_ROUTER, 192 IFLA_BR_MCAST_SNOOPING, 193 IFLA_BR_MCAST_QUERY_USE_IFADDR, 194 IFLA_BR_MCAST_QUERIER, 195 IFLA_BR_MCAST_HASH_ELASTICITY, 196 IFLA_BR_MCAST_HASH_MAX, 197 IFLA_BR_MCAST_LAST_MEMBER_CNT, 198 IFLA_BR_MCAST_STARTUP_QUERY_CNT, 199 IFLA_BR_MCAST_LAST_MEMBER_INTVL, 200 IFLA_BR_MCAST_MEMBERSHIP_INTVL, 201 IFLA_BR_MCAST_QUERIER_INTVL, 202 IFLA_BR_MCAST_QUERY_INTVL, 203 IFLA_BR_MCAST_QUERY_RESPONSE_INTVL, 204 IFLA_BR_MCAST_STARTUP_QUERY_INTVL, 205 IFLA_BR_NF_CALL_IPTABLES, 206 IFLA_BR_NF_CALL_IP6TABLES, 207 IFLA_BR_NF_CALL_ARPTABLES, 208 IFLA_BR_VLAN_DEFAULT_PVID, 209 IFLA_BR_PAD, 210 IFLA_BR_VLAN_STATS_ENABLED, 211 IFLA_BR_MCAST_STATS_ENABLED, 212 IFLA_BR_MCAST_IGMP_VERSION, 213 IFLA_BR_MCAST_MLD_VERSION, 214 __IFLA_BR_MAX, 215 }; 216 #define IFLA_BR_MAX (__IFLA_BR_MAX - 1) 217 struct ifla_bridge_id { 218 __u8 prio[2]; 219 __u8 addr[6]; 220 }; 221 enum { 222 BRIDGE_MODE_UNSPEC, 223 BRIDGE_MODE_HAIRPIN, 224 }; 225 enum { 226 IFLA_BRPORT_UNSPEC, 227 IFLA_BRPORT_STATE, 228 IFLA_BRPORT_PRIORITY, 229 IFLA_BRPORT_COST, 230 IFLA_BRPORT_MODE, 231 IFLA_BRPORT_GUARD, 232 IFLA_BRPORT_PROTECT, 233 IFLA_BRPORT_FAST_LEAVE, 234 IFLA_BRPORT_LEARNING, 235 IFLA_BRPORT_UNICAST_FLOOD, 236 IFLA_BRPORT_PROXYARP, 237 IFLA_BRPORT_LEARNING_SYNC, 238 IFLA_BRPORT_PROXYARP_WIFI, 239 IFLA_BRPORT_ROOT_ID, 240 IFLA_BRPORT_BRIDGE_ID, 241 IFLA_BRPORT_DESIGNATED_PORT, 242 IFLA_BRPORT_DESIGNATED_COST, 243 IFLA_BRPORT_ID, 244 IFLA_BRPORT_NO, 245 IFLA_BRPORT_TOPOLOGY_CHANGE_ACK, 246 IFLA_BRPORT_CONFIG_PENDING, 247 IFLA_BRPORT_MESSAGE_AGE_TIMER, 248 IFLA_BRPORT_FORWARD_DELAY_TIMER, 249 IFLA_BRPORT_HOLD_TIMER, 250 IFLA_BRPORT_FLUSH, 251 IFLA_BRPORT_MULTICAST_ROUTER, 252 IFLA_BRPORT_PAD, 253 IFLA_BRPORT_MCAST_FLOOD, 254 __IFLA_BRPORT_MAX 255 }; 256 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) 257 struct ifla_cacheinfo { 258 __u32 max_reasm_len; 259 __u32 tstamp; 260 __u32 reachable_time; 261 __u32 retrans_time; 262 }; 263 enum { 264 IFLA_INFO_UNSPEC, 265 IFLA_INFO_KIND, 266 IFLA_INFO_DATA, 267 IFLA_INFO_XSTATS, 268 IFLA_INFO_SLAVE_KIND, 269 IFLA_INFO_SLAVE_DATA, 270 __IFLA_INFO_MAX, 271 }; 272 #define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1) 273 enum { 274 IFLA_VLAN_UNSPEC, 275 IFLA_VLAN_ID, 276 IFLA_VLAN_FLAGS, 277 IFLA_VLAN_EGRESS_QOS, 278 IFLA_VLAN_INGRESS_QOS, 279 IFLA_VLAN_PROTOCOL, 280 __IFLA_VLAN_MAX, 281 }; 282 #define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1) 283 struct ifla_vlan_flags { 284 __u32 flags; 285 __u32 mask; 286 }; 287 enum { 288 IFLA_VLAN_QOS_UNSPEC, 289 IFLA_VLAN_QOS_MAPPING, 290 __IFLA_VLAN_QOS_MAX 291 }; 292 #define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1) 293 struct ifla_vlan_qos_mapping { 294 __u32 from; 295 __u32 to; 296 }; 297 enum { 298 IFLA_MACVLAN_UNSPEC, 299 IFLA_MACVLAN_MODE, 300 IFLA_MACVLAN_FLAGS, 301 IFLA_MACVLAN_MACADDR_MODE, 302 IFLA_MACVLAN_MACADDR, 303 IFLA_MACVLAN_MACADDR_DATA, 304 IFLA_MACVLAN_MACADDR_COUNT, 305 __IFLA_MACVLAN_MAX, 306 }; 307 #define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1) 308 enum macvlan_mode { 309 MACVLAN_MODE_PRIVATE = 1, 310 MACVLAN_MODE_VEPA = 2, 311 MACVLAN_MODE_BRIDGE = 4, 312 MACVLAN_MODE_PASSTHRU = 8, 313 MACVLAN_MODE_SOURCE = 16, 314 }; 315 enum macvlan_macaddr_mode { 316 MACVLAN_MACADDR_ADD, 317 MACVLAN_MACADDR_DEL, 318 MACVLAN_MACADDR_FLUSH, 319 MACVLAN_MACADDR_SET, 320 }; 321 #define MACVLAN_FLAG_NOPROMISC 1 322 enum { 323 IFLA_VRF_UNSPEC, 324 IFLA_VRF_TABLE, 325 __IFLA_VRF_MAX 326 }; 327 #define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1) 328 enum { 329 IFLA_VRF_PORT_UNSPEC, 330 IFLA_VRF_PORT_TABLE, 331 __IFLA_VRF_PORT_MAX 332 }; 333 #define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1) 334 enum { 335 IFLA_MACSEC_UNSPEC, 336 IFLA_MACSEC_SCI, 337 IFLA_MACSEC_PORT, 338 IFLA_MACSEC_ICV_LEN, 339 IFLA_MACSEC_CIPHER_SUITE, 340 IFLA_MACSEC_WINDOW, 341 IFLA_MACSEC_ENCODING_SA, 342 IFLA_MACSEC_ENCRYPT, 343 IFLA_MACSEC_PROTECT, 344 IFLA_MACSEC_INC_SCI, 345 IFLA_MACSEC_ES, 346 IFLA_MACSEC_SCB, 347 IFLA_MACSEC_REPLAY_PROTECT, 348 IFLA_MACSEC_VALIDATION, 349 IFLA_MACSEC_PAD, 350 __IFLA_MACSEC_MAX, 351 }; 352 #define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1) 353 enum macsec_validation_type { 354 MACSEC_VALIDATE_DISABLED = 0, 355 MACSEC_VALIDATE_CHECK = 1, 356 MACSEC_VALIDATE_STRICT = 2, 357 __MACSEC_VALIDATE_END, 358 MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1, 359 }; 360 enum { 361 IFLA_IPVLAN_UNSPEC, 362 IFLA_IPVLAN_MODE, 363 __IFLA_IPVLAN_MAX 364 }; 365 #define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1) 366 enum ipvlan_mode { 367 IPVLAN_MODE_L2 = 0, 368 IPVLAN_MODE_L3, 369 IPVLAN_MODE_L3S, 370 IPVLAN_MODE_MAX 371 }; 372 enum { 373 IFLA_VXLAN_UNSPEC, 374 IFLA_VXLAN_ID, 375 IFLA_VXLAN_GROUP, 376 IFLA_VXLAN_LINK, 377 IFLA_VXLAN_LOCAL, 378 IFLA_VXLAN_TTL, 379 IFLA_VXLAN_TOS, 380 IFLA_VXLAN_LEARNING, 381 IFLA_VXLAN_AGEING, 382 IFLA_VXLAN_LIMIT, 383 IFLA_VXLAN_PORT_RANGE, 384 IFLA_VXLAN_PROXY, 385 IFLA_VXLAN_RSC, 386 IFLA_VXLAN_L2MISS, 387 IFLA_VXLAN_L3MISS, 388 IFLA_VXLAN_PORT, 389 IFLA_VXLAN_GROUP6, 390 IFLA_VXLAN_LOCAL6, 391 IFLA_VXLAN_UDP_CSUM, 392 IFLA_VXLAN_UDP_ZERO_CSUM6_TX, 393 IFLA_VXLAN_UDP_ZERO_CSUM6_RX, 394 IFLA_VXLAN_REMCSUM_TX, 395 IFLA_VXLAN_REMCSUM_RX, 396 IFLA_VXLAN_GBP, 397 IFLA_VXLAN_REMCSUM_NOPARTIAL, 398 IFLA_VXLAN_COLLECT_METADATA, 399 IFLA_VXLAN_LABEL, 400 IFLA_VXLAN_GPE, 401 __IFLA_VXLAN_MAX 402 }; 403 #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) 404 struct ifla_vxlan_port_range { 405 __be16 low; 406 __be16 high; 407 }; 408 enum { 409 IFLA_GENEVE_UNSPEC, 410 IFLA_GENEVE_ID, 411 IFLA_GENEVE_REMOTE, 412 IFLA_GENEVE_TTL, 413 IFLA_GENEVE_TOS, 414 IFLA_GENEVE_PORT, 415 IFLA_GENEVE_COLLECT_METADATA, 416 IFLA_GENEVE_REMOTE6, 417 IFLA_GENEVE_UDP_CSUM, 418 IFLA_GENEVE_UDP_ZERO_CSUM6_TX, 419 IFLA_GENEVE_UDP_ZERO_CSUM6_RX, 420 IFLA_GENEVE_LABEL, 421 __IFLA_GENEVE_MAX 422 }; 423 #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) 424 enum { 425 IFLA_PPP_UNSPEC, 426 IFLA_PPP_DEV_FD, 427 __IFLA_PPP_MAX 428 }; 429 #define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1) 430 enum { 431 IFLA_GTP_UNSPEC, 432 IFLA_GTP_FD0, 433 IFLA_GTP_FD1, 434 IFLA_GTP_PDP_HASHSIZE, 435 __IFLA_GTP_MAX, 436 }; 437 #define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1) 438 enum { 439 IFLA_BOND_UNSPEC, 440 IFLA_BOND_MODE, 441 IFLA_BOND_ACTIVE_SLAVE, 442 IFLA_BOND_MIIMON, 443 IFLA_BOND_UPDELAY, 444 IFLA_BOND_DOWNDELAY, 445 IFLA_BOND_USE_CARRIER, 446 IFLA_BOND_ARP_INTERVAL, 447 IFLA_BOND_ARP_IP_TARGET, 448 IFLA_BOND_ARP_VALIDATE, 449 IFLA_BOND_ARP_ALL_TARGETS, 450 IFLA_BOND_PRIMARY, 451 IFLA_BOND_PRIMARY_RESELECT, 452 IFLA_BOND_FAIL_OVER_MAC, 453 IFLA_BOND_XMIT_HASH_POLICY, 454 IFLA_BOND_RESEND_IGMP, 455 IFLA_BOND_NUM_PEER_NOTIF, 456 IFLA_BOND_ALL_SLAVES_ACTIVE, 457 IFLA_BOND_MIN_LINKS, 458 IFLA_BOND_LP_INTERVAL, 459 IFLA_BOND_PACKETS_PER_SLAVE, 460 IFLA_BOND_AD_LACP_RATE, 461 IFLA_BOND_AD_SELECT, 462 IFLA_BOND_AD_INFO, 463 IFLA_BOND_AD_ACTOR_SYS_PRIO, 464 IFLA_BOND_AD_USER_PORT_KEY, 465 IFLA_BOND_AD_ACTOR_SYSTEM, 466 IFLA_BOND_TLB_DYNAMIC_LB, 467 __IFLA_BOND_MAX, 468 }; 469 #define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1) 470 enum { 471 IFLA_BOND_AD_INFO_UNSPEC, 472 IFLA_BOND_AD_INFO_AGGREGATOR, 473 IFLA_BOND_AD_INFO_NUM_PORTS, 474 IFLA_BOND_AD_INFO_ACTOR_KEY, 475 IFLA_BOND_AD_INFO_PARTNER_KEY, 476 IFLA_BOND_AD_INFO_PARTNER_MAC, 477 __IFLA_BOND_AD_INFO_MAX, 478 }; 479 #define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1) 480 enum { 481 IFLA_BOND_SLAVE_UNSPEC, 482 IFLA_BOND_SLAVE_STATE, 483 IFLA_BOND_SLAVE_MII_STATUS, 484 IFLA_BOND_SLAVE_LINK_FAILURE_COUNT, 485 IFLA_BOND_SLAVE_PERM_HWADDR, 486 IFLA_BOND_SLAVE_QUEUE_ID, 487 IFLA_BOND_SLAVE_AD_AGGREGATOR_ID, 488 IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE, 489 IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE, 490 __IFLA_BOND_SLAVE_MAX, 491 }; 492 #define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1) 493 enum { 494 IFLA_VF_INFO_UNSPEC, 495 IFLA_VF_INFO, 496 __IFLA_VF_INFO_MAX, 497 }; 498 #define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1) 499 enum { 500 IFLA_VF_UNSPEC, 501 IFLA_VF_MAC, 502 IFLA_VF_VLAN, 503 IFLA_VF_TX_RATE, 504 IFLA_VF_SPOOFCHK, 505 IFLA_VF_LINK_STATE, 506 IFLA_VF_RATE, 507 IFLA_VF_RSS_QUERY_EN, 508 IFLA_VF_STATS, 509 IFLA_VF_TRUST, 510 IFLA_VF_IB_NODE_GUID, 511 IFLA_VF_IB_PORT_GUID, 512 IFLA_VF_VLAN_LIST, 513 __IFLA_VF_MAX, 514 }; 515 #define IFLA_VF_MAX (__IFLA_VF_MAX - 1) 516 struct ifla_vf_mac { 517 __u32 vf; 518 __u8 mac[32]; 519 }; 520 struct ifla_vf_vlan { 521 __u32 vf; 522 __u32 vlan; 523 __u32 qos; 524 }; 525 enum { 526 IFLA_VF_VLAN_INFO_UNSPEC, 527 IFLA_VF_VLAN_INFO, 528 __IFLA_VF_VLAN_INFO_MAX, 529 }; 530 #define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1) 531 #define MAX_VLAN_LIST_LEN 1 532 struct ifla_vf_vlan_info { 533 __u32 vf; 534 __u32 vlan; 535 __u32 qos; 536 __be16 vlan_proto; 537 }; 538 struct ifla_vf_tx_rate { 539 __u32 vf; 540 __u32 rate; 541 }; 542 struct ifla_vf_rate { 543 __u32 vf; 544 __u32 min_tx_rate; 545 __u32 max_tx_rate; 546 }; 547 struct ifla_vf_spoofchk { 548 __u32 vf; 549 __u32 setting; 550 }; 551 struct ifla_vf_guid { 552 __u32 vf; 553 __u64 guid; 554 }; 555 enum { 556 IFLA_VF_LINK_STATE_AUTO, 557 IFLA_VF_LINK_STATE_ENABLE, 558 IFLA_VF_LINK_STATE_DISABLE, 559 __IFLA_VF_LINK_STATE_MAX, 560 }; 561 struct ifla_vf_link_state { 562 __u32 vf; 563 __u32 link_state; 564 }; 565 struct ifla_vf_rss_query_en { 566 __u32 vf; 567 __u32 setting; 568 }; 569 enum { 570 IFLA_VF_STATS_RX_PACKETS, 571 IFLA_VF_STATS_TX_PACKETS, 572 IFLA_VF_STATS_RX_BYTES, 573 IFLA_VF_STATS_TX_BYTES, 574 IFLA_VF_STATS_BROADCAST, 575 IFLA_VF_STATS_MULTICAST, 576 IFLA_VF_STATS_PAD, 577 __IFLA_VF_STATS_MAX, 578 }; 579 #define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1) 580 struct ifla_vf_trust { 581 __u32 vf; 582 __u32 setting; 583 }; 584 enum { 585 IFLA_VF_PORT_UNSPEC, 586 IFLA_VF_PORT, 587 __IFLA_VF_PORT_MAX, 588 }; 589 #define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1) 590 enum { 591 IFLA_PORT_UNSPEC, 592 IFLA_PORT_VF, 593 IFLA_PORT_PROFILE, 594 IFLA_PORT_VSI_TYPE, 595 IFLA_PORT_INSTANCE_UUID, 596 IFLA_PORT_HOST_UUID, 597 IFLA_PORT_REQUEST, 598 IFLA_PORT_RESPONSE, 599 __IFLA_PORT_MAX, 600 }; 601 #define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1) 602 #define PORT_PROFILE_MAX 40 603 #define PORT_UUID_MAX 16 604 #define PORT_SELF_VF - 1 605 enum { 606 PORT_REQUEST_PREASSOCIATE = 0, 607 PORT_REQUEST_PREASSOCIATE_RR, 608 PORT_REQUEST_ASSOCIATE, 609 PORT_REQUEST_DISASSOCIATE, 610 }; 611 enum { 612 PORT_VDP_RESPONSE_SUCCESS = 0, 613 PORT_VDP_RESPONSE_INVALID_FORMAT, 614 PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES, 615 PORT_VDP_RESPONSE_UNUSED_VTID, 616 PORT_VDP_RESPONSE_VTID_VIOLATION, 617 PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION, 618 PORT_VDP_RESPONSE_OUT_OF_SYNC, 619 PORT_PROFILE_RESPONSE_SUCCESS = 0x100, 620 PORT_PROFILE_RESPONSE_INPROGRESS, 621 PORT_PROFILE_RESPONSE_INVALID, 622 PORT_PROFILE_RESPONSE_BADSTATE, 623 PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES, 624 PORT_PROFILE_RESPONSE_ERROR, 625 }; 626 struct ifla_port_vsi { 627 __u8 vsi_mgr_id; 628 __u8 vsi_type_id[3]; 629 __u8 vsi_type_version; 630 __u8 pad[3]; 631 }; 632 enum { 633 IFLA_IPOIB_UNSPEC, 634 IFLA_IPOIB_PKEY, 635 IFLA_IPOIB_MODE, 636 IFLA_IPOIB_UMCAST, 637 __IFLA_IPOIB_MAX 638 }; 639 enum { 640 IPOIB_MODE_DATAGRAM = 0, 641 IPOIB_MODE_CONNECTED = 1, 642 }; 643 #define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1) 644 enum { 645 IFLA_HSR_UNSPEC, 646 IFLA_HSR_SLAVE1, 647 IFLA_HSR_SLAVE2, 648 IFLA_HSR_MULTICAST_SPEC, 649 IFLA_HSR_SUPERVISION_ADDR, 650 IFLA_HSR_SEQ_NR, 651 IFLA_HSR_VERSION, 652 __IFLA_HSR_MAX, 653 }; 654 #define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1) 655 struct if_stats_msg { 656 __u8 family; 657 __u8 pad1; 658 __u16 pad2; 659 __u32 ifindex; 660 __u32 filter_mask; 661 }; 662 enum { 663 IFLA_STATS_UNSPEC, 664 IFLA_STATS_LINK_64, 665 IFLA_STATS_LINK_XSTATS, 666 IFLA_STATS_LINK_XSTATS_SLAVE, 667 IFLA_STATS_LINK_OFFLOAD_XSTATS, 668 __IFLA_STATS_MAX, 669 }; 670 #define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1) 671 #define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1)) 672 enum { 673 LINK_XSTATS_TYPE_UNSPEC, 674 LINK_XSTATS_TYPE_BRIDGE, 675 __LINK_XSTATS_TYPE_MAX 676 }; 677 #define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1) 678 enum { 679 IFLA_OFFLOAD_XSTATS_UNSPEC, 680 IFLA_OFFLOAD_XSTATS_CPU_HIT, 681 __IFLA_OFFLOAD_XSTATS_MAX 682 }; 683 #define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1) 684 #define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0) 685 #define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST) 686 enum { 687 IFLA_XDP_UNSPEC, 688 IFLA_XDP_FD, 689 IFLA_XDP_ATTACHED, 690 IFLA_XDP_FLAGS, 691 __IFLA_XDP_MAX, 692 }; 693 #define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1) 694 #endif 695