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_EVENT, 139 IFLA_NEW_NETNSID, 140 IFLA_IF_NETNSID, 141 IFLA_TARGET_NETNSID = IFLA_IF_NETNSID, 142 IFLA_CARRIER_UP_COUNT, 143 IFLA_CARRIER_DOWN_COUNT, 144 IFLA_NEW_IFINDEX, 145 IFLA_MIN_MTU, 146 IFLA_MAX_MTU, 147 IFLA_PROP_LIST, 148 IFLA_ALT_IFNAME, 149 __IFLA_MAX 150 }; 151 #define IFLA_MAX (__IFLA_MAX - 1) 152 #define IFLA_RTA(r) ((struct rtattr *) (((char *) (r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg)))) 153 #define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg)) 154 enum { 155 IFLA_INET_UNSPEC, 156 IFLA_INET_CONF, 157 __IFLA_INET_MAX, 158 }; 159 #define IFLA_INET_MAX (__IFLA_INET_MAX - 1) 160 enum { 161 IFLA_INET6_UNSPEC, 162 IFLA_INET6_FLAGS, 163 IFLA_INET6_CONF, 164 IFLA_INET6_STATS, 165 IFLA_INET6_MCAST, 166 IFLA_INET6_CACHEINFO, 167 IFLA_INET6_ICMP6STATS, 168 IFLA_INET6_TOKEN, 169 IFLA_INET6_ADDR_GEN_MODE, 170 __IFLA_INET6_MAX 171 }; 172 #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) 173 enum in6_addr_gen_mode { 174 IN6_ADDR_GEN_MODE_EUI64, 175 IN6_ADDR_GEN_MODE_NONE, 176 IN6_ADDR_GEN_MODE_STABLE_PRIVACY, 177 IN6_ADDR_GEN_MODE_RANDOM, 178 }; 179 enum { 180 IFLA_BR_UNSPEC, 181 IFLA_BR_FORWARD_DELAY, 182 IFLA_BR_HELLO_TIME, 183 IFLA_BR_MAX_AGE, 184 IFLA_BR_AGEING_TIME, 185 IFLA_BR_STP_STATE, 186 IFLA_BR_PRIORITY, 187 IFLA_BR_VLAN_FILTERING, 188 IFLA_BR_VLAN_PROTOCOL, 189 IFLA_BR_GROUP_FWD_MASK, 190 IFLA_BR_ROOT_ID, 191 IFLA_BR_BRIDGE_ID, 192 IFLA_BR_ROOT_PORT, 193 IFLA_BR_ROOT_PATH_COST, 194 IFLA_BR_TOPOLOGY_CHANGE, 195 IFLA_BR_TOPOLOGY_CHANGE_DETECTED, 196 IFLA_BR_HELLO_TIMER, 197 IFLA_BR_TCN_TIMER, 198 IFLA_BR_TOPOLOGY_CHANGE_TIMER, 199 IFLA_BR_GC_TIMER, 200 IFLA_BR_GROUP_ADDR, 201 IFLA_BR_FDB_FLUSH, 202 IFLA_BR_MCAST_ROUTER, 203 IFLA_BR_MCAST_SNOOPING, 204 IFLA_BR_MCAST_QUERY_USE_IFADDR, 205 IFLA_BR_MCAST_QUERIER, 206 IFLA_BR_MCAST_HASH_ELASTICITY, 207 IFLA_BR_MCAST_HASH_MAX, 208 IFLA_BR_MCAST_LAST_MEMBER_CNT, 209 IFLA_BR_MCAST_STARTUP_QUERY_CNT, 210 IFLA_BR_MCAST_LAST_MEMBER_INTVL, 211 IFLA_BR_MCAST_MEMBERSHIP_INTVL, 212 IFLA_BR_MCAST_QUERIER_INTVL, 213 IFLA_BR_MCAST_QUERY_INTVL, 214 IFLA_BR_MCAST_QUERY_RESPONSE_INTVL, 215 IFLA_BR_MCAST_STARTUP_QUERY_INTVL, 216 IFLA_BR_NF_CALL_IPTABLES, 217 IFLA_BR_NF_CALL_IP6TABLES, 218 IFLA_BR_NF_CALL_ARPTABLES, 219 IFLA_BR_VLAN_DEFAULT_PVID, 220 IFLA_BR_PAD, 221 IFLA_BR_VLAN_STATS_ENABLED, 222 IFLA_BR_MCAST_STATS_ENABLED, 223 IFLA_BR_MCAST_IGMP_VERSION, 224 IFLA_BR_MCAST_MLD_VERSION, 225 IFLA_BR_VLAN_STATS_PER_PORT, 226 IFLA_BR_MULTI_BOOLOPT, 227 __IFLA_BR_MAX, 228 }; 229 #define IFLA_BR_MAX (__IFLA_BR_MAX - 1) 230 struct ifla_bridge_id { 231 __u8 prio[2]; 232 __u8 addr[6]; 233 }; 234 enum { 235 BRIDGE_MODE_UNSPEC, 236 BRIDGE_MODE_HAIRPIN, 237 }; 238 enum { 239 IFLA_BRPORT_UNSPEC, 240 IFLA_BRPORT_STATE, 241 IFLA_BRPORT_PRIORITY, 242 IFLA_BRPORT_COST, 243 IFLA_BRPORT_MODE, 244 IFLA_BRPORT_GUARD, 245 IFLA_BRPORT_PROTECT, 246 IFLA_BRPORT_FAST_LEAVE, 247 IFLA_BRPORT_LEARNING, 248 IFLA_BRPORT_UNICAST_FLOOD, 249 IFLA_BRPORT_PROXYARP, 250 IFLA_BRPORT_LEARNING_SYNC, 251 IFLA_BRPORT_PROXYARP_WIFI, 252 IFLA_BRPORT_ROOT_ID, 253 IFLA_BRPORT_BRIDGE_ID, 254 IFLA_BRPORT_DESIGNATED_PORT, 255 IFLA_BRPORT_DESIGNATED_COST, 256 IFLA_BRPORT_ID, 257 IFLA_BRPORT_NO, 258 IFLA_BRPORT_TOPOLOGY_CHANGE_ACK, 259 IFLA_BRPORT_CONFIG_PENDING, 260 IFLA_BRPORT_MESSAGE_AGE_TIMER, 261 IFLA_BRPORT_FORWARD_DELAY_TIMER, 262 IFLA_BRPORT_HOLD_TIMER, 263 IFLA_BRPORT_FLUSH, 264 IFLA_BRPORT_MULTICAST_ROUTER, 265 IFLA_BRPORT_PAD, 266 IFLA_BRPORT_MCAST_FLOOD, 267 IFLA_BRPORT_MCAST_TO_UCAST, 268 IFLA_BRPORT_VLAN_TUNNEL, 269 IFLA_BRPORT_BCAST_FLOOD, 270 IFLA_BRPORT_GROUP_FWD_MASK, 271 IFLA_BRPORT_NEIGH_SUPPRESS, 272 IFLA_BRPORT_ISOLATED, 273 IFLA_BRPORT_BACKUP_PORT, 274 __IFLA_BRPORT_MAX 275 }; 276 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) 277 struct ifla_cacheinfo { 278 __u32 max_reasm_len; 279 __u32 tstamp; 280 __u32 reachable_time; 281 __u32 retrans_time; 282 }; 283 enum { 284 IFLA_INFO_UNSPEC, 285 IFLA_INFO_KIND, 286 IFLA_INFO_DATA, 287 IFLA_INFO_XSTATS, 288 IFLA_INFO_SLAVE_KIND, 289 IFLA_INFO_SLAVE_DATA, 290 __IFLA_INFO_MAX, 291 }; 292 #define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1) 293 enum { 294 IFLA_VLAN_UNSPEC, 295 IFLA_VLAN_ID, 296 IFLA_VLAN_FLAGS, 297 IFLA_VLAN_EGRESS_QOS, 298 IFLA_VLAN_INGRESS_QOS, 299 IFLA_VLAN_PROTOCOL, 300 __IFLA_VLAN_MAX, 301 }; 302 #define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1) 303 struct ifla_vlan_flags { 304 __u32 flags; 305 __u32 mask; 306 }; 307 enum { 308 IFLA_VLAN_QOS_UNSPEC, 309 IFLA_VLAN_QOS_MAPPING, 310 __IFLA_VLAN_QOS_MAX 311 }; 312 #define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1) 313 struct ifla_vlan_qos_mapping { 314 __u32 from; 315 __u32 to; 316 }; 317 enum { 318 IFLA_MACVLAN_UNSPEC, 319 IFLA_MACVLAN_MODE, 320 IFLA_MACVLAN_FLAGS, 321 IFLA_MACVLAN_MACADDR_MODE, 322 IFLA_MACVLAN_MACADDR, 323 IFLA_MACVLAN_MACADDR_DATA, 324 IFLA_MACVLAN_MACADDR_COUNT, 325 __IFLA_MACVLAN_MAX, 326 }; 327 #define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1) 328 enum macvlan_mode { 329 MACVLAN_MODE_PRIVATE = 1, 330 MACVLAN_MODE_VEPA = 2, 331 MACVLAN_MODE_BRIDGE = 4, 332 MACVLAN_MODE_PASSTHRU = 8, 333 MACVLAN_MODE_SOURCE = 16, 334 }; 335 enum macvlan_macaddr_mode { 336 MACVLAN_MACADDR_ADD, 337 MACVLAN_MACADDR_DEL, 338 MACVLAN_MACADDR_FLUSH, 339 MACVLAN_MACADDR_SET, 340 }; 341 #define MACVLAN_FLAG_NOPROMISC 1 342 enum { 343 IFLA_VRF_UNSPEC, 344 IFLA_VRF_TABLE, 345 __IFLA_VRF_MAX 346 }; 347 #define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1) 348 enum { 349 IFLA_VRF_PORT_UNSPEC, 350 IFLA_VRF_PORT_TABLE, 351 __IFLA_VRF_PORT_MAX 352 }; 353 #define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1) 354 enum { 355 IFLA_MACSEC_UNSPEC, 356 IFLA_MACSEC_SCI, 357 IFLA_MACSEC_PORT, 358 IFLA_MACSEC_ICV_LEN, 359 IFLA_MACSEC_CIPHER_SUITE, 360 IFLA_MACSEC_WINDOW, 361 IFLA_MACSEC_ENCODING_SA, 362 IFLA_MACSEC_ENCRYPT, 363 IFLA_MACSEC_PROTECT, 364 IFLA_MACSEC_INC_SCI, 365 IFLA_MACSEC_ES, 366 IFLA_MACSEC_SCB, 367 IFLA_MACSEC_REPLAY_PROTECT, 368 IFLA_MACSEC_VALIDATION, 369 IFLA_MACSEC_PAD, 370 __IFLA_MACSEC_MAX, 371 }; 372 #define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1) 373 enum { 374 IFLA_XFRM_UNSPEC, 375 IFLA_XFRM_LINK, 376 IFLA_XFRM_IF_ID, 377 __IFLA_XFRM_MAX 378 }; 379 #define IFLA_XFRM_MAX (__IFLA_XFRM_MAX - 1) 380 enum macsec_validation_type { 381 MACSEC_VALIDATE_DISABLED = 0, 382 MACSEC_VALIDATE_CHECK = 1, 383 MACSEC_VALIDATE_STRICT = 2, 384 __MACSEC_VALIDATE_END, 385 MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1, 386 }; 387 enum { 388 IFLA_IPVLAN_UNSPEC, 389 IFLA_IPVLAN_MODE, 390 IFLA_IPVLAN_FLAGS, 391 __IFLA_IPVLAN_MAX 392 }; 393 #define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1) 394 enum ipvlan_mode { 395 IPVLAN_MODE_L2 = 0, 396 IPVLAN_MODE_L3, 397 IPVLAN_MODE_L3S, 398 IPVLAN_MODE_MAX 399 }; 400 #define IPVLAN_F_PRIVATE 0x01 401 #define IPVLAN_F_VEPA 0x02 402 enum { 403 IFLA_VXLAN_UNSPEC, 404 IFLA_VXLAN_ID, 405 IFLA_VXLAN_GROUP, 406 IFLA_VXLAN_LINK, 407 IFLA_VXLAN_LOCAL, 408 IFLA_VXLAN_TTL, 409 IFLA_VXLAN_TOS, 410 IFLA_VXLAN_LEARNING, 411 IFLA_VXLAN_AGEING, 412 IFLA_VXLAN_LIMIT, 413 IFLA_VXLAN_PORT_RANGE, 414 IFLA_VXLAN_PROXY, 415 IFLA_VXLAN_RSC, 416 IFLA_VXLAN_L2MISS, 417 IFLA_VXLAN_L3MISS, 418 IFLA_VXLAN_PORT, 419 IFLA_VXLAN_GROUP6, 420 IFLA_VXLAN_LOCAL6, 421 IFLA_VXLAN_UDP_CSUM, 422 IFLA_VXLAN_UDP_ZERO_CSUM6_TX, 423 IFLA_VXLAN_UDP_ZERO_CSUM6_RX, 424 IFLA_VXLAN_REMCSUM_TX, 425 IFLA_VXLAN_REMCSUM_RX, 426 IFLA_VXLAN_GBP, 427 IFLA_VXLAN_REMCSUM_NOPARTIAL, 428 IFLA_VXLAN_COLLECT_METADATA, 429 IFLA_VXLAN_LABEL, 430 IFLA_VXLAN_GPE, 431 IFLA_VXLAN_TTL_INHERIT, 432 IFLA_VXLAN_DF, 433 __IFLA_VXLAN_MAX 434 }; 435 #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) 436 struct ifla_vxlan_port_range { 437 __be16 low; 438 __be16 high; 439 }; 440 enum ifla_vxlan_df { 441 VXLAN_DF_UNSET = 0, 442 VXLAN_DF_SET, 443 VXLAN_DF_INHERIT, 444 __VXLAN_DF_END, 445 VXLAN_DF_MAX = __VXLAN_DF_END - 1, 446 }; 447 enum { 448 IFLA_GENEVE_UNSPEC, 449 IFLA_GENEVE_ID, 450 IFLA_GENEVE_REMOTE, 451 IFLA_GENEVE_TTL, 452 IFLA_GENEVE_TOS, 453 IFLA_GENEVE_PORT, 454 IFLA_GENEVE_COLLECT_METADATA, 455 IFLA_GENEVE_REMOTE6, 456 IFLA_GENEVE_UDP_CSUM, 457 IFLA_GENEVE_UDP_ZERO_CSUM6_TX, 458 IFLA_GENEVE_UDP_ZERO_CSUM6_RX, 459 IFLA_GENEVE_LABEL, 460 IFLA_GENEVE_TTL_INHERIT, 461 IFLA_GENEVE_DF, 462 __IFLA_GENEVE_MAX 463 }; 464 #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) 465 enum ifla_geneve_df { 466 GENEVE_DF_UNSET = 0, 467 GENEVE_DF_SET, 468 GENEVE_DF_INHERIT, 469 __GENEVE_DF_END, 470 GENEVE_DF_MAX = __GENEVE_DF_END - 1, 471 }; 472 enum { 473 IFLA_PPP_UNSPEC, 474 IFLA_PPP_DEV_FD, 475 __IFLA_PPP_MAX 476 }; 477 #define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1) 478 enum ifla_gtp_role { 479 GTP_ROLE_GGSN = 0, 480 GTP_ROLE_SGSN, 481 }; 482 enum { 483 IFLA_GTP_UNSPEC, 484 IFLA_GTP_FD0, 485 IFLA_GTP_FD1, 486 IFLA_GTP_PDP_HASHSIZE, 487 IFLA_GTP_ROLE, 488 __IFLA_GTP_MAX, 489 }; 490 #define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1) 491 enum { 492 IFLA_BOND_UNSPEC, 493 IFLA_BOND_MODE, 494 IFLA_BOND_ACTIVE_SLAVE, 495 IFLA_BOND_MIIMON, 496 IFLA_BOND_UPDELAY, 497 IFLA_BOND_DOWNDELAY, 498 IFLA_BOND_USE_CARRIER, 499 IFLA_BOND_ARP_INTERVAL, 500 IFLA_BOND_ARP_IP_TARGET, 501 IFLA_BOND_ARP_VALIDATE, 502 IFLA_BOND_ARP_ALL_TARGETS, 503 IFLA_BOND_PRIMARY, 504 IFLA_BOND_PRIMARY_RESELECT, 505 IFLA_BOND_FAIL_OVER_MAC, 506 IFLA_BOND_XMIT_HASH_POLICY, 507 IFLA_BOND_RESEND_IGMP, 508 IFLA_BOND_NUM_PEER_NOTIF, 509 IFLA_BOND_ALL_SLAVES_ACTIVE, 510 IFLA_BOND_MIN_LINKS, 511 IFLA_BOND_LP_INTERVAL, 512 IFLA_BOND_PACKETS_PER_SLAVE, 513 IFLA_BOND_AD_LACP_RATE, 514 IFLA_BOND_AD_SELECT, 515 IFLA_BOND_AD_INFO, 516 IFLA_BOND_AD_ACTOR_SYS_PRIO, 517 IFLA_BOND_AD_USER_PORT_KEY, 518 IFLA_BOND_AD_ACTOR_SYSTEM, 519 IFLA_BOND_TLB_DYNAMIC_LB, 520 IFLA_BOND_PEER_NOTIF_DELAY, 521 __IFLA_BOND_MAX, 522 }; 523 #define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1) 524 enum { 525 IFLA_BOND_AD_INFO_UNSPEC, 526 IFLA_BOND_AD_INFO_AGGREGATOR, 527 IFLA_BOND_AD_INFO_NUM_PORTS, 528 IFLA_BOND_AD_INFO_ACTOR_KEY, 529 IFLA_BOND_AD_INFO_PARTNER_KEY, 530 IFLA_BOND_AD_INFO_PARTNER_MAC, 531 __IFLA_BOND_AD_INFO_MAX, 532 }; 533 #define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1) 534 enum { 535 IFLA_BOND_SLAVE_UNSPEC, 536 IFLA_BOND_SLAVE_STATE, 537 IFLA_BOND_SLAVE_MII_STATUS, 538 IFLA_BOND_SLAVE_LINK_FAILURE_COUNT, 539 IFLA_BOND_SLAVE_PERM_HWADDR, 540 IFLA_BOND_SLAVE_QUEUE_ID, 541 IFLA_BOND_SLAVE_AD_AGGREGATOR_ID, 542 IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE, 543 IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE, 544 __IFLA_BOND_SLAVE_MAX, 545 }; 546 #define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1) 547 enum { 548 IFLA_VF_INFO_UNSPEC, 549 IFLA_VF_INFO, 550 __IFLA_VF_INFO_MAX, 551 }; 552 #define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1) 553 enum { 554 IFLA_VF_UNSPEC, 555 IFLA_VF_MAC, 556 IFLA_VF_VLAN, 557 IFLA_VF_TX_RATE, 558 IFLA_VF_SPOOFCHK, 559 IFLA_VF_LINK_STATE, 560 IFLA_VF_RATE, 561 IFLA_VF_RSS_QUERY_EN, 562 IFLA_VF_STATS, 563 IFLA_VF_TRUST, 564 IFLA_VF_IB_NODE_GUID, 565 IFLA_VF_IB_PORT_GUID, 566 IFLA_VF_VLAN_LIST, 567 IFLA_VF_BROADCAST, 568 __IFLA_VF_MAX, 569 }; 570 #define IFLA_VF_MAX (__IFLA_VF_MAX - 1) 571 struct ifla_vf_mac { 572 __u32 vf; 573 __u8 mac[32]; 574 }; 575 struct ifla_vf_broadcast { 576 __u8 broadcast[32]; 577 }; 578 struct ifla_vf_vlan { 579 __u32 vf; 580 __u32 vlan; 581 __u32 qos; 582 }; 583 enum { 584 IFLA_VF_VLAN_INFO_UNSPEC, 585 IFLA_VF_VLAN_INFO, 586 __IFLA_VF_VLAN_INFO_MAX, 587 }; 588 #define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1) 589 #define MAX_VLAN_LIST_LEN 1 590 struct ifla_vf_vlan_info { 591 __u32 vf; 592 __u32 vlan; 593 __u32 qos; 594 __be16 vlan_proto; 595 }; 596 struct ifla_vf_tx_rate { 597 __u32 vf; 598 __u32 rate; 599 }; 600 struct ifla_vf_rate { 601 __u32 vf; 602 __u32 min_tx_rate; 603 __u32 max_tx_rate; 604 }; 605 struct ifla_vf_spoofchk { 606 __u32 vf; 607 __u32 setting; 608 }; 609 struct ifla_vf_guid { 610 __u32 vf; 611 __u64 guid; 612 }; 613 enum { 614 IFLA_VF_LINK_STATE_AUTO, 615 IFLA_VF_LINK_STATE_ENABLE, 616 IFLA_VF_LINK_STATE_DISABLE, 617 __IFLA_VF_LINK_STATE_MAX, 618 }; 619 struct ifla_vf_link_state { 620 __u32 vf; 621 __u32 link_state; 622 }; 623 struct ifla_vf_rss_query_en { 624 __u32 vf; 625 __u32 setting; 626 }; 627 enum { 628 IFLA_VF_STATS_RX_PACKETS, 629 IFLA_VF_STATS_TX_PACKETS, 630 IFLA_VF_STATS_RX_BYTES, 631 IFLA_VF_STATS_TX_BYTES, 632 IFLA_VF_STATS_BROADCAST, 633 IFLA_VF_STATS_MULTICAST, 634 IFLA_VF_STATS_PAD, 635 IFLA_VF_STATS_RX_DROPPED, 636 IFLA_VF_STATS_TX_DROPPED, 637 __IFLA_VF_STATS_MAX, 638 }; 639 #define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1) 640 struct ifla_vf_trust { 641 __u32 vf; 642 __u32 setting; 643 }; 644 enum { 645 IFLA_VF_PORT_UNSPEC, 646 IFLA_VF_PORT, 647 __IFLA_VF_PORT_MAX, 648 }; 649 #define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1) 650 enum { 651 IFLA_PORT_UNSPEC, 652 IFLA_PORT_VF, 653 IFLA_PORT_PROFILE, 654 IFLA_PORT_VSI_TYPE, 655 IFLA_PORT_INSTANCE_UUID, 656 IFLA_PORT_HOST_UUID, 657 IFLA_PORT_REQUEST, 658 IFLA_PORT_RESPONSE, 659 __IFLA_PORT_MAX, 660 }; 661 #define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1) 662 #define PORT_PROFILE_MAX 40 663 #define PORT_UUID_MAX 16 664 #define PORT_SELF_VF - 1 665 enum { 666 PORT_REQUEST_PREASSOCIATE = 0, 667 PORT_REQUEST_PREASSOCIATE_RR, 668 PORT_REQUEST_ASSOCIATE, 669 PORT_REQUEST_DISASSOCIATE, 670 }; 671 enum { 672 PORT_VDP_RESPONSE_SUCCESS = 0, 673 PORT_VDP_RESPONSE_INVALID_FORMAT, 674 PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES, 675 PORT_VDP_RESPONSE_UNUSED_VTID, 676 PORT_VDP_RESPONSE_VTID_VIOLATION, 677 PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION, 678 PORT_VDP_RESPONSE_OUT_OF_SYNC, 679 PORT_PROFILE_RESPONSE_SUCCESS = 0x100, 680 PORT_PROFILE_RESPONSE_INPROGRESS, 681 PORT_PROFILE_RESPONSE_INVALID, 682 PORT_PROFILE_RESPONSE_BADSTATE, 683 PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES, 684 PORT_PROFILE_RESPONSE_ERROR, 685 }; 686 struct ifla_port_vsi { 687 __u8 vsi_mgr_id; 688 __u8 vsi_type_id[3]; 689 __u8 vsi_type_version; 690 __u8 pad[3]; 691 }; 692 enum { 693 IFLA_IPOIB_UNSPEC, 694 IFLA_IPOIB_PKEY, 695 IFLA_IPOIB_MODE, 696 IFLA_IPOIB_UMCAST, 697 __IFLA_IPOIB_MAX 698 }; 699 enum { 700 IPOIB_MODE_DATAGRAM = 0, 701 IPOIB_MODE_CONNECTED = 1, 702 }; 703 #define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1) 704 enum { 705 IFLA_HSR_UNSPEC, 706 IFLA_HSR_SLAVE1, 707 IFLA_HSR_SLAVE2, 708 IFLA_HSR_MULTICAST_SPEC, 709 IFLA_HSR_SUPERVISION_ADDR, 710 IFLA_HSR_SEQ_NR, 711 IFLA_HSR_VERSION, 712 __IFLA_HSR_MAX, 713 }; 714 #define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1) 715 struct if_stats_msg { 716 __u8 family; 717 __u8 pad1; 718 __u16 pad2; 719 __u32 ifindex; 720 __u32 filter_mask; 721 }; 722 enum { 723 IFLA_STATS_UNSPEC, 724 IFLA_STATS_LINK_64, 725 IFLA_STATS_LINK_XSTATS, 726 IFLA_STATS_LINK_XSTATS_SLAVE, 727 IFLA_STATS_LINK_OFFLOAD_XSTATS, 728 IFLA_STATS_AF_SPEC, 729 __IFLA_STATS_MAX, 730 }; 731 #define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1) 732 #define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1)) 733 enum { 734 LINK_XSTATS_TYPE_UNSPEC, 735 LINK_XSTATS_TYPE_BRIDGE, 736 LINK_XSTATS_TYPE_BOND, 737 __LINK_XSTATS_TYPE_MAX 738 }; 739 #define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1) 740 enum { 741 IFLA_OFFLOAD_XSTATS_UNSPEC, 742 IFLA_OFFLOAD_XSTATS_CPU_HIT, 743 __IFLA_OFFLOAD_XSTATS_MAX 744 }; 745 #define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1) 746 #define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0) 747 #define XDP_FLAGS_SKB_MODE (1U << 1) 748 #define XDP_FLAGS_DRV_MODE (1U << 2) 749 #define XDP_FLAGS_HW_MODE (1U << 3) 750 #define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | XDP_FLAGS_DRV_MODE | XDP_FLAGS_HW_MODE) 751 #define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_MODES) 752 enum { 753 XDP_ATTACHED_NONE = 0, 754 XDP_ATTACHED_DRV, 755 XDP_ATTACHED_SKB, 756 XDP_ATTACHED_HW, 757 XDP_ATTACHED_MULTI, 758 }; 759 enum { 760 IFLA_XDP_UNSPEC, 761 IFLA_XDP_FD, 762 IFLA_XDP_ATTACHED, 763 IFLA_XDP_FLAGS, 764 IFLA_XDP_PROG_ID, 765 IFLA_XDP_DRV_PROG_ID, 766 IFLA_XDP_SKB_PROG_ID, 767 IFLA_XDP_HW_PROG_ID, 768 __IFLA_XDP_MAX, 769 }; 770 #define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1) 771 enum { 772 IFLA_EVENT_NONE, 773 IFLA_EVENT_REBOOT, 774 IFLA_EVENT_FEATURES, 775 IFLA_EVENT_BONDING_FAILOVER, 776 IFLA_EVENT_NOTIFY_PEERS, 777 IFLA_EVENT_IGMP_RESEND, 778 IFLA_EVENT_BONDING_OPTIONS, 779 }; 780 enum { 781 IFLA_TUN_UNSPEC, 782 IFLA_TUN_OWNER, 783 IFLA_TUN_GROUP, 784 IFLA_TUN_TYPE, 785 IFLA_TUN_PI, 786 IFLA_TUN_VNET_HDR, 787 IFLA_TUN_PERSIST, 788 IFLA_TUN_MULTI_QUEUE, 789 IFLA_TUN_NUM_QUEUES, 790 IFLA_TUN_NUM_DISABLED_QUEUES, 791 __IFLA_TUN_MAX, 792 }; 793 #define IFLA_TUN_MAX (__IFLA_TUN_MAX - 1) 794 #define RMNET_FLAGS_INGRESS_DEAGGREGATION (1U << 0) 795 #define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1) 796 #define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2) 797 #define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3) 798 enum { 799 IFLA_RMNET_UNSPEC, 800 IFLA_RMNET_MUX_ID, 801 IFLA_RMNET_FLAGS, 802 __IFLA_RMNET_MAX, 803 }; 804 #define IFLA_RMNET_MAX (__IFLA_RMNET_MAX - 1) 805 struct ifla_rmnet_flags { 806 __u32 flags; 807 __u32 mask; 808 }; 809 #endif 810