github.com/sagernet/netlink@v0.0.0-20240612041022-b9a21c07ac6a/nl/link_linux.go (about) 1 package nl 2 3 import ( 4 "bytes" 5 "encoding/binary" 6 "unsafe" 7 ) 8 9 const ( 10 DEFAULT_CHANGE = 0xFFFFFFFF 11 ) 12 13 const ( 14 IFLA_INFO_UNSPEC = iota 15 IFLA_INFO_KIND 16 IFLA_INFO_DATA 17 IFLA_INFO_XSTATS 18 IFLA_INFO_SLAVE_KIND 19 IFLA_INFO_SLAVE_DATA 20 IFLA_INFO_MAX = IFLA_INFO_SLAVE_DATA 21 ) 22 23 const ( 24 IFLA_VLAN_UNSPEC = iota 25 IFLA_VLAN_ID 26 IFLA_VLAN_FLAGS 27 IFLA_VLAN_EGRESS_QOS 28 IFLA_VLAN_INGRESS_QOS 29 IFLA_VLAN_PROTOCOL 30 IFLA_VLAN_MAX = IFLA_VLAN_PROTOCOL 31 ) 32 33 const ( 34 VETH_INFO_UNSPEC = iota 35 VETH_INFO_PEER 36 VETH_INFO_MAX = VETH_INFO_PEER 37 ) 38 39 const ( 40 IFLA_VXLAN_UNSPEC = iota 41 IFLA_VXLAN_ID 42 IFLA_VXLAN_GROUP 43 IFLA_VXLAN_LINK 44 IFLA_VXLAN_LOCAL 45 IFLA_VXLAN_TTL 46 IFLA_VXLAN_TOS 47 IFLA_VXLAN_LEARNING 48 IFLA_VXLAN_AGEING 49 IFLA_VXLAN_LIMIT 50 IFLA_VXLAN_PORT_RANGE 51 IFLA_VXLAN_PROXY 52 IFLA_VXLAN_RSC 53 IFLA_VXLAN_L2MISS 54 IFLA_VXLAN_L3MISS 55 IFLA_VXLAN_PORT 56 IFLA_VXLAN_GROUP6 57 IFLA_VXLAN_LOCAL6 58 IFLA_VXLAN_UDP_CSUM 59 IFLA_VXLAN_UDP_ZERO_CSUM6_TX 60 IFLA_VXLAN_UDP_ZERO_CSUM6_RX 61 IFLA_VXLAN_REMCSUM_TX 62 IFLA_VXLAN_REMCSUM_RX 63 IFLA_VXLAN_GBP 64 IFLA_VXLAN_REMCSUM_NOPARTIAL 65 IFLA_VXLAN_FLOWBASED 66 IFLA_VXLAN_MAX = IFLA_VXLAN_FLOWBASED 67 ) 68 69 const ( 70 BRIDGE_MODE_UNSPEC = iota 71 BRIDGE_MODE_HAIRPIN 72 ) 73 74 const ( 75 IFLA_BRPORT_UNSPEC = iota 76 IFLA_BRPORT_STATE 77 IFLA_BRPORT_PRIORITY 78 IFLA_BRPORT_COST 79 IFLA_BRPORT_MODE 80 IFLA_BRPORT_GUARD 81 IFLA_BRPORT_PROTECT 82 IFLA_BRPORT_FAST_LEAVE 83 IFLA_BRPORT_LEARNING 84 IFLA_BRPORT_UNICAST_FLOOD 85 IFLA_BRPORT_PROXYARP 86 IFLA_BRPORT_LEARNING_SYNC 87 IFLA_BRPORT_PROXYARP_WIFI 88 IFLA_BRPORT_MAX = IFLA_BRPORT_PROXYARP_WIFI 89 ) 90 91 const ( 92 IFLA_IPVLAN_UNSPEC = iota 93 IFLA_IPVLAN_MODE 94 IFLA_IPVLAN_FLAG 95 IFLA_IPVLAN_MAX = IFLA_IPVLAN_FLAG 96 ) 97 98 const ( 99 IFLA_MACVLAN_UNSPEC = iota 100 IFLA_MACVLAN_MODE 101 IFLA_MACVLAN_FLAGS 102 IFLA_MACVLAN_MACADDR_MODE 103 IFLA_MACVLAN_MACADDR 104 IFLA_MACVLAN_MACADDR_DATA 105 IFLA_MACVLAN_MACADDR_COUNT 106 IFLA_MACVLAN_MAX = IFLA_MACVLAN_FLAGS 107 ) 108 109 const ( 110 MACVLAN_MODE_PRIVATE = 1 111 MACVLAN_MODE_VEPA = 2 112 MACVLAN_MODE_BRIDGE = 4 113 MACVLAN_MODE_PASSTHRU = 8 114 MACVLAN_MODE_SOURCE = 16 115 ) 116 117 const ( 118 MACVLAN_MACADDR_ADD = iota 119 MACVLAN_MACADDR_DEL 120 MACVLAN_MACADDR_FLUSH 121 MACVLAN_MACADDR_SET 122 ) 123 124 const ( 125 IFLA_BOND_UNSPEC = iota 126 IFLA_BOND_MODE 127 IFLA_BOND_ACTIVE_SLAVE 128 IFLA_BOND_MIIMON 129 IFLA_BOND_UPDELAY 130 IFLA_BOND_DOWNDELAY 131 IFLA_BOND_USE_CARRIER 132 IFLA_BOND_ARP_INTERVAL 133 IFLA_BOND_ARP_IP_TARGET 134 IFLA_BOND_ARP_VALIDATE 135 IFLA_BOND_ARP_ALL_TARGETS 136 IFLA_BOND_PRIMARY 137 IFLA_BOND_PRIMARY_RESELECT 138 IFLA_BOND_FAIL_OVER_MAC 139 IFLA_BOND_XMIT_HASH_POLICY 140 IFLA_BOND_RESEND_IGMP 141 IFLA_BOND_NUM_PEER_NOTIF 142 IFLA_BOND_ALL_SLAVES_ACTIVE 143 IFLA_BOND_MIN_LINKS 144 IFLA_BOND_LP_INTERVAL 145 IFLA_BOND_PACKETS_PER_SLAVE 146 IFLA_BOND_AD_LACP_RATE 147 IFLA_BOND_AD_SELECT 148 IFLA_BOND_AD_INFO 149 IFLA_BOND_AD_ACTOR_SYS_PRIO 150 IFLA_BOND_AD_USER_PORT_KEY 151 IFLA_BOND_AD_ACTOR_SYSTEM 152 IFLA_BOND_TLB_DYNAMIC_LB 153 ) 154 155 const ( 156 IFLA_BOND_AD_INFO_UNSPEC = iota 157 IFLA_BOND_AD_INFO_AGGREGATOR 158 IFLA_BOND_AD_INFO_NUM_PORTS 159 IFLA_BOND_AD_INFO_ACTOR_KEY 160 IFLA_BOND_AD_INFO_PARTNER_KEY 161 IFLA_BOND_AD_INFO_PARTNER_MAC 162 ) 163 164 const ( 165 IFLA_BOND_SLAVE_UNSPEC = iota 166 IFLA_BOND_SLAVE_STATE 167 IFLA_BOND_SLAVE_MII_STATUS 168 IFLA_BOND_SLAVE_LINK_FAILURE_COUNT 169 IFLA_BOND_SLAVE_PERM_HWADDR 170 IFLA_BOND_SLAVE_QUEUE_ID 171 IFLA_BOND_SLAVE_AD_AGGREGATOR_ID 172 IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE 173 IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE 174 ) 175 176 const ( 177 IFLA_GENEVE_UNSPEC = iota 178 IFLA_GENEVE_ID // vni 179 IFLA_GENEVE_REMOTE 180 IFLA_GENEVE_TTL 181 IFLA_GENEVE_TOS 182 IFLA_GENEVE_PORT // destination port 183 IFLA_GENEVE_COLLECT_METADATA 184 IFLA_GENEVE_REMOTE6 185 IFLA_GENEVE_UDP_CSUM 186 IFLA_GENEVE_UDP_ZERO_CSUM6_TX 187 IFLA_GENEVE_UDP_ZERO_CSUM6_RX 188 IFLA_GENEVE_LABEL 189 IFLA_GENEVE_MAX = IFLA_GENEVE_LABEL 190 ) 191 192 const ( 193 IFLA_GRE_UNSPEC = iota 194 IFLA_GRE_LINK 195 IFLA_GRE_IFLAGS 196 IFLA_GRE_OFLAGS 197 IFLA_GRE_IKEY 198 IFLA_GRE_OKEY 199 IFLA_GRE_LOCAL 200 IFLA_GRE_REMOTE 201 IFLA_GRE_TTL 202 IFLA_GRE_TOS 203 IFLA_GRE_PMTUDISC 204 IFLA_GRE_ENCAP_LIMIT 205 IFLA_GRE_FLOWINFO 206 IFLA_GRE_FLAGS 207 IFLA_GRE_ENCAP_TYPE 208 IFLA_GRE_ENCAP_FLAGS 209 IFLA_GRE_ENCAP_SPORT 210 IFLA_GRE_ENCAP_DPORT 211 IFLA_GRE_COLLECT_METADATA 212 IFLA_GRE_MAX = IFLA_GRE_COLLECT_METADATA 213 ) 214 215 const ( 216 GRE_CSUM = 0x8000 217 GRE_ROUTING = 0x4000 218 GRE_KEY = 0x2000 219 GRE_SEQ = 0x1000 220 GRE_STRICT = 0x0800 221 GRE_REC = 0x0700 222 GRE_FLAGS = 0x00F8 223 GRE_VERSION = 0x0007 224 ) 225 226 const ( 227 IFLA_VF_INFO_UNSPEC = iota 228 IFLA_VF_INFO 229 IFLA_VF_INFO_MAX = IFLA_VF_INFO 230 ) 231 232 const ( 233 IFLA_VF_UNSPEC = iota 234 IFLA_VF_MAC /* Hardware queue specific attributes */ 235 IFLA_VF_VLAN 236 IFLA_VF_TX_RATE /* Max TX Bandwidth Allocation */ 237 IFLA_VF_SPOOFCHK /* Spoof Checking on/off switch */ 238 IFLA_VF_LINK_STATE /* link state enable/disable/auto switch */ 239 IFLA_VF_RATE /* Min and Max TX Bandwidth Allocation */ 240 IFLA_VF_RSS_QUERY_EN /* RSS Redirection Table and Hash Key query 241 * on/off switch 242 */ 243 IFLA_VF_STATS /* network device statistics */ 244 IFLA_VF_TRUST /* Trust state of VF */ 245 IFLA_VF_IB_NODE_GUID /* VF Infiniband node GUID */ 246 IFLA_VF_IB_PORT_GUID /* VF Infiniband port GUID */ 247 IFLA_VF_MAX = IFLA_VF_IB_PORT_GUID 248 ) 249 250 const ( 251 IFLA_VF_LINK_STATE_AUTO = iota /* link state of the uplink */ 252 IFLA_VF_LINK_STATE_ENABLE /* link always up */ 253 IFLA_VF_LINK_STATE_DISABLE /* link always down */ 254 IFLA_VF_LINK_STATE_MAX = IFLA_VF_LINK_STATE_DISABLE 255 ) 256 257 const ( 258 IFLA_VF_STATS_RX_PACKETS = iota 259 IFLA_VF_STATS_TX_PACKETS 260 IFLA_VF_STATS_RX_BYTES 261 IFLA_VF_STATS_TX_BYTES 262 IFLA_VF_STATS_BROADCAST 263 IFLA_VF_STATS_MULTICAST 264 IFLA_VF_STATS_RX_DROPPED 265 IFLA_VF_STATS_TX_DROPPED 266 IFLA_VF_STATS_MAX = IFLA_VF_STATS_TX_DROPPED 267 ) 268 269 const ( 270 SizeofVfMac = 0x24 271 SizeofVfVlan = 0x0c 272 SizeofVfTxRate = 0x08 273 SizeofVfRate = 0x0c 274 SizeofVfSpoofchk = 0x08 275 SizeofVfLinkState = 0x08 276 SizeofVfRssQueryEn = 0x08 277 SizeofVfTrust = 0x08 278 SizeofVfGUID = 0x10 279 ) 280 281 // struct ifla_vf_mac { 282 // __u32 vf; 283 // __u8 mac[32]; /* MAX_ADDR_LEN */ 284 // }; 285 286 type VfMac struct { 287 Vf uint32 288 Mac [32]byte 289 } 290 291 func (msg *VfMac) Len() int { 292 return SizeofVfMac 293 } 294 295 func DeserializeVfMac(b []byte) *VfMac { 296 return (*VfMac)(unsafe.Pointer(&b[0:SizeofVfMac][0])) 297 } 298 299 func (msg *VfMac) Serialize() []byte { 300 return (*(*[SizeofVfMac]byte)(unsafe.Pointer(msg)))[:] 301 } 302 303 // struct ifla_vf_vlan { 304 // __u32 vf; 305 // __u32 vlan; /* 0 - 4095, 0 disables VLAN filter */ 306 // __u32 qos; 307 // }; 308 309 type VfVlan struct { 310 Vf uint32 311 Vlan uint32 312 Qos uint32 313 } 314 315 func (msg *VfVlan) Len() int { 316 return SizeofVfVlan 317 } 318 319 func DeserializeVfVlan(b []byte) *VfVlan { 320 return (*VfVlan)(unsafe.Pointer(&b[0:SizeofVfVlan][0])) 321 } 322 323 func (msg *VfVlan) Serialize() []byte { 324 return (*(*[SizeofVfVlan]byte)(unsafe.Pointer(msg)))[:] 325 } 326 327 // struct ifla_vf_tx_rate { 328 // __u32 vf; 329 // __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */ 330 // }; 331 332 type VfTxRate struct { 333 Vf uint32 334 Rate uint32 335 } 336 337 func (msg *VfTxRate) Len() int { 338 return SizeofVfTxRate 339 } 340 341 func DeserializeVfTxRate(b []byte) *VfTxRate { 342 return (*VfTxRate)(unsafe.Pointer(&b[0:SizeofVfTxRate][0])) 343 } 344 345 func (msg *VfTxRate) Serialize() []byte { 346 return (*(*[SizeofVfTxRate]byte)(unsafe.Pointer(msg)))[:] 347 } 348 349 //struct ifla_vf_stats { 350 // __u64 rx_packets; 351 // __u64 tx_packets; 352 // __u64 rx_bytes; 353 // __u64 tx_bytes; 354 // __u64 broadcast; 355 // __u64 multicast; 356 //}; 357 358 type VfStats struct { 359 RxPackets uint64 360 TxPackets uint64 361 RxBytes uint64 362 TxBytes uint64 363 Multicast uint64 364 Broadcast uint64 365 RxDropped uint64 366 TxDropped uint64 367 } 368 369 func DeserializeVfStats(b []byte) VfStats { 370 var vfstat VfStats 371 stats, err := ParseRouteAttr(b) 372 if err != nil { 373 return vfstat 374 } 375 var valueVar uint64 376 for _, stat := range stats { 377 if err := binary.Read(bytes.NewBuffer(stat.Value), NativeEndian(), &valueVar); err != nil { 378 break 379 } 380 switch stat.Attr.Type { 381 case IFLA_VF_STATS_RX_PACKETS: 382 vfstat.RxPackets = valueVar 383 case IFLA_VF_STATS_TX_PACKETS: 384 vfstat.TxPackets = valueVar 385 case IFLA_VF_STATS_RX_BYTES: 386 vfstat.RxBytes = valueVar 387 case IFLA_VF_STATS_TX_BYTES: 388 vfstat.TxBytes = valueVar 389 case IFLA_VF_STATS_MULTICAST: 390 vfstat.Multicast = valueVar 391 case IFLA_VF_STATS_BROADCAST: 392 vfstat.Broadcast = valueVar 393 case IFLA_VF_STATS_RX_DROPPED: 394 vfstat.RxDropped = valueVar 395 case IFLA_VF_STATS_TX_DROPPED: 396 vfstat.TxDropped = valueVar 397 } 398 } 399 return vfstat 400 } 401 402 // struct ifla_vf_rate { 403 // __u32 vf; 404 // __u32 min_tx_rate; /* Min Bandwidth in Mbps */ 405 // __u32 max_tx_rate; /* Max Bandwidth in Mbps */ 406 // }; 407 408 type VfRate struct { 409 Vf uint32 410 MinTxRate uint32 411 MaxTxRate uint32 412 } 413 414 func (msg *VfRate) Len() int { 415 return SizeofVfRate 416 } 417 418 func DeserializeVfRate(b []byte) *VfRate { 419 return (*VfRate)(unsafe.Pointer(&b[0:SizeofVfRate][0])) 420 } 421 422 func (msg *VfRate) Serialize() []byte { 423 return (*(*[SizeofVfRate]byte)(unsafe.Pointer(msg)))[:] 424 } 425 426 // struct ifla_vf_spoofchk { 427 // __u32 vf; 428 // __u32 setting; 429 // }; 430 431 type VfSpoofchk struct { 432 Vf uint32 433 Setting uint32 434 } 435 436 func (msg *VfSpoofchk) Len() int { 437 return SizeofVfSpoofchk 438 } 439 440 func DeserializeVfSpoofchk(b []byte) *VfSpoofchk { 441 return (*VfSpoofchk)(unsafe.Pointer(&b[0:SizeofVfSpoofchk][0])) 442 } 443 444 func (msg *VfSpoofchk) Serialize() []byte { 445 return (*(*[SizeofVfSpoofchk]byte)(unsafe.Pointer(msg)))[:] 446 } 447 448 // struct ifla_vf_link_state { 449 // __u32 vf; 450 // __u32 link_state; 451 // }; 452 453 type VfLinkState struct { 454 Vf uint32 455 LinkState uint32 456 } 457 458 func (msg *VfLinkState) Len() int { 459 return SizeofVfLinkState 460 } 461 462 func DeserializeVfLinkState(b []byte) *VfLinkState { 463 return (*VfLinkState)(unsafe.Pointer(&b[0:SizeofVfLinkState][0])) 464 } 465 466 func (msg *VfLinkState) Serialize() []byte { 467 return (*(*[SizeofVfLinkState]byte)(unsafe.Pointer(msg)))[:] 468 } 469 470 // struct ifla_vf_rss_query_en { 471 // __u32 vf; 472 // __u32 setting; 473 // }; 474 475 type VfRssQueryEn struct { 476 Vf uint32 477 Setting uint32 478 } 479 480 func (msg *VfRssQueryEn) Len() int { 481 return SizeofVfRssQueryEn 482 } 483 484 func DeserializeVfRssQueryEn(b []byte) *VfRssQueryEn { 485 return (*VfRssQueryEn)(unsafe.Pointer(&b[0:SizeofVfRssQueryEn][0])) 486 } 487 488 func (msg *VfRssQueryEn) Serialize() []byte { 489 return (*(*[SizeofVfRssQueryEn]byte)(unsafe.Pointer(msg)))[:] 490 } 491 492 // struct ifla_vf_trust { 493 // __u32 vf; 494 // __u32 setting; 495 // }; 496 497 type VfTrust struct { 498 Vf uint32 499 Setting uint32 500 } 501 502 func (msg *VfTrust) Len() int { 503 return SizeofVfTrust 504 } 505 506 func DeserializeVfTrust(b []byte) *VfTrust { 507 return (*VfTrust)(unsafe.Pointer(&b[0:SizeofVfTrust][0])) 508 } 509 510 func (msg *VfTrust) Serialize() []byte { 511 return (*(*[SizeofVfTrust]byte)(unsafe.Pointer(msg)))[:] 512 } 513 514 // struct ifla_vf_guid { 515 // __u32 vf; 516 // __u32 rsvd; 517 // __u64 guid; 518 // }; 519 520 type VfGUID struct { 521 Vf uint32 522 Rsvd uint32 523 GUID uint64 524 } 525 526 func (msg *VfGUID) Len() int { 527 return SizeofVfGUID 528 } 529 530 func DeserializeVfGUID(b []byte) *VfGUID { 531 return (*VfGUID)(unsafe.Pointer(&b[0:SizeofVfGUID][0])) 532 } 533 534 func (msg *VfGUID) Serialize() []byte { 535 return (*(*[SizeofVfGUID]byte)(unsafe.Pointer(msg)))[:] 536 } 537 538 const ( 539 XDP_FLAGS_UPDATE_IF_NOEXIST = 1 << iota 540 XDP_FLAGS_SKB_MODE 541 XDP_FLAGS_DRV_MODE 542 XDP_FLAGS_MASK = XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_SKB_MODE | XDP_FLAGS_DRV_MODE 543 ) 544 545 const ( 546 IFLA_XDP_UNSPEC = iota 547 IFLA_XDP_FD /* fd of xdp program to attach, or -1 to remove */ 548 IFLA_XDP_ATTACHED /* read-only bool indicating if prog is attached */ 549 IFLA_XDP_FLAGS /* xdp prog related flags */ 550 IFLA_XDP_PROG_ID /* xdp prog id */ 551 IFLA_XDP_MAX = IFLA_XDP_PROG_ID 552 ) 553 554 // XDP program attach mode (used as dump value for IFLA_XDP_ATTACHED) 555 const ( 556 XDP_ATTACHED_NONE = iota 557 XDP_ATTACHED_DRV 558 XDP_ATTACHED_SKB 559 XDP_ATTACHED_HW 560 ) 561 562 const ( 563 IFLA_IPTUN_UNSPEC = iota 564 IFLA_IPTUN_LINK 565 IFLA_IPTUN_LOCAL 566 IFLA_IPTUN_REMOTE 567 IFLA_IPTUN_TTL 568 IFLA_IPTUN_TOS 569 IFLA_IPTUN_ENCAP_LIMIT 570 IFLA_IPTUN_FLOWINFO 571 IFLA_IPTUN_FLAGS 572 IFLA_IPTUN_PROTO 573 IFLA_IPTUN_PMTUDISC 574 IFLA_IPTUN_6RD_PREFIX 575 IFLA_IPTUN_6RD_RELAY_PREFIX 576 IFLA_IPTUN_6RD_PREFIXLEN 577 IFLA_IPTUN_6RD_RELAY_PREFIXLEN 578 IFLA_IPTUN_ENCAP_TYPE 579 IFLA_IPTUN_ENCAP_FLAGS 580 IFLA_IPTUN_ENCAP_SPORT 581 IFLA_IPTUN_ENCAP_DPORT 582 IFLA_IPTUN_COLLECT_METADATA 583 IFLA_IPTUN_MAX = IFLA_IPTUN_COLLECT_METADATA 584 ) 585 586 const ( 587 IFLA_VTI_UNSPEC = iota 588 IFLA_VTI_LINK 589 IFLA_VTI_IKEY 590 IFLA_VTI_OKEY 591 IFLA_VTI_LOCAL 592 IFLA_VTI_REMOTE 593 IFLA_VTI_MAX = IFLA_VTI_REMOTE 594 ) 595 596 const ( 597 IFLA_VRF_UNSPEC = iota 598 IFLA_VRF_TABLE 599 ) 600 601 const ( 602 IFLA_BR_UNSPEC = iota 603 IFLA_BR_FORWARD_DELAY 604 IFLA_BR_HELLO_TIME 605 IFLA_BR_MAX_AGE 606 IFLA_BR_AGEING_TIME 607 IFLA_BR_STP_STATE 608 IFLA_BR_PRIORITY 609 IFLA_BR_VLAN_FILTERING 610 IFLA_BR_VLAN_PROTOCOL 611 IFLA_BR_GROUP_FWD_MASK 612 IFLA_BR_ROOT_ID 613 IFLA_BR_BRIDGE_ID 614 IFLA_BR_ROOT_PORT 615 IFLA_BR_ROOT_PATH_COST 616 IFLA_BR_TOPOLOGY_CHANGE 617 IFLA_BR_TOPOLOGY_CHANGE_DETECTED 618 IFLA_BR_HELLO_TIMER 619 IFLA_BR_TCN_TIMER 620 IFLA_BR_TOPOLOGY_CHANGE_TIMER 621 IFLA_BR_GC_TIMER 622 IFLA_BR_GROUP_ADDR 623 IFLA_BR_FDB_FLUSH 624 IFLA_BR_MCAST_ROUTER 625 IFLA_BR_MCAST_SNOOPING 626 IFLA_BR_MCAST_QUERY_USE_IFADDR 627 IFLA_BR_MCAST_QUERIER 628 IFLA_BR_MCAST_HASH_ELASTICITY 629 IFLA_BR_MCAST_HASH_MAX 630 IFLA_BR_MCAST_LAST_MEMBER_CNT 631 IFLA_BR_MCAST_STARTUP_QUERY_CNT 632 IFLA_BR_MCAST_LAST_MEMBER_INTVL 633 IFLA_BR_MCAST_MEMBERSHIP_INTVL 634 IFLA_BR_MCAST_QUERIER_INTVL 635 IFLA_BR_MCAST_QUERY_INTVL 636 IFLA_BR_MCAST_QUERY_RESPONSE_INTVL 637 IFLA_BR_MCAST_STARTUP_QUERY_INTVL 638 IFLA_BR_NF_CALL_IPTABLES 639 IFLA_BR_NF_CALL_IP6TABLES 640 IFLA_BR_NF_CALL_ARPTABLES 641 IFLA_BR_VLAN_DEFAULT_PVID 642 IFLA_BR_PAD 643 IFLA_BR_VLAN_STATS_ENABLED 644 IFLA_BR_MCAST_STATS_ENABLED 645 IFLA_BR_MCAST_IGMP_VERSION 646 IFLA_BR_MCAST_MLD_VERSION 647 IFLA_BR_MAX = IFLA_BR_MCAST_MLD_VERSION 648 ) 649 650 const ( 651 IFLA_GTP_UNSPEC = iota 652 IFLA_GTP_FD0 653 IFLA_GTP_FD1 654 IFLA_GTP_PDP_HASHSIZE 655 IFLA_GTP_ROLE 656 ) 657 658 const ( 659 GTP_ROLE_GGSN = iota 660 GTP_ROLE_SGSN 661 ) 662 663 const ( 664 IFLA_XFRM_UNSPEC = iota 665 IFLA_XFRM_LINK 666 IFLA_XFRM_IF_ID 667 668 IFLA_XFRM_MAX = iota - 1 669 ) 670 671 const ( 672 IFLA_TUN_UNSPEC = iota 673 IFLA_TUN_OWNER 674 IFLA_TUN_GROUP 675 IFLA_TUN_TYPE 676 IFLA_TUN_PI 677 IFLA_TUN_VNET_HDR 678 IFLA_TUN_PERSIST 679 IFLA_TUN_MULTI_QUEUE 680 IFLA_TUN_NUM_QUEUES 681 IFLA_TUN_NUM_DISABLED_QUEUES 682 IFLA_TUN_MAX = IFLA_TUN_NUM_DISABLED_QUEUES 683 ) 684 685 const ( 686 IFLA_IPOIB_UNSPEC = iota 687 IFLA_IPOIB_PKEY 688 IFLA_IPOIB_MODE 689 IFLA_IPOIB_UMCAST 690 IFLA_IPOIB_MAX = IFLA_IPOIB_UMCAST 691 ) 692 693 const ( 694 IFLA_CAN_UNSPEC = iota 695 IFLA_CAN_BITTIMING 696 IFLA_CAN_BITTIMING_CONST 697 IFLA_CAN_CLOCK 698 IFLA_CAN_STATE 699 IFLA_CAN_CTRLMODE 700 IFLA_CAN_RESTART_MS 701 IFLA_CAN_RESTART 702 IFLA_CAN_BERR_COUNTER 703 IFLA_CAN_DATA_BITTIMING 704 IFLA_CAN_DATA_BITTIMING_CONST 705 IFLA_CAN_TERMINATION 706 IFLA_CAN_TERMINATION_CONST 707 IFLA_CAN_BITRATE_CONST 708 IFLA_CAN_DATA_BITRATE_CONST 709 IFLA_CAN_BITRATE_MAX 710 IFLA_CAN_MAX = IFLA_CAN_BITRATE_MAX 711 ) 712 713 const ( 714 IFLA_BAREUDP_UNSPEC = iota 715 IFLA_BAREUDP_PORT 716 IFLA_BAREUDP_ETHERTYPE 717 IFLA_BAREUDP_SRCPORT_MIN 718 IFLA_BAREUDP_MULTIPROTO_MODE 719 IFLA_BAREUDP_MAX = IFLA_BAREUDP_MULTIPROTO_MODE 720 ) 721 722 const ( 723 IFLA_UNSPEC = iota 724 IFLA_GRO_MAX_SIZE = 0x3a 725 )