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