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