1package nl 2 3import ( 4 "unsafe" 5) 6 7const ( 8 DEFAULT_CHANGE = 0xFFFFFFFF 9) 10 11const ( 12 IFLA_INFO_UNSPEC = iota 13 IFLA_INFO_KIND 14 IFLA_INFO_DATA 15 IFLA_INFO_XSTATS 16 IFLA_INFO_MAX = IFLA_INFO_XSTATS 17) 18 19const ( 20 IFLA_VLAN_UNSPEC = iota 21 IFLA_VLAN_ID 22 IFLA_VLAN_FLAGS 23 IFLA_VLAN_EGRESS_QOS 24 IFLA_VLAN_INGRESS_QOS 25 IFLA_VLAN_PROTOCOL 26 IFLA_VLAN_MAX = IFLA_VLAN_PROTOCOL 27) 28 29const ( 30 VETH_INFO_UNSPEC = iota 31 VETH_INFO_PEER 32 VETH_INFO_MAX = VETH_INFO_PEER 33) 34 35const ( 36 IFLA_VXLAN_UNSPEC = iota 37 IFLA_VXLAN_ID 38 IFLA_VXLAN_GROUP 39 IFLA_VXLAN_LINK 40 IFLA_VXLAN_LOCAL 41 IFLA_VXLAN_TTL 42 IFLA_VXLAN_TOS 43 IFLA_VXLAN_LEARNING 44 IFLA_VXLAN_AGEING 45 IFLA_VXLAN_LIMIT 46 IFLA_VXLAN_PORT_RANGE 47 IFLA_VXLAN_PROXY 48 IFLA_VXLAN_RSC 49 IFLA_VXLAN_L2MISS 50 IFLA_VXLAN_L3MISS 51 IFLA_VXLAN_PORT 52 IFLA_VXLAN_GROUP6 53 IFLA_VXLAN_LOCAL6 54 IFLA_VXLAN_UDP_CSUM 55 IFLA_VXLAN_UDP_ZERO_CSUM6_TX 56 IFLA_VXLAN_UDP_ZERO_CSUM6_RX 57 IFLA_VXLAN_REMCSUM_TX 58 IFLA_VXLAN_REMCSUM_RX 59 IFLA_VXLAN_GBP 60 IFLA_VXLAN_REMCSUM_NOPARTIAL 61 IFLA_VXLAN_FLOWBASED 62 IFLA_VXLAN_MAX = IFLA_VXLAN_FLOWBASED 63) 64 65const ( 66 BRIDGE_MODE_UNSPEC = iota 67 BRIDGE_MODE_HAIRPIN 68) 69 70const ( 71 IFLA_BRPORT_UNSPEC = iota 72 IFLA_BRPORT_STATE 73 IFLA_BRPORT_PRIORITY 74 IFLA_BRPORT_COST 75 IFLA_BRPORT_MODE 76 IFLA_BRPORT_GUARD 77 IFLA_BRPORT_PROTECT 78 IFLA_BRPORT_FAST_LEAVE 79 IFLA_BRPORT_LEARNING 80 IFLA_BRPORT_UNICAST_FLOOD 81 IFLA_BRPORT_PROXYARP 82 IFLA_BRPORT_LEARNING_SYNC 83 IFLA_BRPORT_PROXYARP_WIFI 84 IFLA_BRPORT_MAX = IFLA_BRPORT_PROXYARP_WIFI 85) 86 87const ( 88 IFLA_IPVLAN_UNSPEC = iota 89 IFLA_IPVLAN_MODE 90 IFLA_IPVLAN_MAX = IFLA_IPVLAN_MODE 91) 92 93const ( 94 IFLA_MACVLAN_UNSPEC = iota 95 IFLA_MACVLAN_MODE 96 IFLA_MACVLAN_FLAGS 97 IFLA_MACVLAN_MACADDR_MODE 98 IFLA_MACVLAN_MACADDR 99 IFLA_MACVLAN_MACADDR_DATA 100 IFLA_MACVLAN_MACADDR_COUNT 101 IFLA_MACVLAN_MAX = IFLA_MACVLAN_FLAGS 102) 103 104const ( 105 MACVLAN_MODE_PRIVATE = 1 106 MACVLAN_MODE_VEPA = 2 107 MACVLAN_MODE_BRIDGE = 4 108 MACVLAN_MODE_PASSTHRU = 8 109 MACVLAN_MODE_SOURCE = 16 110) 111 112const ( 113 MACVLAN_MACADDR_ADD = iota 114 MACVLAN_MACADDR_DEL 115 MACVLAN_MACADDR_FLUSH 116 MACVLAN_MACADDR_SET 117) 118 119const ( 120 IFLA_BOND_UNSPEC = iota 121 IFLA_BOND_MODE 122 IFLA_BOND_ACTIVE_SLAVE 123 IFLA_BOND_MIIMON 124 IFLA_BOND_UPDELAY 125 IFLA_BOND_DOWNDELAY 126 IFLA_BOND_USE_CARRIER 127 IFLA_BOND_ARP_INTERVAL 128 IFLA_BOND_ARP_IP_TARGET 129 IFLA_BOND_ARP_VALIDATE 130 IFLA_BOND_ARP_ALL_TARGETS 131 IFLA_BOND_PRIMARY 132 IFLA_BOND_PRIMARY_RESELECT 133 IFLA_BOND_FAIL_OVER_MAC 134 IFLA_BOND_XMIT_HASH_POLICY 135 IFLA_BOND_RESEND_IGMP 136 IFLA_BOND_NUM_PEER_NOTIF 137 IFLA_BOND_ALL_SLAVES_ACTIVE 138 IFLA_BOND_MIN_LINKS 139 IFLA_BOND_LP_INTERVAL 140 IFLA_BOND_PACKETS_PER_SLAVE 141 IFLA_BOND_AD_LACP_RATE 142 IFLA_BOND_AD_SELECT 143 IFLA_BOND_AD_INFO 144 IFLA_BOND_AD_ACTOR_SYS_PRIO 145 IFLA_BOND_AD_USER_PORT_KEY 146 IFLA_BOND_AD_ACTOR_SYSTEM 147 IFLA_BOND_TLB_DYNAMIC_LB 148) 149 150const ( 151 IFLA_BOND_AD_INFO_UNSPEC = iota 152 IFLA_BOND_AD_INFO_AGGREGATOR 153 IFLA_BOND_AD_INFO_NUM_PORTS 154 IFLA_BOND_AD_INFO_ACTOR_KEY 155 IFLA_BOND_AD_INFO_PARTNER_KEY 156 IFLA_BOND_AD_INFO_PARTNER_MAC 157) 158 159const ( 160 IFLA_BOND_SLAVE_UNSPEC = iota 161 IFLA_BOND_SLAVE_STATE 162 IFLA_BOND_SLAVE_MII_STATUS 163 IFLA_BOND_SLAVE_LINK_FAILURE_COUNT 164 IFLA_BOND_SLAVE_PERM_HWADDR 165 IFLA_BOND_SLAVE_QUEUE_ID 166 IFLA_BOND_SLAVE_AD_AGGREGATOR_ID 167) 168 169const ( 170 IFLA_GRE_UNSPEC = iota 171 IFLA_GRE_LINK 172 IFLA_GRE_IFLAGS 173 IFLA_GRE_OFLAGS 174 IFLA_GRE_IKEY 175 IFLA_GRE_OKEY 176 IFLA_GRE_LOCAL 177 IFLA_GRE_REMOTE 178 IFLA_GRE_TTL 179 IFLA_GRE_TOS 180 IFLA_GRE_PMTUDISC 181 IFLA_GRE_ENCAP_LIMIT 182 IFLA_GRE_FLOWINFO 183 IFLA_GRE_FLAGS 184 IFLA_GRE_ENCAP_TYPE 185 IFLA_GRE_ENCAP_FLAGS 186 IFLA_GRE_ENCAP_SPORT 187 IFLA_GRE_ENCAP_DPORT 188 IFLA_GRE_COLLECT_METADATA 189 IFLA_GRE_MAX = IFLA_GRE_COLLECT_METADATA 190) 191 192const ( 193 GRE_CSUM = 0x8000 194 GRE_ROUTING = 0x4000 195 GRE_KEY = 0x2000 196 GRE_SEQ = 0x1000 197 GRE_STRICT = 0x0800 198 GRE_REC = 0x0700 199 GRE_FLAGS = 0x00F8 200 GRE_VERSION = 0x0007 201) 202 203const ( 204 IFLA_VF_INFO_UNSPEC = iota 205 IFLA_VF_INFO 206 IFLA_VF_INFO_MAX = IFLA_VF_INFO 207) 208 209const ( 210 IFLA_VF_UNSPEC = iota 211 IFLA_VF_MAC /* Hardware queue specific attributes */ 212 IFLA_VF_VLAN 213 IFLA_VF_TX_RATE /* Max TX Bandwidth Allocation */ 214 IFLA_VF_SPOOFCHK /* Spoof Checking on/off switch */ 215 IFLA_VF_LINK_STATE /* link state enable/disable/auto switch */ 216 IFLA_VF_RATE /* Min and Max TX Bandwidth Allocation */ 217 IFLA_VF_RSS_QUERY_EN /* RSS Redirection Table and Hash Key query 218 * on/off switch 219 */ 220 IFLA_VF_STATS /* network device statistics */ 221 IFLA_VF_TRUST /* Trust state of VF */ 222 IFLA_VF_MAX = IFLA_VF_TRUST 223) 224 225const ( 226 IFLA_VF_LINK_STATE_AUTO = iota /* link state of the uplink */ 227 IFLA_VF_LINK_STATE_ENABLE /* link always up */ 228 IFLA_VF_LINK_STATE_DISABLE /* link always down */ 229 IFLA_VF_LINK_STATE_MAX = IFLA_VF_LINK_STATE_DISABLE 230) 231 232const ( 233 IFLA_VF_STATS_RX_PACKETS = iota 234 IFLA_VF_STATS_TX_PACKETS 235 IFLA_VF_STATS_RX_BYTES 236 IFLA_VF_STATS_TX_BYTES 237 IFLA_VF_STATS_BROADCAST 238 IFLA_VF_STATS_MULTICAST 239 IFLA_VF_STATS_MAX = IFLA_VF_STATS_MULTICAST 240) 241 242const ( 243 SizeofVfMac = 0x24 244 SizeofVfVlan = 0x0c 245 SizeofVfTxRate = 0x08 246 SizeofVfRate = 0x0c 247 SizeofVfSpoofchk = 0x08 248 SizeofVfLinkState = 0x08 249 SizeofVfRssQueryEn = 0x08 250 SizeofVfTrust = 0x08 251) 252 253// struct ifla_vf_mac { 254// __u32 vf; 255// __u8 mac[32]; /* MAX_ADDR_LEN */ 256// }; 257 258type VfMac struct { 259 Vf uint32 260 Mac [32]byte 261} 262 263func (msg *VfMac) Len() int { 264 return SizeofVfMac 265} 266 267func DeserializeVfMac(b []byte) *VfMac { 268 return (*VfMac)(unsafe.Pointer(&b[0:SizeofVfMac][0])) 269} 270 271func (msg *VfMac) Serialize() []byte { 272 return (*(*[SizeofVfMac]byte)(unsafe.Pointer(msg)))[:] 273} 274 275// struct ifla_vf_vlan { 276// __u32 vf; 277// __u32 vlan; /* 0 - 4095, 0 disables VLAN filter */ 278// __u32 qos; 279// }; 280 281type VfVlan struct { 282 Vf uint32 283 Vlan uint32 284 Qos uint32 285} 286 287func (msg *VfVlan) Len() int { 288 return SizeofVfVlan 289} 290 291func DeserializeVfVlan(b []byte) *VfVlan { 292 return (*VfVlan)(unsafe.Pointer(&b[0:SizeofVfVlan][0])) 293} 294 295func (msg *VfVlan) Serialize() []byte { 296 return (*(*[SizeofVfVlan]byte)(unsafe.Pointer(msg)))[:] 297} 298 299// struct ifla_vf_tx_rate { 300// __u32 vf; 301// __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */ 302// }; 303 304type VfTxRate struct { 305 Vf uint32 306 Rate uint32 307} 308 309func (msg *VfTxRate) Len() int { 310 return SizeofVfTxRate 311} 312 313func DeserializeVfTxRate(b []byte) *VfTxRate { 314 return (*VfTxRate)(unsafe.Pointer(&b[0:SizeofVfTxRate][0])) 315} 316 317func (msg *VfTxRate) Serialize() []byte { 318 return (*(*[SizeofVfTxRate]byte)(unsafe.Pointer(msg)))[:] 319} 320 321// struct ifla_vf_rate { 322// __u32 vf; 323// __u32 min_tx_rate; /* Min Bandwidth in Mbps */ 324// __u32 max_tx_rate; /* Max Bandwidth in Mbps */ 325// }; 326 327type VfRate struct { 328 Vf uint32 329 MinTxRate uint32 330 MaxTxRate uint32 331} 332 333func (msg *VfRate) Len() int { 334 return SizeofVfRate 335} 336 337func DeserializeVfRate(b []byte) *VfRate { 338 return (*VfRate)(unsafe.Pointer(&b[0:SizeofVfRate][0])) 339} 340 341func (msg *VfRate) Serialize() []byte { 342 return (*(*[SizeofVfRate]byte)(unsafe.Pointer(msg)))[:] 343} 344 345// struct ifla_vf_spoofchk { 346// __u32 vf; 347// __u32 setting; 348// }; 349 350type VfSpoofchk struct { 351 Vf uint32 352 Setting uint32 353} 354 355func (msg *VfSpoofchk) Len() int { 356 return SizeofVfSpoofchk 357} 358 359func DeserializeVfSpoofchk(b []byte) *VfSpoofchk { 360 return (*VfSpoofchk)(unsafe.Pointer(&b[0:SizeofVfSpoofchk][0])) 361} 362 363func (msg *VfSpoofchk) Serialize() []byte { 364 return (*(*[SizeofVfSpoofchk]byte)(unsafe.Pointer(msg)))[:] 365} 366 367// struct ifla_vf_link_state { 368// __u32 vf; 369// __u32 link_state; 370// }; 371 372type VfLinkState struct { 373 Vf uint32 374 LinkState uint32 375} 376 377func (msg *VfLinkState) Len() int { 378 return SizeofVfLinkState 379} 380 381func DeserializeVfLinkState(b []byte) *VfLinkState { 382 return (*VfLinkState)(unsafe.Pointer(&b[0:SizeofVfLinkState][0])) 383} 384 385func (msg *VfLinkState) Serialize() []byte { 386 return (*(*[SizeofVfLinkState]byte)(unsafe.Pointer(msg)))[:] 387} 388 389// struct ifla_vf_rss_query_en { 390// __u32 vf; 391// __u32 setting; 392// }; 393 394type VfRssQueryEn struct { 395 Vf uint32 396 Setting uint32 397} 398 399func (msg *VfRssQueryEn) Len() int { 400 return SizeofVfRssQueryEn 401} 402 403func DeserializeVfRssQueryEn(b []byte) *VfRssQueryEn { 404 return (*VfRssQueryEn)(unsafe.Pointer(&b[0:SizeofVfRssQueryEn][0])) 405} 406 407func (msg *VfRssQueryEn) Serialize() []byte { 408 return (*(*[SizeofVfRssQueryEn]byte)(unsafe.Pointer(msg)))[:] 409} 410 411// struct ifla_vf_trust { 412// __u32 vf; 413// __u32 setting; 414// }; 415 416type VfTrust struct { 417 Vf uint32 418 Setting uint32 419} 420 421func (msg *VfTrust) Len() int { 422 return SizeofVfTrust 423} 424 425func DeserializeVfTrust(b []byte) *VfTrust { 426 return (*VfTrust)(unsafe.Pointer(&b[0:SizeofVfTrust][0])) 427} 428 429func (msg *VfTrust) Serialize() []byte { 430 return (*(*[SizeofVfTrust]byte)(unsafe.Pointer(msg)))[:] 431} 432 433const ( 434 XDP_FLAGS_UPDATE_IF_NOEXIST = 1 << iota 435 XDP_FLAGS_SKB_MODE 436 XDP_FLAGS_DRV_MODE 437 XDP_FLAGS_MASK = XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_SKB_MODE | XDP_FLAGS_DRV_MODE 438) 439 440const ( 441 IFLA_XDP_UNSPEC = iota 442 IFLA_XDP_FD /* fd of xdp program to attach, or -1 to remove */ 443 IFLA_XDP_ATTACHED /* read-only bool indicating if prog is attached */ 444 IFLA_XDP_FLAGS /* xdp prog related flags */ 445 IFLA_XDP_PROG_ID /* xdp prog id */ 446 IFLA_XDP_MAX = IFLA_XDP_PROG_ID 447) 448 449const ( 450 IFLA_IPTUN_UNSPEC = iota 451 IFLA_IPTUN_LINK 452 IFLA_IPTUN_LOCAL 453 IFLA_IPTUN_REMOTE 454 IFLA_IPTUN_TTL 455 IFLA_IPTUN_TOS 456 IFLA_IPTUN_ENCAP_LIMIT 457 IFLA_IPTUN_FLOWINFO 458 IFLA_IPTUN_FLAGS 459 IFLA_IPTUN_PROTO 460 IFLA_IPTUN_PMTUDISC 461 IFLA_IPTUN_6RD_PREFIX 462 IFLA_IPTUN_6RD_RELAY_PREFIX 463 IFLA_IPTUN_6RD_PREFIXLEN 464 IFLA_IPTUN_6RD_RELAY_PREFIXLEN 465 IFLA_IPTUN_ENCAP_TYPE 466 IFLA_IPTUN_ENCAP_FLAGS 467 IFLA_IPTUN_ENCAP_SPORT 468 IFLA_IPTUN_ENCAP_DPORT 469 IFLA_IPTUN_COLLECT_METADATA 470 IFLA_IPTUN_MAX = IFLA_IPTUN_COLLECT_METADATA 471) 472 473const ( 474 IFLA_VTI_UNSPEC = iota 475 IFLA_VTI_LINK 476 IFLA_VTI_IKEY 477 IFLA_VTI_OKEY 478 IFLA_VTI_LOCAL 479 IFLA_VTI_REMOTE 480 IFLA_VTI_MAX = IFLA_VTI_REMOTE 481) 482 483const ( 484 IFLA_VRF_UNSPEC = iota 485 IFLA_VRF_TABLE 486) 487 488const ( 489 IFLA_BR_UNSPEC = iota 490 IFLA_BR_FORWARD_DELAY 491 IFLA_BR_HELLO_TIME 492 IFLA_BR_MAX_AGE 493 IFLA_BR_AGEING_TIME 494 IFLA_BR_STP_STATE 495 IFLA_BR_PRIORITY 496 IFLA_BR_VLAN_FILTERING 497 IFLA_BR_VLAN_PROTOCOL 498 IFLA_BR_GROUP_FWD_MASK 499 IFLA_BR_ROOT_ID 500 IFLA_BR_BRIDGE_ID 501 IFLA_BR_ROOT_PORT 502 IFLA_BR_ROOT_PATH_COST 503 IFLA_BR_TOPOLOGY_CHANGE 504 IFLA_BR_TOPOLOGY_CHANGE_DETECTED 505 IFLA_BR_HELLO_TIMER 506 IFLA_BR_TCN_TIMER 507 IFLA_BR_TOPOLOGY_CHANGE_TIMER 508 IFLA_BR_GC_TIMER 509 IFLA_BR_GROUP_ADDR 510 IFLA_BR_FDB_FLUSH 511 IFLA_BR_MCAST_ROUTER 512 IFLA_BR_MCAST_SNOOPING 513 IFLA_BR_MCAST_QUERY_USE_IFADDR 514 IFLA_BR_MCAST_QUERIER 515 IFLA_BR_MCAST_HASH_ELASTICITY 516 IFLA_BR_MCAST_HASH_MAX 517 IFLA_BR_MCAST_LAST_MEMBER_CNT 518 IFLA_BR_MCAST_STARTUP_QUERY_CNT 519 IFLA_BR_MCAST_LAST_MEMBER_INTVL 520 IFLA_BR_MCAST_MEMBERSHIP_INTVL 521 IFLA_BR_MCAST_QUERIER_INTVL 522 IFLA_BR_MCAST_QUERY_INTVL 523 IFLA_BR_MCAST_QUERY_RESPONSE_INTVL 524 IFLA_BR_MCAST_STARTUP_QUERY_INTVL 525 IFLA_BR_NF_CALL_IPTABLES 526 IFLA_BR_NF_CALL_IP6TABLES 527 IFLA_BR_NF_CALL_ARPTABLES 528 IFLA_BR_VLAN_DEFAULT_PVID 529 IFLA_BR_PAD 530 IFLA_BR_VLAN_STATS_ENABLED 531 IFLA_BR_MCAST_STATS_ENABLED 532 IFLA_BR_MCAST_IGMP_VERSION 533 IFLA_BR_MCAST_MLD_VERSION 534 IFLA_BR_MAX = IFLA_BR_MCAST_MLD_VERSION 535) 536 537const ( 538 IFLA_GTP_UNSPEC = iota 539 IFLA_GTP_FD0 540 IFLA_GTP_FD1 541 IFLA_GTP_PDP_HASHSIZE 542 IFLA_GTP_ROLE 543) 544 545const ( 546 GTP_ROLE_GGSN = iota 547 GTP_ROLE_SGSN 548) 549