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