go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2210/ip/ip.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 3 // Package ip contains generated bindings for API file ip.api. 4 // 5 // Contents: 6 // - 2 enums 7 // - 7 structs 8 // - 91 messages 9 package ip 10 11 import ( 12 "strconv" 13 14 api "go.fd.io/govpp/api" 15 codec "go.fd.io/govpp/codec" 16 _ "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/ethernet_types" 17 fib_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/fib_types" 18 interface_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/interface_types" 19 ip_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/ip_types" 20 mfib_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/mfib_types" 21 ) 22 23 // This is a compile-time assertion to ensure that this generated file 24 // is compatible with the GoVPP api package it is being compiled against. 25 // A compilation error at this line likely means your copy of the 26 // GoVPP api package needs to be updated. 27 const _ = api.GoVppAPIPackageIsVersion2 28 29 const ( 30 APIFile = "ip" 31 APIVersion = "3.2.0" 32 VersionCrc = 0x41299705 33 ) 34 35 // IPReassType defines enum 'ip_reass_type'. 36 type IPReassType uint32 37 38 const ( 39 IP_REASS_TYPE_FULL IPReassType = 0 40 IP_REASS_TYPE_SHALLOW_VIRTUAL IPReassType = 1 41 ) 42 43 var ( 44 IPReassType_name = map[uint32]string{ 45 0: "IP_REASS_TYPE_FULL", 46 1: "IP_REASS_TYPE_SHALLOW_VIRTUAL", 47 } 48 IPReassType_value = map[string]uint32{ 49 "IP_REASS_TYPE_FULL": 0, 50 "IP_REASS_TYPE_SHALLOW_VIRTUAL": 1, 51 } 52 ) 53 54 func (x IPReassType) String() string { 55 s, ok := IPReassType_name[uint32(x)] 56 if ok { 57 return s 58 } 59 return "IPReassType(" + strconv.Itoa(int(x)) + ")" 60 } 61 62 // IPFlowHashConfig defines enum 'ip_flow_hash_config'. 63 type IPFlowHashConfig uint32 64 65 const ( 66 IP_API_FLOW_HASH_SRC_IP IPFlowHashConfig = 1 67 IP_API_FLOW_HASH_DST_IP IPFlowHashConfig = 2 68 IP_API_FLOW_HASH_SRC_PORT IPFlowHashConfig = 4 69 IP_API_FLOW_HASH_DST_PORT IPFlowHashConfig = 8 70 IP_API_FLOW_HASH_PROTO IPFlowHashConfig = 16 71 IP_API_FLOW_HASH_REVERSE IPFlowHashConfig = 32 72 IP_API_FLOW_HASH_SYMETRIC IPFlowHashConfig = 64 73 IP_API_FLOW_HASH_FLOW_LABEL IPFlowHashConfig = 128 74 ) 75 76 var ( 77 IPFlowHashConfig_name = map[uint32]string{ 78 1: "IP_API_FLOW_HASH_SRC_IP", 79 2: "IP_API_FLOW_HASH_DST_IP", 80 4: "IP_API_FLOW_HASH_SRC_PORT", 81 8: "IP_API_FLOW_HASH_DST_PORT", 82 16: "IP_API_FLOW_HASH_PROTO", 83 32: "IP_API_FLOW_HASH_REVERSE", 84 64: "IP_API_FLOW_HASH_SYMETRIC", 85 128: "IP_API_FLOW_HASH_FLOW_LABEL", 86 } 87 IPFlowHashConfig_value = map[string]uint32{ 88 "IP_API_FLOW_HASH_SRC_IP": 1, 89 "IP_API_FLOW_HASH_DST_IP": 2, 90 "IP_API_FLOW_HASH_SRC_PORT": 4, 91 "IP_API_FLOW_HASH_DST_PORT": 8, 92 "IP_API_FLOW_HASH_PROTO": 16, 93 "IP_API_FLOW_HASH_REVERSE": 32, 94 "IP_API_FLOW_HASH_SYMETRIC": 64, 95 "IP_API_FLOW_HASH_FLOW_LABEL": 128, 96 } 97 ) 98 99 func (x IPFlowHashConfig) String() string { 100 s, ok := IPFlowHashConfig_name[uint32(x)] 101 if ok { 102 return s 103 } 104 str := func(n uint32) string { 105 s, ok := IPFlowHashConfig_name[uint32(n)] 106 if ok { 107 return s 108 } 109 return "IPFlowHashConfig(" + strconv.Itoa(int(n)) + ")" 110 } 111 for i := uint32(0); i <= 32; i++ { 112 val := uint32(x) 113 if val&(1<<i) != 0 { 114 if s != "" { 115 s += "|" 116 } 117 s += str(1 << i) 118 } 119 } 120 if s == "" { 121 return str(uint32(x)) 122 } 123 return s 124 } 125 126 // IPMroute defines type 'ip_mroute'. 127 type IPMroute struct { 128 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 129 EntryFlags mfib_types.MfibEntryFlags `binapi:"mfib_entry_flags,name=entry_flags" json:"entry_flags,omitempty"` 130 RpfID uint32 `binapi:"u32,name=rpf_id" json:"rpf_id,omitempty"` 131 Prefix ip_types.Mprefix `binapi:"mprefix,name=prefix" json:"prefix,omitempty"` 132 NPaths uint8 `binapi:"u8,name=n_paths" json:"-"` 133 Paths []mfib_types.MfibPath `binapi:"mfib_path[n_paths],name=paths" json:"paths,omitempty"` 134 } 135 136 // IPPathMtu defines type 'ip_path_mtu'. 137 type IPPathMtu struct { 138 ClientIndex uint32 `binapi:"u32,name=client_index" json:"client_index,omitempty"` 139 Context uint32 `binapi:"u32,name=context" json:"context,omitempty"` 140 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 141 Nh ip_types.Address `binapi:"address,name=nh" json:"nh,omitempty"` 142 PathMtu uint16 `binapi:"u16,name=path_mtu" json:"path_mtu,omitempty"` 143 } 144 145 // IPRoute defines type 'ip_route'. 146 type IPRoute struct { 147 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 148 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"` 149 Prefix ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"` 150 NPaths uint8 `binapi:"u8,name=n_paths" json:"-"` 151 Paths []fib_types.FibPath `binapi:"fib_path[n_paths],name=paths" json:"paths,omitempty"` 152 } 153 154 // IPRouteV2 defines type 'ip_route_v2'. 155 type IPRouteV2 struct { 156 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 157 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"` 158 Prefix ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"` 159 NPaths uint8 `binapi:"u8,name=n_paths" json:"-"` 160 Src uint8 `binapi:"u8,name=src" json:"src,omitempty"` 161 Paths []fib_types.FibPath `binapi:"fib_path[n_paths],name=paths" json:"paths,omitempty"` 162 } 163 164 // IPTable defines type 'ip_table'. 165 type IPTable struct { 166 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 167 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"` 168 Name string `binapi:"string[64],name=name" json:"name,omitempty"` 169 } 170 171 // PuntRedirect defines type 'punt_redirect'. 172 type PuntRedirect struct { 173 RxSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=rx_sw_if_index" json:"rx_sw_if_index,omitempty"` 174 TxSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=tx_sw_if_index" json:"tx_sw_if_index,omitempty"` 175 Nh ip_types.Address `binapi:"address,name=nh" json:"nh,omitempty"` 176 } 177 178 // PuntRedirectV2 defines type 'punt_redirect_v2'. 179 type PuntRedirectV2 struct { 180 RxSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=rx_sw_if_index,default=4294967295" json:"rx_sw_if_index,omitempty"` 181 Af ip_types.AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"` 182 NPaths uint32 `binapi:"u32,name=n_paths" json:"-"` 183 Paths []fib_types.FibPath `binapi:"fib_path[n_paths],name=paths" json:"paths,omitempty"` 184 } 185 186 // AddDelIPPuntRedirectV2 defines message 'add_del_ip_punt_redirect_v2'. 187 type AddDelIPPuntRedirectV2 struct { 188 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 189 Punt PuntRedirectV2 `binapi:"punt_redirect_v2,name=punt" json:"punt,omitempty"` 190 } 191 192 func (m *AddDelIPPuntRedirectV2) Reset() { *m = AddDelIPPuntRedirectV2{} } 193 func (*AddDelIPPuntRedirectV2) GetMessageName() string { return "add_del_ip_punt_redirect_v2" } 194 func (*AddDelIPPuntRedirectV2) GetCrcString() string { return "9e804227" } 195 func (*AddDelIPPuntRedirectV2) GetMessageType() api.MessageType { 196 return api.RequestMessage 197 } 198 199 func (m *AddDelIPPuntRedirectV2) Size() (size int) { 200 if m == nil { 201 return 0 202 } 203 size += 1 // m.IsAdd 204 size += 4 // m.Punt.RxSwIfIndex 205 size += 1 // m.Punt.Af 206 size += 4 // m.Punt.NPaths 207 for j2 := 0; j2 < len(m.Punt.Paths); j2++ { 208 var s2 fib_types.FibPath 209 _ = s2 210 if j2 < len(m.Punt.Paths) { 211 s2 = m.Punt.Paths[j2] 212 } 213 size += 4 // s2.SwIfIndex 214 size += 4 // s2.TableID 215 size += 4 // s2.RpfID 216 size += 1 // s2.Weight 217 size += 1 // s2.Preference 218 size += 4 // s2.Type 219 size += 4 // s2.Flags 220 size += 4 // s2.Proto 221 size += 1 * 16 // s2.Nh.Address 222 size += 4 // s2.Nh.ViaLabel 223 size += 4 // s2.Nh.ObjID 224 size += 4 // s2.Nh.ClassifyTableIndex 225 size += 1 // s2.NLabels 226 for j3 := 0; j3 < 16; j3++ { 227 size += 1 // s2.LabelStack[j3].IsUniform 228 size += 4 // s2.LabelStack[j3].Label 229 size += 1 // s2.LabelStack[j3].TTL 230 size += 1 // s2.LabelStack[j3].Exp 231 } 232 } 233 return size 234 } 235 func (m *AddDelIPPuntRedirectV2) Marshal(b []byte) ([]byte, error) { 236 if b == nil { 237 b = make([]byte, m.Size()) 238 } 239 buf := codec.NewBuffer(b) 240 buf.EncodeBool(m.IsAdd) 241 buf.EncodeUint32(uint32(m.Punt.RxSwIfIndex)) 242 buf.EncodeUint8(uint8(m.Punt.Af)) 243 buf.EncodeUint32(uint32(len(m.Punt.Paths))) 244 for j1 := 0; j1 < len(m.Punt.Paths); j1++ { 245 var v1 fib_types.FibPath // Paths 246 if j1 < len(m.Punt.Paths) { 247 v1 = m.Punt.Paths[j1] 248 } 249 buf.EncodeUint32(v1.SwIfIndex) 250 buf.EncodeUint32(v1.TableID) 251 buf.EncodeUint32(v1.RpfID) 252 buf.EncodeUint8(v1.Weight) 253 buf.EncodeUint8(v1.Preference) 254 buf.EncodeUint32(uint32(v1.Type)) 255 buf.EncodeUint32(uint32(v1.Flags)) 256 buf.EncodeUint32(uint32(v1.Proto)) 257 buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 16) 258 buf.EncodeUint32(v1.Nh.ViaLabel) 259 buf.EncodeUint32(v1.Nh.ObjID) 260 buf.EncodeUint32(v1.Nh.ClassifyTableIndex) 261 buf.EncodeUint8(v1.NLabels) 262 for j2 := 0; j2 < 16; j2++ { 263 buf.EncodeUint8(v1.LabelStack[j2].IsUniform) 264 buf.EncodeUint32(v1.LabelStack[j2].Label) 265 buf.EncodeUint8(v1.LabelStack[j2].TTL) 266 buf.EncodeUint8(v1.LabelStack[j2].Exp) 267 } 268 } 269 return buf.Bytes(), nil 270 } 271 func (m *AddDelIPPuntRedirectV2) Unmarshal(b []byte) error { 272 buf := codec.NewBuffer(b) 273 m.IsAdd = buf.DecodeBool() 274 m.Punt.RxSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 275 m.Punt.Af = ip_types.AddressFamily(buf.DecodeUint8()) 276 m.Punt.NPaths = buf.DecodeUint32() 277 m.Punt.Paths = make([]fib_types.FibPath, m.Punt.NPaths) 278 for j1 := 0; j1 < len(m.Punt.Paths); j1++ { 279 m.Punt.Paths[j1].SwIfIndex = buf.DecodeUint32() 280 m.Punt.Paths[j1].TableID = buf.DecodeUint32() 281 m.Punt.Paths[j1].RpfID = buf.DecodeUint32() 282 m.Punt.Paths[j1].Weight = buf.DecodeUint8() 283 m.Punt.Paths[j1].Preference = buf.DecodeUint8() 284 m.Punt.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32()) 285 m.Punt.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32()) 286 m.Punt.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) 287 copy(m.Punt.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) 288 m.Punt.Paths[j1].Nh.ViaLabel = buf.DecodeUint32() 289 m.Punt.Paths[j1].Nh.ObjID = buf.DecodeUint32() 290 m.Punt.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32() 291 m.Punt.Paths[j1].NLabels = buf.DecodeUint8() 292 for j2 := 0; j2 < 16; j2++ { 293 m.Punt.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8() 294 m.Punt.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32() 295 m.Punt.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8() 296 m.Punt.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8() 297 } 298 } 299 return nil 300 } 301 302 // AddDelIPPuntRedirectV2Reply defines message 'add_del_ip_punt_redirect_v2_reply'. 303 type AddDelIPPuntRedirectV2Reply struct { 304 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 305 } 306 307 func (m *AddDelIPPuntRedirectV2Reply) Reset() { *m = AddDelIPPuntRedirectV2Reply{} } 308 func (*AddDelIPPuntRedirectV2Reply) GetMessageName() string { 309 return "add_del_ip_punt_redirect_v2_reply" 310 } 311 func (*AddDelIPPuntRedirectV2Reply) GetCrcString() string { return "e8d4e804" } 312 func (*AddDelIPPuntRedirectV2Reply) GetMessageType() api.MessageType { 313 return api.ReplyMessage 314 } 315 316 func (m *AddDelIPPuntRedirectV2Reply) Size() (size int) { 317 if m == nil { 318 return 0 319 } 320 size += 4 // m.Retval 321 return size 322 } 323 func (m *AddDelIPPuntRedirectV2Reply) Marshal(b []byte) ([]byte, error) { 324 if b == nil { 325 b = make([]byte, m.Size()) 326 } 327 buf := codec.NewBuffer(b) 328 buf.EncodeInt32(m.Retval) 329 return buf.Bytes(), nil 330 } 331 func (m *AddDelIPPuntRedirectV2Reply) Unmarshal(b []byte) error { 332 buf := codec.NewBuffer(b) 333 m.Retval = buf.DecodeInt32() 334 return nil 335 } 336 337 // IoamDisable defines message 'ioam_disable'. 338 type IoamDisable struct { 339 ID uint16 `binapi:"u16,name=id" json:"id,omitempty"` 340 } 341 342 func (m *IoamDisable) Reset() { *m = IoamDisable{} } 343 func (*IoamDisable) GetMessageName() string { return "ioam_disable" } 344 func (*IoamDisable) GetCrcString() string { return "6b16a45e" } 345 func (*IoamDisable) GetMessageType() api.MessageType { 346 return api.RequestMessage 347 } 348 349 func (m *IoamDisable) Size() (size int) { 350 if m == nil { 351 return 0 352 } 353 size += 2 // m.ID 354 return size 355 } 356 func (m *IoamDisable) Marshal(b []byte) ([]byte, error) { 357 if b == nil { 358 b = make([]byte, m.Size()) 359 } 360 buf := codec.NewBuffer(b) 361 buf.EncodeUint16(m.ID) 362 return buf.Bytes(), nil 363 } 364 func (m *IoamDisable) Unmarshal(b []byte) error { 365 buf := codec.NewBuffer(b) 366 m.ID = buf.DecodeUint16() 367 return nil 368 } 369 370 // IoamDisableReply defines message 'ioam_disable_reply'. 371 type IoamDisableReply struct { 372 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 373 } 374 375 func (m *IoamDisableReply) Reset() { *m = IoamDisableReply{} } 376 func (*IoamDisableReply) GetMessageName() string { return "ioam_disable_reply" } 377 func (*IoamDisableReply) GetCrcString() string { return "e8d4e804" } 378 func (*IoamDisableReply) GetMessageType() api.MessageType { 379 return api.ReplyMessage 380 } 381 382 func (m *IoamDisableReply) Size() (size int) { 383 if m == nil { 384 return 0 385 } 386 size += 4 // m.Retval 387 return size 388 } 389 func (m *IoamDisableReply) Marshal(b []byte) ([]byte, error) { 390 if b == nil { 391 b = make([]byte, m.Size()) 392 } 393 buf := codec.NewBuffer(b) 394 buf.EncodeInt32(m.Retval) 395 return buf.Bytes(), nil 396 } 397 func (m *IoamDisableReply) Unmarshal(b []byte) error { 398 buf := codec.NewBuffer(b) 399 m.Retval = buf.DecodeInt32() 400 return nil 401 } 402 403 // IoamEnable defines message 'ioam_enable'. 404 type IoamEnable struct { 405 ID uint16 `binapi:"u16,name=id" json:"id,omitempty"` 406 Seqno bool `binapi:"bool,name=seqno" json:"seqno,omitempty"` 407 Analyse bool `binapi:"bool,name=analyse" json:"analyse,omitempty"` 408 PotEnable bool `binapi:"bool,name=pot_enable" json:"pot_enable,omitempty"` 409 TraceEnable bool `binapi:"bool,name=trace_enable" json:"trace_enable,omitempty"` 410 NodeID uint32 `binapi:"u32,name=node_id" json:"node_id,omitempty"` 411 } 412 413 func (m *IoamEnable) Reset() { *m = IoamEnable{} } 414 func (*IoamEnable) GetMessageName() string { return "ioam_enable" } 415 func (*IoamEnable) GetCrcString() string { return "51ccd868" } 416 func (*IoamEnable) GetMessageType() api.MessageType { 417 return api.RequestMessage 418 } 419 420 func (m *IoamEnable) Size() (size int) { 421 if m == nil { 422 return 0 423 } 424 size += 2 // m.ID 425 size += 1 // m.Seqno 426 size += 1 // m.Analyse 427 size += 1 // m.PotEnable 428 size += 1 // m.TraceEnable 429 size += 4 // m.NodeID 430 return size 431 } 432 func (m *IoamEnable) Marshal(b []byte) ([]byte, error) { 433 if b == nil { 434 b = make([]byte, m.Size()) 435 } 436 buf := codec.NewBuffer(b) 437 buf.EncodeUint16(m.ID) 438 buf.EncodeBool(m.Seqno) 439 buf.EncodeBool(m.Analyse) 440 buf.EncodeBool(m.PotEnable) 441 buf.EncodeBool(m.TraceEnable) 442 buf.EncodeUint32(m.NodeID) 443 return buf.Bytes(), nil 444 } 445 func (m *IoamEnable) Unmarshal(b []byte) error { 446 buf := codec.NewBuffer(b) 447 m.ID = buf.DecodeUint16() 448 m.Seqno = buf.DecodeBool() 449 m.Analyse = buf.DecodeBool() 450 m.PotEnable = buf.DecodeBool() 451 m.TraceEnable = buf.DecodeBool() 452 m.NodeID = buf.DecodeUint32() 453 return nil 454 } 455 456 // IoamEnableReply defines message 'ioam_enable_reply'. 457 type IoamEnableReply struct { 458 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 459 } 460 461 func (m *IoamEnableReply) Reset() { *m = IoamEnableReply{} } 462 func (*IoamEnableReply) GetMessageName() string { return "ioam_enable_reply" } 463 func (*IoamEnableReply) GetCrcString() string { return "e8d4e804" } 464 func (*IoamEnableReply) GetMessageType() api.MessageType { 465 return api.ReplyMessage 466 } 467 468 func (m *IoamEnableReply) Size() (size int) { 469 if m == nil { 470 return 0 471 } 472 size += 4 // m.Retval 473 return size 474 } 475 func (m *IoamEnableReply) Marshal(b []byte) ([]byte, error) { 476 if b == nil { 477 b = make([]byte, m.Size()) 478 } 479 buf := codec.NewBuffer(b) 480 buf.EncodeInt32(m.Retval) 481 return buf.Bytes(), nil 482 } 483 func (m *IoamEnableReply) Unmarshal(b []byte) error { 484 buf := codec.NewBuffer(b) 485 m.Retval = buf.DecodeInt32() 486 return nil 487 } 488 489 // IPAddressDetails defines message 'ip_address_details'. 490 type IPAddressDetails struct { 491 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 492 Prefix ip_types.AddressWithPrefix `binapi:"address_with_prefix,name=prefix" json:"prefix,omitempty"` 493 } 494 495 func (m *IPAddressDetails) Reset() { *m = IPAddressDetails{} } 496 func (*IPAddressDetails) GetMessageName() string { return "ip_address_details" } 497 func (*IPAddressDetails) GetCrcString() string { return "ee29b797" } 498 func (*IPAddressDetails) GetMessageType() api.MessageType { 499 return api.ReplyMessage 500 } 501 502 func (m *IPAddressDetails) Size() (size int) { 503 if m == nil { 504 return 0 505 } 506 size += 4 // m.SwIfIndex 507 size += 1 // m.Prefix.Address.Af 508 size += 1 * 16 // m.Prefix.Address.Un 509 size += 1 // m.Prefix.Len 510 return size 511 } 512 func (m *IPAddressDetails) Marshal(b []byte) ([]byte, error) { 513 if b == nil { 514 b = make([]byte, m.Size()) 515 } 516 buf := codec.NewBuffer(b) 517 buf.EncodeUint32(uint32(m.SwIfIndex)) 518 buf.EncodeUint8(uint8(m.Prefix.Address.Af)) 519 buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 16) 520 buf.EncodeUint8(m.Prefix.Len) 521 return buf.Bytes(), nil 522 } 523 func (m *IPAddressDetails) Unmarshal(b []byte) error { 524 buf := codec.NewBuffer(b) 525 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 526 m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 527 copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 528 m.Prefix.Len = buf.DecodeUint8() 529 return nil 530 } 531 532 // IPAddressDump defines message 'ip_address_dump'. 533 type IPAddressDump struct { 534 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 535 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"` 536 } 537 538 func (m *IPAddressDump) Reset() { *m = IPAddressDump{} } 539 func (*IPAddressDump) GetMessageName() string { return "ip_address_dump" } 540 func (*IPAddressDump) GetCrcString() string { return "2d033de4" } 541 func (*IPAddressDump) GetMessageType() api.MessageType { 542 return api.RequestMessage 543 } 544 545 func (m *IPAddressDump) Size() (size int) { 546 if m == nil { 547 return 0 548 } 549 size += 4 // m.SwIfIndex 550 size += 1 // m.IsIPv6 551 return size 552 } 553 func (m *IPAddressDump) Marshal(b []byte) ([]byte, error) { 554 if b == nil { 555 b = make([]byte, m.Size()) 556 } 557 buf := codec.NewBuffer(b) 558 buf.EncodeUint32(uint32(m.SwIfIndex)) 559 buf.EncodeBool(m.IsIPv6) 560 return buf.Bytes(), nil 561 } 562 func (m *IPAddressDump) Unmarshal(b []byte) error { 563 buf := codec.NewBuffer(b) 564 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 565 m.IsIPv6 = buf.DecodeBool() 566 return nil 567 } 568 569 // IPContainerProxyAddDel defines message 'ip_container_proxy_add_del'. 570 type IPContainerProxyAddDel struct { 571 Pfx ip_types.Prefix `binapi:"prefix,name=pfx" json:"pfx,omitempty"` 572 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 573 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 574 } 575 576 func (m *IPContainerProxyAddDel) Reset() { *m = IPContainerProxyAddDel{} } 577 func (*IPContainerProxyAddDel) GetMessageName() string { return "ip_container_proxy_add_del" } 578 func (*IPContainerProxyAddDel) GetCrcString() string { return "7df1dff1" } 579 func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { 580 return api.RequestMessage 581 } 582 583 func (m *IPContainerProxyAddDel) Size() (size int) { 584 if m == nil { 585 return 0 586 } 587 size += 1 // m.Pfx.Address.Af 588 size += 1 * 16 // m.Pfx.Address.Un 589 size += 1 // m.Pfx.Len 590 size += 4 // m.SwIfIndex 591 size += 1 // m.IsAdd 592 return size 593 } 594 func (m *IPContainerProxyAddDel) Marshal(b []byte) ([]byte, error) { 595 if b == nil { 596 b = make([]byte, m.Size()) 597 } 598 buf := codec.NewBuffer(b) 599 buf.EncodeUint8(uint8(m.Pfx.Address.Af)) 600 buf.EncodeBytes(m.Pfx.Address.Un.XXX_UnionData[:], 16) 601 buf.EncodeUint8(m.Pfx.Len) 602 buf.EncodeUint32(uint32(m.SwIfIndex)) 603 buf.EncodeBool(m.IsAdd) 604 return buf.Bytes(), nil 605 } 606 func (m *IPContainerProxyAddDel) Unmarshal(b []byte) error { 607 buf := codec.NewBuffer(b) 608 m.Pfx.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 609 copy(m.Pfx.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 610 m.Pfx.Len = buf.DecodeUint8() 611 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 612 m.IsAdd = buf.DecodeBool() 613 return nil 614 } 615 616 // IPContainerProxyAddDelReply defines message 'ip_container_proxy_add_del_reply'. 617 type IPContainerProxyAddDelReply struct { 618 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 619 } 620 621 func (m *IPContainerProxyAddDelReply) Reset() { *m = IPContainerProxyAddDelReply{} } 622 func (*IPContainerProxyAddDelReply) GetMessageName() string { 623 return "ip_container_proxy_add_del_reply" 624 } 625 func (*IPContainerProxyAddDelReply) GetCrcString() string { return "e8d4e804" } 626 func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { 627 return api.ReplyMessage 628 } 629 630 func (m *IPContainerProxyAddDelReply) Size() (size int) { 631 if m == nil { 632 return 0 633 } 634 size += 4 // m.Retval 635 return size 636 } 637 func (m *IPContainerProxyAddDelReply) Marshal(b []byte) ([]byte, error) { 638 if b == nil { 639 b = make([]byte, m.Size()) 640 } 641 buf := codec.NewBuffer(b) 642 buf.EncodeInt32(m.Retval) 643 return buf.Bytes(), nil 644 } 645 func (m *IPContainerProxyAddDelReply) Unmarshal(b []byte) error { 646 buf := codec.NewBuffer(b) 647 m.Retval = buf.DecodeInt32() 648 return nil 649 } 650 651 // IPContainerProxyDetails defines message 'ip_container_proxy_details'. 652 type IPContainerProxyDetails struct { 653 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 654 Prefix ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"` 655 } 656 657 func (m *IPContainerProxyDetails) Reset() { *m = IPContainerProxyDetails{} } 658 func (*IPContainerProxyDetails) GetMessageName() string { return "ip_container_proxy_details" } 659 func (*IPContainerProxyDetails) GetCrcString() string { return "a8085523" } 660 func (*IPContainerProxyDetails) GetMessageType() api.MessageType { 661 return api.ReplyMessage 662 } 663 664 func (m *IPContainerProxyDetails) Size() (size int) { 665 if m == nil { 666 return 0 667 } 668 size += 4 // m.SwIfIndex 669 size += 1 // m.Prefix.Address.Af 670 size += 1 * 16 // m.Prefix.Address.Un 671 size += 1 // m.Prefix.Len 672 return size 673 } 674 func (m *IPContainerProxyDetails) Marshal(b []byte) ([]byte, error) { 675 if b == nil { 676 b = make([]byte, m.Size()) 677 } 678 buf := codec.NewBuffer(b) 679 buf.EncodeUint32(uint32(m.SwIfIndex)) 680 buf.EncodeUint8(uint8(m.Prefix.Address.Af)) 681 buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 16) 682 buf.EncodeUint8(m.Prefix.Len) 683 return buf.Bytes(), nil 684 } 685 func (m *IPContainerProxyDetails) Unmarshal(b []byte) error { 686 buf := codec.NewBuffer(b) 687 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 688 m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 689 copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 690 m.Prefix.Len = buf.DecodeUint8() 691 return nil 692 } 693 694 // IPContainerProxyDump defines message 'ip_container_proxy_dump'. 695 type IPContainerProxyDump struct{} 696 697 func (m *IPContainerProxyDump) Reset() { *m = IPContainerProxyDump{} } 698 func (*IPContainerProxyDump) GetMessageName() string { return "ip_container_proxy_dump" } 699 func (*IPContainerProxyDump) GetCrcString() string { return "51077d14" } 700 func (*IPContainerProxyDump) GetMessageType() api.MessageType { 701 return api.RequestMessage 702 } 703 704 func (m *IPContainerProxyDump) Size() (size int) { 705 if m == nil { 706 return 0 707 } 708 return size 709 } 710 func (m *IPContainerProxyDump) Marshal(b []byte) ([]byte, error) { 711 if b == nil { 712 b = make([]byte, m.Size()) 713 } 714 buf := codec.NewBuffer(b) 715 return buf.Bytes(), nil 716 } 717 func (m *IPContainerProxyDump) Unmarshal(b []byte) error { 718 return nil 719 } 720 721 // IPDetails defines message 'ip_details'. 722 type IPDetails struct { 723 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 724 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"` 725 } 726 727 func (m *IPDetails) Reset() { *m = IPDetails{} } 728 func (*IPDetails) GetMessageName() string { return "ip_details" } 729 func (*IPDetails) GetCrcString() string { return "eb152d07" } 730 func (*IPDetails) GetMessageType() api.MessageType { 731 return api.ReplyMessage 732 } 733 734 func (m *IPDetails) Size() (size int) { 735 if m == nil { 736 return 0 737 } 738 size += 4 // m.SwIfIndex 739 size += 1 // m.IsIPv6 740 return size 741 } 742 func (m *IPDetails) Marshal(b []byte) ([]byte, error) { 743 if b == nil { 744 b = make([]byte, m.Size()) 745 } 746 buf := codec.NewBuffer(b) 747 buf.EncodeUint32(uint32(m.SwIfIndex)) 748 buf.EncodeBool(m.IsIPv6) 749 return buf.Bytes(), nil 750 } 751 func (m *IPDetails) Unmarshal(b []byte) error { 752 buf := codec.NewBuffer(b) 753 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 754 m.IsIPv6 = buf.DecodeBool() 755 return nil 756 } 757 758 // IPDump defines message 'ip_dump'. 759 type IPDump struct { 760 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"` 761 } 762 763 func (m *IPDump) Reset() { *m = IPDump{} } 764 func (*IPDump) GetMessageName() string { return "ip_dump" } 765 func (*IPDump) GetCrcString() string { return "98d231ca" } 766 func (*IPDump) GetMessageType() api.MessageType { 767 return api.RequestMessage 768 } 769 770 func (m *IPDump) Size() (size int) { 771 if m == nil { 772 return 0 773 } 774 size += 1 // m.IsIPv6 775 return size 776 } 777 func (m *IPDump) Marshal(b []byte) ([]byte, error) { 778 if b == nil { 779 b = make([]byte, m.Size()) 780 } 781 buf := codec.NewBuffer(b) 782 buf.EncodeBool(m.IsIPv6) 783 return buf.Bytes(), nil 784 } 785 func (m *IPDump) Unmarshal(b []byte) error { 786 buf := codec.NewBuffer(b) 787 m.IsIPv6 = buf.DecodeBool() 788 return nil 789 } 790 791 // IPLocalReassEnableDisable defines message 'ip_local_reass_enable_disable'. 792 type IPLocalReassEnableDisable struct { 793 EnableIP4 bool `binapi:"bool,name=enable_ip4" json:"enable_ip4,omitempty"` 794 EnableIP6 bool `binapi:"bool,name=enable_ip6" json:"enable_ip6,omitempty"` 795 } 796 797 func (m *IPLocalReassEnableDisable) Reset() { *m = IPLocalReassEnableDisable{} } 798 func (*IPLocalReassEnableDisable) GetMessageName() string { return "ip_local_reass_enable_disable" } 799 func (*IPLocalReassEnableDisable) GetCrcString() string { return "34e2ccc4" } 800 func (*IPLocalReassEnableDisable) GetMessageType() api.MessageType { 801 return api.RequestMessage 802 } 803 804 func (m *IPLocalReassEnableDisable) Size() (size int) { 805 if m == nil { 806 return 0 807 } 808 size += 1 // m.EnableIP4 809 size += 1 // m.EnableIP6 810 return size 811 } 812 func (m *IPLocalReassEnableDisable) Marshal(b []byte) ([]byte, error) { 813 if b == nil { 814 b = make([]byte, m.Size()) 815 } 816 buf := codec.NewBuffer(b) 817 buf.EncodeBool(m.EnableIP4) 818 buf.EncodeBool(m.EnableIP6) 819 return buf.Bytes(), nil 820 } 821 func (m *IPLocalReassEnableDisable) Unmarshal(b []byte) error { 822 buf := codec.NewBuffer(b) 823 m.EnableIP4 = buf.DecodeBool() 824 m.EnableIP6 = buf.DecodeBool() 825 return nil 826 } 827 828 // IPLocalReassEnableDisableReply defines message 'ip_local_reass_enable_disable_reply'. 829 type IPLocalReassEnableDisableReply struct { 830 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 831 } 832 833 func (m *IPLocalReassEnableDisableReply) Reset() { *m = IPLocalReassEnableDisableReply{} } 834 func (*IPLocalReassEnableDisableReply) GetMessageName() string { 835 return "ip_local_reass_enable_disable_reply" 836 } 837 func (*IPLocalReassEnableDisableReply) GetCrcString() string { return "e8d4e804" } 838 func (*IPLocalReassEnableDisableReply) GetMessageType() api.MessageType { 839 return api.ReplyMessage 840 } 841 842 func (m *IPLocalReassEnableDisableReply) Size() (size int) { 843 if m == nil { 844 return 0 845 } 846 size += 4 // m.Retval 847 return size 848 } 849 func (m *IPLocalReassEnableDisableReply) Marshal(b []byte) ([]byte, error) { 850 if b == nil { 851 b = make([]byte, m.Size()) 852 } 853 buf := codec.NewBuffer(b) 854 buf.EncodeInt32(m.Retval) 855 return buf.Bytes(), nil 856 } 857 func (m *IPLocalReassEnableDisableReply) Unmarshal(b []byte) error { 858 buf := codec.NewBuffer(b) 859 m.Retval = buf.DecodeInt32() 860 return nil 861 } 862 863 // IPLocalReassGet defines message 'ip_local_reass_get'. 864 type IPLocalReassGet struct{} 865 866 func (m *IPLocalReassGet) Reset() { *m = IPLocalReassGet{} } 867 func (*IPLocalReassGet) GetMessageName() string { return "ip_local_reass_get" } 868 func (*IPLocalReassGet) GetCrcString() string { return "51077d14" } 869 func (*IPLocalReassGet) GetMessageType() api.MessageType { 870 return api.RequestMessage 871 } 872 873 func (m *IPLocalReassGet) Size() (size int) { 874 if m == nil { 875 return 0 876 } 877 return size 878 } 879 func (m *IPLocalReassGet) Marshal(b []byte) ([]byte, error) { 880 if b == nil { 881 b = make([]byte, m.Size()) 882 } 883 buf := codec.NewBuffer(b) 884 return buf.Bytes(), nil 885 } 886 func (m *IPLocalReassGet) Unmarshal(b []byte) error { 887 return nil 888 } 889 890 // IPLocalReassGetReply defines message 'ip_local_reass_get_reply'. 891 type IPLocalReassGetReply struct { 892 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 893 IP4IsEnabled bool `binapi:"bool,name=ip4_is_enabled" json:"ip4_is_enabled,omitempty"` 894 IP6IsEnabled bool `binapi:"bool,name=ip6_is_enabled" json:"ip6_is_enabled,omitempty"` 895 } 896 897 func (m *IPLocalReassGetReply) Reset() { *m = IPLocalReassGetReply{} } 898 func (*IPLocalReassGetReply) GetMessageName() string { return "ip_local_reass_get_reply" } 899 func (*IPLocalReassGetReply) GetCrcString() string { return "3e93a702" } 900 func (*IPLocalReassGetReply) GetMessageType() api.MessageType { 901 return api.ReplyMessage 902 } 903 904 func (m *IPLocalReassGetReply) Size() (size int) { 905 if m == nil { 906 return 0 907 } 908 size += 4 // m.Retval 909 size += 1 // m.IP4IsEnabled 910 size += 1 // m.IP6IsEnabled 911 return size 912 } 913 func (m *IPLocalReassGetReply) Marshal(b []byte) ([]byte, error) { 914 if b == nil { 915 b = make([]byte, m.Size()) 916 } 917 buf := codec.NewBuffer(b) 918 buf.EncodeInt32(m.Retval) 919 buf.EncodeBool(m.IP4IsEnabled) 920 buf.EncodeBool(m.IP6IsEnabled) 921 return buf.Bytes(), nil 922 } 923 func (m *IPLocalReassGetReply) Unmarshal(b []byte) error { 924 buf := codec.NewBuffer(b) 925 m.Retval = buf.DecodeInt32() 926 m.IP4IsEnabled = buf.DecodeBool() 927 m.IP6IsEnabled = buf.DecodeBool() 928 return nil 929 } 930 931 // IPMrouteAddDel defines message 'ip_mroute_add_del'. 932 type IPMrouteAddDel struct { 933 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 934 IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"` 935 Route IPMroute `binapi:"ip_mroute,name=route" json:"route,omitempty"` 936 } 937 938 func (m *IPMrouteAddDel) Reset() { *m = IPMrouteAddDel{} } 939 func (*IPMrouteAddDel) GetMessageName() string { return "ip_mroute_add_del" } 940 func (*IPMrouteAddDel) GetCrcString() string { return "0dd7e790" } 941 func (*IPMrouteAddDel) GetMessageType() api.MessageType { 942 return api.RequestMessage 943 } 944 945 func (m *IPMrouteAddDel) Size() (size int) { 946 if m == nil { 947 return 0 948 } 949 size += 1 // m.IsAdd 950 size += 1 // m.IsMultipath 951 size += 4 // m.Route.TableID 952 size += 4 // m.Route.EntryFlags 953 size += 4 // m.Route.RpfID 954 size += 1 // m.Route.Prefix.Af 955 size += 2 // m.Route.Prefix.GrpAddressLength 956 size += 1 * 16 // m.Route.Prefix.GrpAddress 957 size += 1 * 16 // m.Route.Prefix.SrcAddress 958 size += 1 // m.Route.NPaths 959 for j2 := 0; j2 < len(m.Route.Paths); j2++ { 960 var s2 mfib_types.MfibPath 961 _ = s2 962 if j2 < len(m.Route.Paths) { 963 s2 = m.Route.Paths[j2] 964 } 965 size += 4 // s2.ItfFlags 966 size += 4 // s2.Path.SwIfIndex 967 size += 4 // s2.Path.TableID 968 size += 4 // s2.Path.RpfID 969 size += 1 // s2.Path.Weight 970 size += 1 // s2.Path.Preference 971 size += 4 // s2.Path.Type 972 size += 4 // s2.Path.Flags 973 size += 4 // s2.Path.Proto 974 size += 1 * 16 // s2.Path.Nh.Address 975 size += 4 // s2.Path.Nh.ViaLabel 976 size += 4 // s2.Path.Nh.ObjID 977 size += 4 // s2.Path.Nh.ClassifyTableIndex 978 size += 1 // s2.Path.NLabels 979 for j4 := 0; j4 < 16; j4++ { 980 size += 1 // s2.Path.LabelStack[j4].IsUniform 981 size += 4 // s2.Path.LabelStack[j4].Label 982 size += 1 // s2.Path.LabelStack[j4].TTL 983 size += 1 // s2.Path.LabelStack[j4].Exp 984 } 985 } 986 return size 987 } 988 func (m *IPMrouteAddDel) Marshal(b []byte) ([]byte, error) { 989 if b == nil { 990 b = make([]byte, m.Size()) 991 } 992 buf := codec.NewBuffer(b) 993 buf.EncodeBool(m.IsAdd) 994 buf.EncodeBool(m.IsMultipath) 995 buf.EncodeUint32(m.Route.TableID) 996 buf.EncodeUint32(uint32(m.Route.EntryFlags)) 997 buf.EncodeUint32(m.Route.RpfID) 998 buf.EncodeUint8(uint8(m.Route.Prefix.Af)) 999 buf.EncodeUint16(m.Route.Prefix.GrpAddressLength) 1000 buf.EncodeBytes(m.Route.Prefix.GrpAddress.XXX_UnionData[:], 16) 1001 buf.EncodeBytes(m.Route.Prefix.SrcAddress.XXX_UnionData[:], 16) 1002 buf.EncodeUint8(uint8(len(m.Route.Paths))) 1003 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 1004 var v1 mfib_types.MfibPath // Paths 1005 if j1 < len(m.Route.Paths) { 1006 v1 = m.Route.Paths[j1] 1007 } 1008 buf.EncodeUint32(uint32(v1.ItfFlags)) 1009 buf.EncodeUint32(v1.Path.SwIfIndex) 1010 buf.EncodeUint32(v1.Path.TableID) 1011 buf.EncodeUint32(v1.Path.RpfID) 1012 buf.EncodeUint8(v1.Path.Weight) 1013 buf.EncodeUint8(v1.Path.Preference) 1014 buf.EncodeUint32(uint32(v1.Path.Type)) 1015 buf.EncodeUint32(uint32(v1.Path.Flags)) 1016 buf.EncodeUint32(uint32(v1.Path.Proto)) 1017 buf.EncodeBytes(v1.Path.Nh.Address.XXX_UnionData[:], 16) 1018 buf.EncodeUint32(v1.Path.Nh.ViaLabel) 1019 buf.EncodeUint32(v1.Path.Nh.ObjID) 1020 buf.EncodeUint32(v1.Path.Nh.ClassifyTableIndex) 1021 buf.EncodeUint8(v1.Path.NLabels) 1022 for j3 := 0; j3 < 16; j3++ { 1023 buf.EncodeUint8(v1.Path.LabelStack[j3].IsUniform) 1024 buf.EncodeUint32(v1.Path.LabelStack[j3].Label) 1025 buf.EncodeUint8(v1.Path.LabelStack[j3].TTL) 1026 buf.EncodeUint8(v1.Path.LabelStack[j3].Exp) 1027 } 1028 } 1029 return buf.Bytes(), nil 1030 } 1031 func (m *IPMrouteAddDel) Unmarshal(b []byte) error { 1032 buf := codec.NewBuffer(b) 1033 m.IsAdd = buf.DecodeBool() 1034 m.IsMultipath = buf.DecodeBool() 1035 m.Route.TableID = buf.DecodeUint32() 1036 m.Route.EntryFlags = mfib_types.MfibEntryFlags(buf.DecodeUint32()) 1037 m.Route.RpfID = buf.DecodeUint32() 1038 m.Route.Prefix.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1039 m.Route.Prefix.GrpAddressLength = buf.DecodeUint16() 1040 copy(m.Route.Prefix.GrpAddress.XXX_UnionData[:], buf.DecodeBytes(16)) 1041 copy(m.Route.Prefix.SrcAddress.XXX_UnionData[:], buf.DecodeBytes(16)) 1042 m.Route.NPaths = buf.DecodeUint8() 1043 m.Route.Paths = make([]mfib_types.MfibPath, m.Route.NPaths) 1044 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 1045 m.Route.Paths[j1].ItfFlags = mfib_types.MfibItfFlags(buf.DecodeUint32()) 1046 m.Route.Paths[j1].Path.SwIfIndex = buf.DecodeUint32() 1047 m.Route.Paths[j1].Path.TableID = buf.DecodeUint32() 1048 m.Route.Paths[j1].Path.RpfID = buf.DecodeUint32() 1049 m.Route.Paths[j1].Path.Weight = buf.DecodeUint8() 1050 m.Route.Paths[j1].Path.Preference = buf.DecodeUint8() 1051 m.Route.Paths[j1].Path.Type = fib_types.FibPathType(buf.DecodeUint32()) 1052 m.Route.Paths[j1].Path.Flags = fib_types.FibPathFlags(buf.DecodeUint32()) 1053 m.Route.Paths[j1].Path.Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) 1054 copy(m.Route.Paths[j1].Path.Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) 1055 m.Route.Paths[j1].Path.Nh.ViaLabel = buf.DecodeUint32() 1056 m.Route.Paths[j1].Path.Nh.ObjID = buf.DecodeUint32() 1057 m.Route.Paths[j1].Path.Nh.ClassifyTableIndex = buf.DecodeUint32() 1058 m.Route.Paths[j1].Path.NLabels = buf.DecodeUint8() 1059 for j3 := 0; j3 < 16; j3++ { 1060 m.Route.Paths[j1].Path.LabelStack[j3].IsUniform = buf.DecodeUint8() 1061 m.Route.Paths[j1].Path.LabelStack[j3].Label = buf.DecodeUint32() 1062 m.Route.Paths[j1].Path.LabelStack[j3].TTL = buf.DecodeUint8() 1063 m.Route.Paths[j1].Path.LabelStack[j3].Exp = buf.DecodeUint8() 1064 } 1065 } 1066 return nil 1067 } 1068 1069 // IPMrouteAddDelReply defines message 'ip_mroute_add_del_reply'. 1070 type IPMrouteAddDelReply struct { 1071 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1072 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"` 1073 } 1074 1075 func (m *IPMrouteAddDelReply) Reset() { *m = IPMrouteAddDelReply{} } 1076 func (*IPMrouteAddDelReply) GetMessageName() string { return "ip_mroute_add_del_reply" } 1077 func (*IPMrouteAddDelReply) GetCrcString() string { return "1992deab" } 1078 func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { 1079 return api.ReplyMessage 1080 } 1081 1082 func (m *IPMrouteAddDelReply) Size() (size int) { 1083 if m == nil { 1084 return 0 1085 } 1086 size += 4 // m.Retval 1087 size += 4 // m.StatsIndex 1088 return size 1089 } 1090 func (m *IPMrouteAddDelReply) Marshal(b []byte) ([]byte, error) { 1091 if b == nil { 1092 b = make([]byte, m.Size()) 1093 } 1094 buf := codec.NewBuffer(b) 1095 buf.EncodeInt32(m.Retval) 1096 buf.EncodeUint32(m.StatsIndex) 1097 return buf.Bytes(), nil 1098 } 1099 func (m *IPMrouteAddDelReply) Unmarshal(b []byte) error { 1100 buf := codec.NewBuffer(b) 1101 m.Retval = buf.DecodeInt32() 1102 m.StatsIndex = buf.DecodeUint32() 1103 return nil 1104 } 1105 1106 // IPMrouteDetails defines message 'ip_mroute_details'. 1107 type IPMrouteDetails struct { 1108 Route IPMroute `binapi:"ip_mroute,name=route" json:"route,omitempty"` 1109 } 1110 1111 func (m *IPMrouteDetails) Reset() { *m = IPMrouteDetails{} } 1112 func (*IPMrouteDetails) GetMessageName() string { return "ip_mroute_details" } 1113 func (*IPMrouteDetails) GetCrcString() string { return "c5cb23fc" } 1114 func (*IPMrouteDetails) GetMessageType() api.MessageType { 1115 return api.ReplyMessage 1116 } 1117 1118 func (m *IPMrouteDetails) Size() (size int) { 1119 if m == nil { 1120 return 0 1121 } 1122 size += 4 // m.Route.TableID 1123 size += 4 // m.Route.EntryFlags 1124 size += 4 // m.Route.RpfID 1125 size += 1 // m.Route.Prefix.Af 1126 size += 2 // m.Route.Prefix.GrpAddressLength 1127 size += 1 * 16 // m.Route.Prefix.GrpAddress 1128 size += 1 * 16 // m.Route.Prefix.SrcAddress 1129 size += 1 // m.Route.NPaths 1130 for j2 := 0; j2 < len(m.Route.Paths); j2++ { 1131 var s2 mfib_types.MfibPath 1132 _ = s2 1133 if j2 < len(m.Route.Paths) { 1134 s2 = m.Route.Paths[j2] 1135 } 1136 size += 4 // s2.ItfFlags 1137 size += 4 // s2.Path.SwIfIndex 1138 size += 4 // s2.Path.TableID 1139 size += 4 // s2.Path.RpfID 1140 size += 1 // s2.Path.Weight 1141 size += 1 // s2.Path.Preference 1142 size += 4 // s2.Path.Type 1143 size += 4 // s2.Path.Flags 1144 size += 4 // s2.Path.Proto 1145 size += 1 * 16 // s2.Path.Nh.Address 1146 size += 4 // s2.Path.Nh.ViaLabel 1147 size += 4 // s2.Path.Nh.ObjID 1148 size += 4 // s2.Path.Nh.ClassifyTableIndex 1149 size += 1 // s2.Path.NLabels 1150 for j4 := 0; j4 < 16; j4++ { 1151 size += 1 // s2.Path.LabelStack[j4].IsUniform 1152 size += 4 // s2.Path.LabelStack[j4].Label 1153 size += 1 // s2.Path.LabelStack[j4].TTL 1154 size += 1 // s2.Path.LabelStack[j4].Exp 1155 } 1156 } 1157 return size 1158 } 1159 func (m *IPMrouteDetails) Marshal(b []byte) ([]byte, error) { 1160 if b == nil { 1161 b = make([]byte, m.Size()) 1162 } 1163 buf := codec.NewBuffer(b) 1164 buf.EncodeUint32(m.Route.TableID) 1165 buf.EncodeUint32(uint32(m.Route.EntryFlags)) 1166 buf.EncodeUint32(m.Route.RpfID) 1167 buf.EncodeUint8(uint8(m.Route.Prefix.Af)) 1168 buf.EncodeUint16(m.Route.Prefix.GrpAddressLength) 1169 buf.EncodeBytes(m.Route.Prefix.GrpAddress.XXX_UnionData[:], 16) 1170 buf.EncodeBytes(m.Route.Prefix.SrcAddress.XXX_UnionData[:], 16) 1171 buf.EncodeUint8(uint8(len(m.Route.Paths))) 1172 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 1173 var v1 mfib_types.MfibPath // Paths 1174 if j1 < len(m.Route.Paths) { 1175 v1 = m.Route.Paths[j1] 1176 } 1177 buf.EncodeUint32(uint32(v1.ItfFlags)) 1178 buf.EncodeUint32(v1.Path.SwIfIndex) 1179 buf.EncodeUint32(v1.Path.TableID) 1180 buf.EncodeUint32(v1.Path.RpfID) 1181 buf.EncodeUint8(v1.Path.Weight) 1182 buf.EncodeUint8(v1.Path.Preference) 1183 buf.EncodeUint32(uint32(v1.Path.Type)) 1184 buf.EncodeUint32(uint32(v1.Path.Flags)) 1185 buf.EncodeUint32(uint32(v1.Path.Proto)) 1186 buf.EncodeBytes(v1.Path.Nh.Address.XXX_UnionData[:], 16) 1187 buf.EncodeUint32(v1.Path.Nh.ViaLabel) 1188 buf.EncodeUint32(v1.Path.Nh.ObjID) 1189 buf.EncodeUint32(v1.Path.Nh.ClassifyTableIndex) 1190 buf.EncodeUint8(v1.Path.NLabels) 1191 for j3 := 0; j3 < 16; j3++ { 1192 buf.EncodeUint8(v1.Path.LabelStack[j3].IsUniform) 1193 buf.EncodeUint32(v1.Path.LabelStack[j3].Label) 1194 buf.EncodeUint8(v1.Path.LabelStack[j3].TTL) 1195 buf.EncodeUint8(v1.Path.LabelStack[j3].Exp) 1196 } 1197 } 1198 return buf.Bytes(), nil 1199 } 1200 func (m *IPMrouteDetails) Unmarshal(b []byte) error { 1201 buf := codec.NewBuffer(b) 1202 m.Route.TableID = buf.DecodeUint32() 1203 m.Route.EntryFlags = mfib_types.MfibEntryFlags(buf.DecodeUint32()) 1204 m.Route.RpfID = buf.DecodeUint32() 1205 m.Route.Prefix.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1206 m.Route.Prefix.GrpAddressLength = buf.DecodeUint16() 1207 copy(m.Route.Prefix.GrpAddress.XXX_UnionData[:], buf.DecodeBytes(16)) 1208 copy(m.Route.Prefix.SrcAddress.XXX_UnionData[:], buf.DecodeBytes(16)) 1209 m.Route.NPaths = buf.DecodeUint8() 1210 m.Route.Paths = make([]mfib_types.MfibPath, m.Route.NPaths) 1211 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 1212 m.Route.Paths[j1].ItfFlags = mfib_types.MfibItfFlags(buf.DecodeUint32()) 1213 m.Route.Paths[j1].Path.SwIfIndex = buf.DecodeUint32() 1214 m.Route.Paths[j1].Path.TableID = buf.DecodeUint32() 1215 m.Route.Paths[j1].Path.RpfID = buf.DecodeUint32() 1216 m.Route.Paths[j1].Path.Weight = buf.DecodeUint8() 1217 m.Route.Paths[j1].Path.Preference = buf.DecodeUint8() 1218 m.Route.Paths[j1].Path.Type = fib_types.FibPathType(buf.DecodeUint32()) 1219 m.Route.Paths[j1].Path.Flags = fib_types.FibPathFlags(buf.DecodeUint32()) 1220 m.Route.Paths[j1].Path.Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) 1221 copy(m.Route.Paths[j1].Path.Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) 1222 m.Route.Paths[j1].Path.Nh.ViaLabel = buf.DecodeUint32() 1223 m.Route.Paths[j1].Path.Nh.ObjID = buf.DecodeUint32() 1224 m.Route.Paths[j1].Path.Nh.ClassifyTableIndex = buf.DecodeUint32() 1225 m.Route.Paths[j1].Path.NLabels = buf.DecodeUint8() 1226 for j3 := 0; j3 < 16; j3++ { 1227 m.Route.Paths[j1].Path.LabelStack[j3].IsUniform = buf.DecodeUint8() 1228 m.Route.Paths[j1].Path.LabelStack[j3].Label = buf.DecodeUint32() 1229 m.Route.Paths[j1].Path.LabelStack[j3].TTL = buf.DecodeUint8() 1230 m.Route.Paths[j1].Path.LabelStack[j3].Exp = buf.DecodeUint8() 1231 } 1232 } 1233 return nil 1234 } 1235 1236 // IPMrouteDump defines message 'ip_mroute_dump'. 1237 type IPMrouteDump struct { 1238 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 1239 } 1240 1241 func (m *IPMrouteDump) Reset() { *m = IPMrouteDump{} } 1242 func (*IPMrouteDump) GetMessageName() string { return "ip_mroute_dump" } 1243 func (*IPMrouteDump) GetCrcString() string { return "b9d2e09e" } 1244 func (*IPMrouteDump) GetMessageType() api.MessageType { 1245 return api.RequestMessage 1246 } 1247 1248 func (m *IPMrouteDump) Size() (size int) { 1249 if m == nil { 1250 return 0 1251 } 1252 size += 4 // m.Table.TableID 1253 size += 1 // m.Table.IsIP6 1254 size += 64 // m.Table.Name 1255 return size 1256 } 1257 func (m *IPMrouteDump) Marshal(b []byte) ([]byte, error) { 1258 if b == nil { 1259 b = make([]byte, m.Size()) 1260 } 1261 buf := codec.NewBuffer(b) 1262 buf.EncodeUint32(m.Table.TableID) 1263 buf.EncodeBool(m.Table.IsIP6) 1264 buf.EncodeString(m.Table.Name, 64) 1265 return buf.Bytes(), nil 1266 } 1267 func (m *IPMrouteDump) Unmarshal(b []byte) error { 1268 buf := codec.NewBuffer(b) 1269 m.Table.TableID = buf.DecodeUint32() 1270 m.Table.IsIP6 = buf.DecodeBool() 1271 m.Table.Name = buf.DecodeString(64) 1272 return nil 1273 } 1274 1275 // IPMtableDetails defines message 'ip_mtable_details'. 1276 type IPMtableDetails struct { 1277 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 1278 } 1279 1280 func (m *IPMtableDetails) Reset() { *m = IPMtableDetails{} } 1281 func (*IPMtableDetails) GetMessageName() string { return "ip_mtable_details" } 1282 func (*IPMtableDetails) GetCrcString() string { return "b9d2e09e" } 1283 func (*IPMtableDetails) GetMessageType() api.MessageType { 1284 return api.RequestMessage 1285 } 1286 1287 func (m *IPMtableDetails) Size() (size int) { 1288 if m == nil { 1289 return 0 1290 } 1291 size += 4 // m.Table.TableID 1292 size += 1 // m.Table.IsIP6 1293 size += 64 // m.Table.Name 1294 return size 1295 } 1296 func (m *IPMtableDetails) Marshal(b []byte) ([]byte, error) { 1297 if b == nil { 1298 b = make([]byte, m.Size()) 1299 } 1300 buf := codec.NewBuffer(b) 1301 buf.EncodeUint32(m.Table.TableID) 1302 buf.EncodeBool(m.Table.IsIP6) 1303 buf.EncodeString(m.Table.Name, 64) 1304 return buf.Bytes(), nil 1305 } 1306 func (m *IPMtableDetails) Unmarshal(b []byte) error { 1307 buf := codec.NewBuffer(b) 1308 m.Table.TableID = buf.DecodeUint32() 1309 m.Table.IsIP6 = buf.DecodeBool() 1310 m.Table.Name = buf.DecodeString(64) 1311 return nil 1312 } 1313 1314 // IPMtableDump defines message 'ip_mtable_dump'. 1315 type IPMtableDump struct{} 1316 1317 func (m *IPMtableDump) Reset() { *m = IPMtableDump{} } 1318 func (*IPMtableDump) GetMessageName() string { return "ip_mtable_dump" } 1319 func (*IPMtableDump) GetCrcString() string { return "51077d14" } 1320 func (*IPMtableDump) GetMessageType() api.MessageType { 1321 return api.RequestMessage 1322 } 1323 1324 func (m *IPMtableDump) Size() (size int) { 1325 if m == nil { 1326 return 0 1327 } 1328 return size 1329 } 1330 func (m *IPMtableDump) Marshal(b []byte) ([]byte, error) { 1331 if b == nil { 1332 b = make([]byte, m.Size()) 1333 } 1334 buf := codec.NewBuffer(b) 1335 return buf.Bytes(), nil 1336 } 1337 func (m *IPMtableDump) Unmarshal(b []byte) error { 1338 return nil 1339 } 1340 1341 // IPPathMtuDetails defines message 'ip_path_mtu_details'. 1342 type IPPathMtuDetails struct { 1343 Pmtu IPPathMtu `binapi:"ip_path_mtu,name=pmtu" json:"pmtu,omitempty"` 1344 } 1345 1346 func (m *IPPathMtuDetails) Reset() { *m = IPPathMtuDetails{} } 1347 func (*IPPathMtuDetails) GetMessageName() string { return "ip_path_mtu_details" } 1348 func (*IPPathMtuDetails) GetCrcString() string { return "ac9539a7" } 1349 func (*IPPathMtuDetails) GetMessageType() api.MessageType { 1350 return api.ReplyMessage 1351 } 1352 1353 func (m *IPPathMtuDetails) Size() (size int) { 1354 if m == nil { 1355 return 0 1356 } 1357 size += 4 // m.Pmtu.ClientIndex 1358 size += 4 // m.Pmtu.Context 1359 size += 4 // m.Pmtu.TableID 1360 size += 1 // m.Pmtu.Nh.Af 1361 size += 1 * 16 // m.Pmtu.Nh.Un 1362 size += 2 // m.Pmtu.PathMtu 1363 return size 1364 } 1365 func (m *IPPathMtuDetails) Marshal(b []byte) ([]byte, error) { 1366 if b == nil { 1367 b = make([]byte, m.Size()) 1368 } 1369 buf := codec.NewBuffer(b) 1370 buf.EncodeUint32(m.Pmtu.ClientIndex) 1371 buf.EncodeUint32(m.Pmtu.Context) 1372 buf.EncodeUint32(m.Pmtu.TableID) 1373 buf.EncodeUint8(uint8(m.Pmtu.Nh.Af)) 1374 buf.EncodeBytes(m.Pmtu.Nh.Un.XXX_UnionData[:], 16) 1375 buf.EncodeUint16(m.Pmtu.PathMtu) 1376 return buf.Bytes(), nil 1377 } 1378 func (m *IPPathMtuDetails) Unmarshal(b []byte) error { 1379 buf := codec.NewBuffer(b) 1380 m.Pmtu.ClientIndex = buf.DecodeUint32() 1381 m.Pmtu.Context = buf.DecodeUint32() 1382 m.Pmtu.TableID = buf.DecodeUint32() 1383 m.Pmtu.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1384 copy(m.Pmtu.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1385 m.Pmtu.PathMtu = buf.DecodeUint16() 1386 return nil 1387 } 1388 1389 // IPPathMtuGet defines message 'ip_path_mtu_get'. 1390 type IPPathMtuGet struct { 1391 Cursor uint32 `binapi:"u32,name=cursor" json:"cursor,omitempty"` 1392 } 1393 1394 func (m *IPPathMtuGet) Reset() { *m = IPPathMtuGet{} } 1395 func (*IPPathMtuGet) GetMessageName() string { return "ip_path_mtu_get" } 1396 func (*IPPathMtuGet) GetCrcString() string { return "f75ba505" } 1397 func (*IPPathMtuGet) GetMessageType() api.MessageType { 1398 return api.RequestMessage 1399 } 1400 1401 func (m *IPPathMtuGet) Size() (size int) { 1402 if m == nil { 1403 return 0 1404 } 1405 size += 4 // m.Cursor 1406 return size 1407 } 1408 func (m *IPPathMtuGet) Marshal(b []byte) ([]byte, error) { 1409 if b == nil { 1410 b = make([]byte, m.Size()) 1411 } 1412 buf := codec.NewBuffer(b) 1413 buf.EncodeUint32(m.Cursor) 1414 return buf.Bytes(), nil 1415 } 1416 func (m *IPPathMtuGet) Unmarshal(b []byte) error { 1417 buf := codec.NewBuffer(b) 1418 m.Cursor = buf.DecodeUint32() 1419 return nil 1420 } 1421 1422 // IPPathMtuGetReply defines message 'ip_path_mtu_get_reply'. 1423 type IPPathMtuGetReply struct { 1424 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1425 Cursor uint32 `binapi:"u32,name=cursor" json:"cursor,omitempty"` 1426 } 1427 1428 func (m *IPPathMtuGetReply) Reset() { *m = IPPathMtuGetReply{} } 1429 func (*IPPathMtuGetReply) GetMessageName() string { return "ip_path_mtu_get_reply" } 1430 func (*IPPathMtuGetReply) GetCrcString() string { return "53b48f5d" } 1431 func (*IPPathMtuGetReply) GetMessageType() api.MessageType { 1432 return api.ReplyMessage 1433 } 1434 1435 func (m *IPPathMtuGetReply) Size() (size int) { 1436 if m == nil { 1437 return 0 1438 } 1439 size += 4 // m.Retval 1440 size += 4 // m.Cursor 1441 return size 1442 } 1443 func (m *IPPathMtuGetReply) Marshal(b []byte) ([]byte, error) { 1444 if b == nil { 1445 b = make([]byte, m.Size()) 1446 } 1447 buf := codec.NewBuffer(b) 1448 buf.EncodeInt32(m.Retval) 1449 buf.EncodeUint32(m.Cursor) 1450 return buf.Bytes(), nil 1451 } 1452 func (m *IPPathMtuGetReply) Unmarshal(b []byte) error { 1453 buf := codec.NewBuffer(b) 1454 m.Retval = buf.DecodeInt32() 1455 m.Cursor = buf.DecodeUint32() 1456 return nil 1457 } 1458 1459 // IPPathMtuReplaceBegin defines message 'ip_path_mtu_replace_begin'. 1460 type IPPathMtuReplaceBegin struct{} 1461 1462 func (m *IPPathMtuReplaceBegin) Reset() { *m = IPPathMtuReplaceBegin{} } 1463 func (*IPPathMtuReplaceBegin) GetMessageName() string { return "ip_path_mtu_replace_begin" } 1464 func (*IPPathMtuReplaceBegin) GetCrcString() string { return "51077d14" } 1465 func (*IPPathMtuReplaceBegin) GetMessageType() api.MessageType { 1466 return api.RequestMessage 1467 } 1468 1469 func (m *IPPathMtuReplaceBegin) Size() (size int) { 1470 if m == nil { 1471 return 0 1472 } 1473 return size 1474 } 1475 func (m *IPPathMtuReplaceBegin) Marshal(b []byte) ([]byte, error) { 1476 if b == nil { 1477 b = make([]byte, m.Size()) 1478 } 1479 buf := codec.NewBuffer(b) 1480 return buf.Bytes(), nil 1481 } 1482 func (m *IPPathMtuReplaceBegin) Unmarshal(b []byte) error { 1483 return nil 1484 } 1485 1486 // IPPathMtuReplaceBeginReply defines message 'ip_path_mtu_replace_begin_reply'. 1487 type IPPathMtuReplaceBeginReply struct { 1488 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1489 } 1490 1491 func (m *IPPathMtuReplaceBeginReply) Reset() { *m = IPPathMtuReplaceBeginReply{} } 1492 func (*IPPathMtuReplaceBeginReply) GetMessageName() string { return "ip_path_mtu_replace_begin_reply" } 1493 func (*IPPathMtuReplaceBeginReply) GetCrcString() string { return "e8d4e804" } 1494 func (*IPPathMtuReplaceBeginReply) GetMessageType() api.MessageType { 1495 return api.ReplyMessage 1496 } 1497 1498 func (m *IPPathMtuReplaceBeginReply) Size() (size int) { 1499 if m == nil { 1500 return 0 1501 } 1502 size += 4 // m.Retval 1503 return size 1504 } 1505 func (m *IPPathMtuReplaceBeginReply) Marshal(b []byte) ([]byte, error) { 1506 if b == nil { 1507 b = make([]byte, m.Size()) 1508 } 1509 buf := codec.NewBuffer(b) 1510 buf.EncodeInt32(m.Retval) 1511 return buf.Bytes(), nil 1512 } 1513 func (m *IPPathMtuReplaceBeginReply) Unmarshal(b []byte) error { 1514 buf := codec.NewBuffer(b) 1515 m.Retval = buf.DecodeInt32() 1516 return nil 1517 } 1518 1519 // IPPathMtuReplaceEnd defines message 'ip_path_mtu_replace_end'. 1520 type IPPathMtuReplaceEnd struct{} 1521 1522 func (m *IPPathMtuReplaceEnd) Reset() { *m = IPPathMtuReplaceEnd{} } 1523 func (*IPPathMtuReplaceEnd) GetMessageName() string { return "ip_path_mtu_replace_end" } 1524 func (*IPPathMtuReplaceEnd) GetCrcString() string { return "51077d14" } 1525 func (*IPPathMtuReplaceEnd) GetMessageType() api.MessageType { 1526 return api.RequestMessage 1527 } 1528 1529 func (m *IPPathMtuReplaceEnd) Size() (size int) { 1530 if m == nil { 1531 return 0 1532 } 1533 return size 1534 } 1535 func (m *IPPathMtuReplaceEnd) Marshal(b []byte) ([]byte, error) { 1536 if b == nil { 1537 b = make([]byte, m.Size()) 1538 } 1539 buf := codec.NewBuffer(b) 1540 return buf.Bytes(), nil 1541 } 1542 func (m *IPPathMtuReplaceEnd) Unmarshal(b []byte) error { 1543 return nil 1544 } 1545 1546 // IPPathMtuReplaceEndReply defines message 'ip_path_mtu_replace_end_reply'. 1547 type IPPathMtuReplaceEndReply struct { 1548 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1549 } 1550 1551 func (m *IPPathMtuReplaceEndReply) Reset() { *m = IPPathMtuReplaceEndReply{} } 1552 func (*IPPathMtuReplaceEndReply) GetMessageName() string { return "ip_path_mtu_replace_end_reply" } 1553 func (*IPPathMtuReplaceEndReply) GetCrcString() string { return "e8d4e804" } 1554 func (*IPPathMtuReplaceEndReply) GetMessageType() api.MessageType { 1555 return api.ReplyMessage 1556 } 1557 1558 func (m *IPPathMtuReplaceEndReply) Size() (size int) { 1559 if m == nil { 1560 return 0 1561 } 1562 size += 4 // m.Retval 1563 return size 1564 } 1565 func (m *IPPathMtuReplaceEndReply) Marshal(b []byte) ([]byte, error) { 1566 if b == nil { 1567 b = make([]byte, m.Size()) 1568 } 1569 buf := codec.NewBuffer(b) 1570 buf.EncodeInt32(m.Retval) 1571 return buf.Bytes(), nil 1572 } 1573 func (m *IPPathMtuReplaceEndReply) Unmarshal(b []byte) error { 1574 buf := codec.NewBuffer(b) 1575 m.Retval = buf.DecodeInt32() 1576 return nil 1577 } 1578 1579 // IPPathMtuUpdate defines message 'ip_path_mtu_update'. 1580 type IPPathMtuUpdate struct { 1581 Pmtu IPPathMtu `binapi:"ip_path_mtu,name=pmtu" json:"pmtu,omitempty"` 1582 } 1583 1584 func (m *IPPathMtuUpdate) Reset() { *m = IPPathMtuUpdate{} } 1585 func (*IPPathMtuUpdate) GetMessageName() string { return "ip_path_mtu_update" } 1586 func (*IPPathMtuUpdate) GetCrcString() string { return "10bbe5cb" } 1587 func (*IPPathMtuUpdate) GetMessageType() api.MessageType { 1588 return api.RequestMessage 1589 } 1590 1591 func (m *IPPathMtuUpdate) Size() (size int) { 1592 if m == nil { 1593 return 0 1594 } 1595 size += 4 // m.Pmtu.ClientIndex 1596 size += 4 // m.Pmtu.Context 1597 size += 4 // m.Pmtu.TableID 1598 size += 1 // m.Pmtu.Nh.Af 1599 size += 1 * 16 // m.Pmtu.Nh.Un 1600 size += 2 // m.Pmtu.PathMtu 1601 return size 1602 } 1603 func (m *IPPathMtuUpdate) Marshal(b []byte) ([]byte, error) { 1604 if b == nil { 1605 b = make([]byte, m.Size()) 1606 } 1607 buf := codec.NewBuffer(b) 1608 buf.EncodeUint32(m.Pmtu.ClientIndex) 1609 buf.EncodeUint32(m.Pmtu.Context) 1610 buf.EncodeUint32(m.Pmtu.TableID) 1611 buf.EncodeUint8(uint8(m.Pmtu.Nh.Af)) 1612 buf.EncodeBytes(m.Pmtu.Nh.Un.XXX_UnionData[:], 16) 1613 buf.EncodeUint16(m.Pmtu.PathMtu) 1614 return buf.Bytes(), nil 1615 } 1616 func (m *IPPathMtuUpdate) Unmarshal(b []byte) error { 1617 buf := codec.NewBuffer(b) 1618 m.Pmtu.ClientIndex = buf.DecodeUint32() 1619 m.Pmtu.Context = buf.DecodeUint32() 1620 m.Pmtu.TableID = buf.DecodeUint32() 1621 m.Pmtu.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1622 copy(m.Pmtu.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1623 m.Pmtu.PathMtu = buf.DecodeUint16() 1624 return nil 1625 } 1626 1627 // IPPathMtuUpdateReply defines message 'ip_path_mtu_update_reply'. 1628 type IPPathMtuUpdateReply struct { 1629 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1630 } 1631 1632 func (m *IPPathMtuUpdateReply) Reset() { *m = IPPathMtuUpdateReply{} } 1633 func (*IPPathMtuUpdateReply) GetMessageName() string { return "ip_path_mtu_update_reply" } 1634 func (*IPPathMtuUpdateReply) GetCrcString() string { return "e8d4e804" } 1635 func (*IPPathMtuUpdateReply) GetMessageType() api.MessageType { 1636 return api.ReplyMessage 1637 } 1638 1639 func (m *IPPathMtuUpdateReply) Size() (size int) { 1640 if m == nil { 1641 return 0 1642 } 1643 size += 4 // m.Retval 1644 return size 1645 } 1646 func (m *IPPathMtuUpdateReply) Marshal(b []byte) ([]byte, error) { 1647 if b == nil { 1648 b = make([]byte, m.Size()) 1649 } 1650 buf := codec.NewBuffer(b) 1651 buf.EncodeInt32(m.Retval) 1652 return buf.Bytes(), nil 1653 } 1654 func (m *IPPathMtuUpdateReply) Unmarshal(b []byte) error { 1655 buf := codec.NewBuffer(b) 1656 m.Retval = buf.DecodeInt32() 1657 return nil 1658 } 1659 1660 // IPPuntPolice defines message 'ip_punt_police'. 1661 type IPPuntPolice struct { 1662 PolicerIndex uint32 `binapi:"u32,name=policer_index" json:"policer_index,omitempty"` 1663 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 1664 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"` 1665 } 1666 1667 func (m *IPPuntPolice) Reset() { *m = IPPuntPolice{} } 1668 func (*IPPuntPolice) GetMessageName() string { return "ip_punt_police" } 1669 func (*IPPuntPolice) GetCrcString() string { return "db867cea" } 1670 func (*IPPuntPolice) GetMessageType() api.MessageType { 1671 return api.RequestMessage 1672 } 1673 1674 func (m *IPPuntPolice) Size() (size int) { 1675 if m == nil { 1676 return 0 1677 } 1678 size += 4 // m.PolicerIndex 1679 size += 1 // m.IsAdd 1680 size += 1 // m.IsIP6 1681 return size 1682 } 1683 func (m *IPPuntPolice) Marshal(b []byte) ([]byte, error) { 1684 if b == nil { 1685 b = make([]byte, m.Size()) 1686 } 1687 buf := codec.NewBuffer(b) 1688 buf.EncodeUint32(m.PolicerIndex) 1689 buf.EncodeBool(m.IsAdd) 1690 buf.EncodeBool(m.IsIP6) 1691 return buf.Bytes(), nil 1692 } 1693 func (m *IPPuntPolice) Unmarshal(b []byte) error { 1694 buf := codec.NewBuffer(b) 1695 m.PolicerIndex = buf.DecodeUint32() 1696 m.IsAdd = buf.DecodeBool() 1697 m.IsIP6 = buf.DecodeBool() 1698 return nil 1699 } 1700 1701 // IPPuntPoliceReply defines message 'ip_punt_police_reply'. 1702 type IPPuntPoliceReply struct { 1703 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1704 } 1705 1706 func (m *IPPuntPoliceReply) Reset() { *m = IPPuntPoliceReply{} } 1707 func (*IPPuntPoliceReply) GetMessageName() string { return "ip_punt_police_reply" } 1708 func (*IPPuntPoliceReply) GetCrcString() string { return "e8d4e804" } 1709 func (*IPPuntPoliceReply) GetMessageType() api.MessageType { 1710 return api.ReplyMessage 1711 } 1712 1713 func (m *IPPuntPoliceReply) Size() (size int) { 1714 if m == nil { 1715 return 0 1716 } 1717 size += 4 // m.Retval 1718 return size 1719 } 1720 func (m *IPPuntPoliceReply) Marshal(b []byte) ([]byte, error) { 1721 if b == nil { 1722 b = make([]byte, m.Size()) 1723 } 1724 buf := codec.NewBuffer(b) 1725 buf.EncodeInt32(m.Retval) 1726 return buf.Bytes(), nil 1727 } 1728 func (m *IPPuntPoliceReply) Unmarshal(b []byte) error { 1729 buf := codec.NewBuffer(b) 1730 m.Retval = buf.DecodeInt32() 1731 return nil 1732 } 1733 1734 // IPPuntRedirect defines message 'ip_punt_redirect'. 1735 // Deprecated: the message will be removed in the future versions 1736 type IPPuntRedirect struct { 1737 Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"` 1738 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 1739 } 1740 1741 func (m *IPPuntRedirect) Reset() { *m = IPPuntRedirect{} } 1742 func (*IPPuntRedirect) GetMessageName() string { return "ip_punt_redirect" } 1743 func (*IPPuntRedirect) GetCrcString() string { return "6580f635" } 1744 func (*IPPuntRedirect) GetMessageType() api.MessageType { 1745 return api.RequestMessage 1746 } 1747 1748 func (m *IPPuntRedirect) Size() (size int) { 1749 if m == nil { 1750 return 0 1751 } 1752 size += 4 // m.Punt.RxSwIfIndex 1753 size += 4 // m.Punt.TxSwIfIndex 1754 size += 1 // m.Punt.Nh.Af 1755 size += 1 * 16 // m.Punt.Nh.Un 1756 size += 1 // m.IsAdd 1757 return size 1758 } 1759 func (m *IPPuntRedirect) Marshal(b []byte) ([]byte, error) { 1760 if b == nil { 1761 b = make([]byte, m.Size()) 1762 } 1763 buf := codec.NewBuffer(b) 1764 buf.EncodeUint32(uint32(m.Punt.RxSwIfIndex)) 1765 buf.EncodeUint32(uint32(m.Punt.TxSwIfIndex)) 1766 buf.EncodeUint8(uint8(m.Punt.Nh.Af)) 1767 buf.EncodeBytes(m.Punt.Nh.Un.XXX_UnionData[:], 16) 1768 buf.EncodeBool(m.IsAdd) 1769 return buf.Bytes(), nil 1770 } 1771 func (m *IPPuntRedirect) Unmarshal(b []byte) error { 1772 buf := codec.NewBuffer(b) 1773 m.Punt.RxSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1774 m.Punt.TxSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1775 m.Punt.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1776 copy(m.Punt.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1777 m.IsAdd = buf.DecodeBool() 1778 return nil 1779 } 1780 1781 // IPPuntRedirectDetails defines message 'ip_punt_redirect_details'. 1782 type IPPuntRedirectDetails struct { 1783 Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"` 1784 } 1785 1786 func (m *IPPuntRedirectDetails) Reset() { *m = IPPuntRedirectDetails{} } 1787 func (*IPPuntRedirectDetails) GetMessageName() string { return "ip_punt_redirect_details" } 1788 func (*IPPuntRedirectDetails) GetCrcString() string { return "2cef63e7" } 1789 func (*IPPuntRedirectDetails) GetMessageType() api.MessageType { 1790 return api.ReplyMessage 1791 } 1792 1793 func (m *IPPuntRedirectDetails) Size() (size int) { 1794 if m == nil { 1795 return 0 1796 } 1797 size += 4 // m.Punt.RxSwIfIndex 1798 size += 4 // m.Punt.TxSwIfIndex 1799 size += 1 // m.Punt.Nh.Af 1800 size += 1 * 16 // m.Punt.Nh.Un 1801 return size 1802 } 1803 func (m *IPPuntRedirectDetails) Marshal(b []byte) ([]byte, error) { 1804 if b == nil { 1805 b = make([]byte, m.Size()) 1806 } 1807 buf := codec.NewBuffer(b) 1808 buf.EncodeUint32(uint32(m.Punt.RxSwIfIndex)) 1809 buf.EncodeUint32(uint32(m.Punt.TxSwIfIndex)) 1810 buf.EncodeUint8(uint8(m.Punt.Nh.Af)) 1811 buf.EncodeBytes(m.Punt.Nh.Un.XXX_UnionData[:], 16) 1812 return buf.Bytes(), nil 1813 } 1814 func (m *IPPuntRedirectDetails) Unmarshal(b []byte) error { 1815 buf := codec.NewBuffer(b) 1816 m.Punt.RxSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1817 m.Punt.TxSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1818 m.Punt.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1819 copy(m.Punt.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1820 return nil 1821 } 1822 1823 // IPPuntRedirectDump defines message 'ip_punt_redirect_dump'. 1824 type IPPuntRedirectDump struct { 1825 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 1826 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"` 1827 } 1828 1829 func (m *IPPuntRedirectDump) Reset() { *m = IPPuntRedirectDump{} } 1830 func (*IPPuntRedirectDump) GetMessageName() string { return "ip_punt_redirect_dump" } 1831 func (*IPPuntRedirectDump) GetCrcString() string { return "2d033de4" } 1832 func (*IPPuntRedirectDump) GetMessageType() api.MessageType { 1833 return api.RequestMessage 1834 } 1835 1836 func (m *IPPuntRedirectDump) Size() (size int) { 1837 if m == nil { 1838 return 0 1839 } 1840 size += 4 // m.SwIfIndex 1841 size += 1 // m.IsIPv6 1842 return size 1843 } 1844 func (m *IPPuntRedirectDump) Marshal(b []byte) ([]byte, error) { 1845 if b == nil { 1846 b = make([]byte, m.Size()) 1847 } 1848 buf := codec.NewBuffer(b) 1849 buf.EncodeUint32(uint32(m.SwIfIndex)) 1850 buf.EncodeBool(m.IsIPv6) 1851 return buf.Bytes(), nil 1852 } 1853 func (m *IPPuntRedirectDump) Unmarshal(b []byte) error { 1854 buf := codec.NewBuffer(b) 1855 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1856 m.IsIPv6 = buf.DecodeBool() 1857 return nil 1858 } 1859 1860 // IPPuntRedirectReply defines message 'ip_punt_redirect_reply'. 1861 // Deprecated: the message will be removed in the future versions 1862 type IPPuntRedirectReply struct { 1863 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1864 } 1865 1866 func (m *IPPuntRedirectReply) Reset() { *m = IPPuntRedirectReply{} } 1867 func (*IPPuntRedirectReply) GetMessageName() string { return "ip_punt_redirect_reply" } 1868 func (*IPPuntRedirectReply) GetCrcString() string { return "e8d4e804" } 1869 func (*IPPuntRedirectReply) GetMessageType() api.MessageType { 1870 return api.ReplyMessage 1871 } 1872 1873 func (m *IPPuntRedirectReply) Size() (size int) { 1874 if m == nil { 1875 return 0 1876 } 1877 size += 4 // m.Retval 1878 return size 1879 } 1880 func (m *IPPuntRedirectReply) Marshal(b []byte) ([]byte, error) { 1881 if b == nil { 1882 b = make([]byte, m.Size()) 1883 } 1884 buf := codec.NewBuffer(b) 1885 buf.EncodeInt32(m.Retval) 1886 return buf.Bytes(), nil 1887 } 1888 func (m *IPPuntRedirectReply) Unmarshal(b []byte) error { 1889 buf := codec.NewBuffer(b) 1890 m.Retval = buf.DecodeInt32() 1891 return nil 1892 } 1893 1894 // IPPuntRedirectV2Details defines message 'ip_punt_redirect_v2_details'. 1895 type IPPuntRedirectV2Details struct { 1896 Punt PuntRedirectV2 `binapi:"punt_redirect_v2,name=punt" json:"punt,omitempty"` 1897 } 1898 1899 func (m *IPPuntRedirectV2Details) Reset() { *m = IPPuntRedirectV2Details{} } 1900 func (*IPPuntRedirectV2Details) GetMessageName() string { return "ip_punt_redirect_v2_details" } 1901 func (*IPPuntRedirectV2Details) GetCrcString() string { return "7ba42e1d" } 1902 func (*IPPuntRedirectV2Details) GetMessageType() api.MessageType { 1903 return api.ReplyMessage 1904 } 1905 1906 func (m *IPPuntRedirectV2Details) Size() (size int) { 1907 if m == nil { 1908 return 0 1909 } 1910 size += 4 // m.Punt.RxSwIfIndex 1911 size += 1 // m.Punt.Af 1912 size += 4 // m.Punt.NPaths 1913 for j2 := 0; j2 < len(m.Punt.Paths); j2++ { 1914 var s2 fib_types.FibPath 1915 _ = s2 1916 if j2 < len(m.Punt.Paths) { 1917 s2 = m.Punt.Paths[j2] 1918 } 1919 size += 4 // s2.SwIfIndex 1920 size += 4 // s2.TableID 1921 size += 4 // s2.RpfID 1922 size += 1 // s2.Weight 1923 size += 1 // s2.Preference 1924 size += 4 // s2.Type 1925 size += 4 // s2.Flags 1926 size += 4 // s2.Proto 1927 size += 1 * 16 // s2.Nh.Address 1928 size += 4 // s2.Nh.ViaLabel 1929 size += 4 // s2.Nh.ObjID 1930 size += 4 // s2.Nh.ClassifyTableIndex 1931 size += 1 // s2.NLabels 1932 for j3 := 0; j3 < 16; j3++ { 1933 size += 1 // s2.LabelStack[j3].IsUniform 1934 size += 4 // s2.LabelStack[j3].Label 1935 size += 1 // s2.LabelStack[j3].TTL 1936 size += 1 // s2.LabelStack[j3].Exp 1937 } 1938 } 1939 return size 1940 } 1941 func (m *IPPuntRedirectV2Details) Marshal(b []byte) ([]byte, error) { 1942 if b == nil { 1943 b = make([]byte, m.Size()) 1944 } 1945 buf := codec.NewBuffer(b) 1946 buf.EncodeUint32(uint32(m.Punt.RxSwIfIndex)) 1947 buf.EncodeUint8(uint8(m.Punt.Af)) 1948 buf.EncodeUint32(uint32(len(m.Punt.Paths))) 1949 for j1 := 0; j1 < len(m.Punt.Paths); j1++ { 1950 var v1 fib_types.FibPath // Paths 1951 if j1 < len(m.Punt.Paths) { 1952 v1 = m.Punt.Paths[j1] 1953 } 1954 buf.EncodeUint32(v1.SwIfIndex) 1955 buf.EncodeUint32(v1.TableID) 1956 buf.EncodeUint32(v1.RpfID) 1957 buf.EncodeUint8(v1.Weight) 1958 buf.EncodeUint8(v1.Preference) 1959 buf.EncodeUint32(uint32(v1.Type)) 1960 buf.EncodeUint32(uint32(v1.Flags)) 1961 buf.EncodeUint32(uint32(v1.Proto)) 1962 buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 16) 1963 buf.EncodeUint32(v1.Nh.ViaLabel) 1964 buf.EncodeUint32(v1.Nh.ObjID) 1965 buf.EncodeUint32(v1.Nh.ClassifyTableIndex) 1966 buf.EncodeUint8(v1.NLabels) 1967 for j2 := 0; j2 < 16; j2++ { 1968 buf.EncodeUint8(v1.LabelStack[j2].IsUniform) 1969 buf.EncodeUint32(v1.LabelStack[j2].Label) 1970 buf.EncodeUint8(v1.LabelStack[j2].TTL) 1971 buf.EncodeUint8(v1.LabelStack[j2].Exp) 1972 } 1973 } 1974 return buf.Bytes(), nil 1975 } 1976 func (m *IPPuntRedirectV2Details) Unmarshal(b []byte) error { 1977 buf := codec.NewBuffer(b) 1978 m.Punt.RxSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1979 m.Punt.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1980 m.Punt.NPaths = buf.DecodeUint32() 1981 m.Punt.Paths = make([]fib_types.FibPath, m.Punt.NPaths) 1982 for j1 := 0; j1 < len(m.Punt.Paths); j1++ { 1983 m.Punt.Paths[j1].SwIfIndex = buf.DecodeUint32() 1984 m.Punt.Paths[j1].TableID = buf.DecodeUint32() 1985 m.Punt.Paths[j1].RpfID = buf.DecodeUint32() 1986 m.Punt.Paths[j1].Weight = buf.DecodeUint8() 1987 m.Punt.Paths[j1].Preference = buf.DecodeUint8() 1988 m.Punt.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32()) 1989 m.Punt.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32()) 1990 m.Punt.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) 1991 copy(m.Punt.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) 1992 m.Punt.Paths[j1].Nh.ViaLabel = buf.DecodeUint32() 1993 m.Punt.Paths[j1].Nh.ObjID = buf.DecodeUint32() 1994 m.Punt.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32() 1995 m.Punt.Paths[j1].NLabels = buf.DecodeUint8() 1996 for j2 := 0; j2 < 16; j2++ { 1997 m.Punt.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8() 1998 m.Punt.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32() 1999 m.Punt.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8() 2000 m.Punt.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8() 2001 } 2002 } 2003 return nil 2004 } 2005 2006 // IPPuntRedirectV2Dump defines message 'ip_punt_redirect_v2_dump'. 2007 type IPPuntRedirectV2Dump struct { 2008 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 2009 Af ip_types.AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"` 2010 } 2011 2012 func (m *IPPuntRedirectV2Dump) Reset() { *m = IPPuntRedirectV2Dump{} } 2013 func (*IPPuntRedirectV2Dump) GetMessageName() string { return "ip_punt_redirect_v2_dump" } 2014 func (*IPPuntRedirectV2Dump) GetCrcString() string { return "d817a484" } 2015 func (*IPPuntRedirectV2Dump) GetMessageType() api.MessageType { 2016 return api.RequestMessage 2017 } 2018 2019 func (m *IPPuntRedirectV2Dump) Size() (size int) { 2020 if m == nil { 2021 return 0 2022 } 2023 size += 4 // m.SwIfIndex 2024 size += 1 // m.Af 2025 return size 2026 } 2027 func (m *IPPuntRedirectV2Dump) Marshal(b []byte) ([]byte, error) { 2028 if b == nil { 2029 b = make([]byte, m.Size()) 2030 } 2031 buf := codec.NewBuffer(b) 2032 buf.EncodeUint32(uint32(m.SwIfIndex)) 2033 buf.EncodeUint8(uint8(m.Af)) 2034 return buf.Bytes(), nil 2035 } 2036 func (m *IPPuntRedirectV2Dump) Unmarshal(b []byte) error { 2037 buf := codec.NewBuffer(b) 2038 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 2039 m.Af = ip_types.AddressFamily(buf.DecodeUint8()) 2040 return nil 2041 } 2042 2043 // IPReassemblyEnableDisable defines message 'ip_reassembly_enable_disable'. 2044 type IPReassemblyEnableDisable struct { 2045 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 2046 EnableIP4 bool `binapi:"bool,name=enable_ip4" json:"enable_ip4,omitempty"` 2047 EnableIP6 bool `binapi:"bool,name=enable_ip6" json:"enable_ip6,omitempty"` 2048 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"` 2049 } 2050 2051 func (m *IPReassemblyEnableDisable) Reset() { *m = IPReassemblyEnableDisable{} } 2052 func (*IPReassemblyEnableDisable) GetMessageName() string { return "ip_reassembly_enable_disable" } 2053 func (*IPReassemblyEnableDisable) GetCrcString() string { return "eb77968d" } 2054 func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType { 2055 return api.RequestMessage 2056 } 2057 2058 func (m *IPReassemblyEnableDisable) Size() (size int) { 2059 if m == nil { 2060 return 0 2061 } 2062 size += 4 // m.SwIfIndex 2063 size += 1 // m.EnableIP4 2064 size += 1 // m.EnableIP6 2065 size += 4 // m.Type 2066 return size 2067 } 2068 func (m *IPReassemblyEnableDisable) Marshal(b []byte) ([]byte, error) { 2069 if b == nil { 2070 b = make([]byte, m.Size()) 2071 } 2072 buf := codec.NewBuffer(b) 2073 buf.EncodeUint32(uint32(m.SwIfIndex)) 2074 buf.EncodeBool(m.EnableIP4) 2075 buf.EncodeBool(m.EnableIP6) 2076 buf.EncodeUint32(uint32(m.Type)) 2077 return buf.Bytes(), nil 2078 } 2079 func (m *IPReassemblyEnableDisable) Unmarshal(b []byte) error { 2080 buf := codec.NewBuffer(b) 2081 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 2082 m.EnableIP4 = buf.DecodeBool() 2083 m.EnableIP6 = buf.DecodeBool() 2084 m.Type = IPReassType(buf.DecodeUint32()) 2085 return nil 2086 } 2087 2088 // IPReassemblyEnableDisableReply defines message 'ip_reassembly_enable_disable_reply'. 2089 type IPReassemblyEnableDisableReply struct { 2090 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 2091 } 2092 2093 func (m *IPReassemblyEnableDisableReply) Reset() { *m = IPReassemblyEnableDisableReply{} } 2094 func (*IPReassemblyEnableDisableReply) GetMessageName() string { 2095 return "ip_reassembly_enable_disable_reply" 2096 } 2097 func (*IPReassemblyEnableDisableReply) GetCrcString() string { return "e8d4e804" } 2098 func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType { 2099 return api.ReplyMessage 2100 } 2101 2102 func (m *IPReassemblyEnableDisableReply) Size() (size int) { 2103 if m == nil { 2104 return 0 2105 } 2106 size += 4 // m.Retval 2107 return size 2108 } 2109 func (m *IPReassemblyEnableDisableReply) Marshal(b []byte) ([]byte, error) { 2110 if b == nil { 2111 b = make([]byte, m.Size()) 2112 } 2113 buf := codec.NewBuffer(b) 2114 buf.EncodeInt32(m.Retval) 2115 return buf.Bytes(), nil 2116 } 2117 func (m *IPReassemblyEnableDisableReply) Unmarshal(b []byte) error { 2118 buf := codec.NewBuffer(b) 2119 m.Retval = buf.DecodeInt32() 2120 return nil 2121 } 2122 2123 // IPReassemblyGet defines message 'ip_reassembly_get'. 2124 type IPReassemblyGet struct { 2125 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"` 2126 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"` 2127 } 2128 2129 func (m *IPReassemblyGet) Reset() { *m = IPReassemblyGet{} } 2130 func (*IPReassemblyGet) GetMessageName() string { return "ip_reassembly_get" } 2131 func (*IPReassemblyGet) GetCrcString() string { return "ea13ff63" } 2132 func (*IPReassemblyGet) GetMessageType() api.MessageType { 2133 return api.RequestMessage 2134 } 2135 2136 func (m *IPReassemblyGet) Size() (size int) { 2137 if m == nil { 2138 return 0 2139 } 2140 size += 1 // m.IsIP6 2141 size += 4 // m.Type 2142 return size 2143 } 2144 func (m *IPReassemblyGet) Marshal(b []byte) ([]byte, error) { 2145 if b == nil { 2146 b = make([]byte, m.Size()) 2147 } 2148 buf := codec.NewBuffer(b) 2149 buf.EncodeBool(m.IsIP6) 2150 buf.EncodeUint32(uint32(m.Type)) 2151 return buf.Bytes(), nil 2152 } 2153 func (m *IPReassemblyGet) Unmarshal(b []byte) error { 2154 buf := codec.NewBuffer(b) 2155 m.IsIP6 = buf.DecodeBool() 2156 m.Type = IPReassType(buf.DecodeUint32()) 2157 return nil 2158 } 2159 2160 // IPReassemblyGetReply defines message 'ip_reassembly_get_reply'. 2161 type IPReassemblyGetReply struct { 2162 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 2163 TimeoutMs uint32 `binapi:"u32,name=timeout_ms" json:"timeout_ms,omitempty"` 2164 MaxReassemblies uint32 `binapi:"u32,name=max_reassemblies" json:"max_reassemblies,omitempty"` 2165 MaxReassemblyLength uint32 `binapi:"u32,name=max_reassembly_length" json:"max_reassembly_length,omitempty"` 2166 ExpireWalkIntervalMs uint32 `binapi:"u32,name=expire_walk_interval_ms" json:"expire_walk_interval_ms,omitempty"` 2167 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"` 2168 } 2169 2170 func (m *IPReassemblyGetReply) Reset() { *m = IPReassemblyGetReply{} } 2171 func (*IPReassemblyGetReply) GetMessageName() string { return "ip_reassembly_get_reply" } 2172 func (*IPReassemblyGetReply) GetCrcString() string { return "d5eb8d34" } 2173 func (*IPReassemblyGetReply) GetMessageType() api.MessageType { 2174 return api.ReplyMessage 2175 } 2176 2177 func (m *IPReassemblyGetReply) Size() (size int) { 2178 if m == nil { 2179 return 0 2180 } 2181 size += 4 // m.Retval 2182 size += 4 // m.TimeoutMs 2183 size += 4 // m.MaxReassemblies 2184 size += 4 // m.MaxReassemblyLength 2185 size += 4 // m.ExpireWalkIntervalMs 2186 size += 1 // m.IsIP6 2187 return size 2188 } 2189 func (m *IPReassemblyGetReply) Marshal(b []byte) ([]byte, error) { 2190 if b == nil { 2191 b = make([]byte, m.Size()) 2192 } 2193 buf := codec.NewBuffer(b) 2194 buf.EncodeInt32(m.Retval) 2195 buf.EncodeUint32(m.TimeoutMs) 2196 buf.EncodeUint32(m.MaxReassemblies) 2197 buf.EncodeUint32(m.MaxReassemblyLength) 2198 buf.EncodeUint32(m.ExpireWalkIntervalMs) 2199 buf.EncodeBool(m.IsIP6) 2200 return buf.Bytes(), nil 2201 } 2202 func (m *IPReassemblyGetReply) Unmarshal(b []byte) error { 2203 buf := codec.NewBuffer(b) 2204 m.Retval = buf.DecodeInt32() 2205 m.TimeoutMs = buf.DecodeUint32() 2206 m.MaxReassemblies = buf.DecodeUint32() 2207 m.MaxReassemblyLength = buf.DecodeUint32() 2208 m.ExpireWalkIntervalMs = buf.DecodeUint32() 2209 m.IsIP6 = buf.DecodeBool() 2210 return nil 2211 } 2212 2213 // IPReassemblySet defines message 'ip_reassembly_set'. 2214 type IPReassemblySet struct { 2215 TimeoutMs uint32 `binapi:"u32,name=timeout_ms" json:"timeout_ms,omitempty"` 2216 MaxReassemblies uint32 `binapi:"u32,name=max_reassemblies" json:"max_reassemblies,omitempty"` 2217 MaxReassemblyLength uint32 `binapi:"u32,name=max_reassembly_length" json:"max_reassembly_length,omitempty"` 2218 ExpireWalkIntervalMs uint32 `binapi:"u32,name=expire_walk_interval_ms" json:"expire_walk_interval_ms,omitempty"` 2219 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"` 2220 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"` 2221 } 2222 2223 func (m *IPReassemblySet) Reset() { *m = IPReassemblySet{} } 2224 func (*IPReassemblySet) GetMessageName() string { return "ip_reassembly_set" } 2225 func (*IPReassemblySet) GetCrcString() string { return "16467d25" } 2226 func (*IPReassemblySet) GetMessageType() api.MessageType { 2227 return api.RequestMessage 2228 } 2229 2230 func (m *IPReassemblySet) Size() (size int) { 2231 if m == nil { 2232 return 0 2233 } 2234 size += 4 // m.TimeoutMs 2235 size += 4 // m.MaxReassemblies 2236 size += 4 // m.MaxReassemblyLength 2237 size += 4 // m.ExpireWalkIntervalMs 2238 size += 1 // m.IsIP6 2239 size += 4 // m.Type 2240 return size 2241 } 2242 func (m *IPReassemblySet) Marshal(b []byte) ([]byte, error) { 2243 if b == nil { 2244 b = make([]byte, m.Size()) 2245 } 2246 buf := codec.NewBuffer(b) 2247 buf.EncodeUint32(m.TimeoutMs) 2248 buf.EncodeUint32(m.MaxReassemblies) 2249 buf.EncodeUint32(m.MaxReassemblyLength) 2250 buf.EncodeUint32(m.ExpireWalkIntervalMs) 2251 buf.EncodeBool(m.IsIP6) 2252 buf.EncodeUint32(uint32(m.Type)) 2253 return buf.Bytes(), nil 2254 } 2255 func (m *IPReassemblySet) Unmarshal(b []byte) error { 2256 buf := codec.NewBuffer(b) 2257 m.TimeoutMs = buf.DecodeUint32() 2258 m.MaxReassemblies = buf.DecodeUint32() 2259 m.MaxReassemblyLength = buf.DecodeUint32() 2260 m.ExpireWalkIntervalMs = buf.DecodeUint32() 2261 m.IsIP6 = buf.DecodeBool() 2262 m.Type = IPReassType(buf.DecodeUint32()) 2263 return nil 2264 } 2265 2266 // IPReassemblySetReply defines message 'ip_reassembly_set_reply'. 2267 type IPReassemblySetReply struct { 2268 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 2269 } 2270 2271 func (m *IPReassemblySetReply) Reset() { *m = IPReassemblySetReply{} } 2272 func (*IPReassemblySetReply) GetMessageName() string { return "ip_reassembly_set_reply" } 2273 func (*IPReassemblySetReply) GetCrcString() string { return "e8d4e804" } 2274 func (*IPReassemblySetReply) GetMessageType() api.MessageType { 2275 return api.ReplyMessage 2276 } 2277 2278 func (m *IPReassemblySetReply) Size() (size int) { 2279 if m == nil { 2280 return 0 2281 } 2282 size += 4 // m.Retval 2283 return size 2284 } 2285 func (m *IPReassemblySetReply) Marshal(b []byte) ([]byte, error) { 2286 if b == nil { 2287 b = make([]byte, m.Size()) 2288 } 2289 buf := codec.NewBuffer(b) 2290 buf.EncodeInt32(m.Retval) 2291 return buf.Bytes(), nil 2292 } 2293 func (m *IPReassemblySetReply) Unmarshal(b []byte) error { 2294 buf := codec.NewBuffer(b) 2295 m.Retval = buf.DecodeInt32() 2296 return nil 2297 } 2298 2299 // IPRouteAddDel defines message 'ip_route_add_del'. 2300 type IPRouteAddDel struct { 2301 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 2302 IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"` 2303 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"` 2304 } 2305 2306 func (m *IPRouteAddDel) Reset() { *m = IPRouteAddDel{} } 2307 func (*IPRouteAddDel) GetMessageName() string { return "ip_route_add_del" } 2308 func (*IPRouteAddDel) GetCrcString() string { return "b8ecfe0d" } 2309 func (*IPRouteAddDel) GetMessageType() api.MessageType { 2310 return api.RequestMessage 2311 } 2312 2313 func (m *IPRouteAddDel) Size() (size int) { 2314 if m == nil { 2315 return 0 2316 } 2317 size += 1 // m.IsAdd 2318 size += 1 // m.IsMultipath 2319 size += 4 // m.Route.TableID 2320 size += 4 // m.Route.StatsIndex 2321 size += 1 // m.Route.Prefix.Address.Af 2322 size += 1 * 16 // m.Route.Prefix.Address.Un 2323 size += 1 // m.Route.Prefix.Len 2324 size += 1 // m.Route.NPaths 2325 for j2 := 0; j2 < len(m.Route.Paths); j2++ { 2326 var s2 fib_types.FibPath 2327 _ = s2 2328 if j2 < len(m.Route.Paths) { 2329 s2 = m.Route.Paths[j2] 2330 } 2331 size += 4 // s2.SwIfIndex 2332 size += 4 // s2.TableID 2333 size += 4 // s2.RpfID 2334 size += 1 // s2.Weight 2335 size += 1 // s2.Preference 2336 size += 4 // s2.Type 2337 size += 4 // s2.Flags 2338 size += 4 // s2.Proto 2339 size += 1 * 16 // s2.Nh.Address 2340 size += 4 // s2.Nh.ViaLabel 2341 size += 4 // s2.Nh.ObjID 2342 size += 4 // s2.Nh.ClassifyTableIndex 2343 size += 1 // s2.NLabels 2344 for j3 := 0; j3 < 16; j3++ { 2345 size += 1 // s2.LabelStack[j3].IsUniform 2346 size += 4 // s2.LabelStack[j3].Label 2347 size += 1 // s2.LabelStack[j3].TTL 2348 size += 1 // s2.LabelStack[j3].Exp 2349 } 2350 } 2351 return size 2352 } 2353 func (m *IPRouteAddDel) Marshal(b []byte) ([]byte, error) { 2354 if b == nil { 2355 b = make([]byte, m.Size()) 2356 } 2357 buf := codec.NewBuffer(b) 2358 buf.EncodeBool(m.IsAdd) 2359 buf.EncodeBool(m.IsMultipath) 2360 buf.EncodeUint32(m.Route.TableID) 2361 buf.EncodeUint32(m.Route.StatsIndex) 2362 buf.EncodeUint8(uint8(m.Route.Prefix.Address.Af)) 2363 buf.EncodeBytes(m.Route.Prefix.Address.Un.XXX_UnionData[:], 16) 2364 buf.EncodeUint8(m.Route.Prefix.Len) 2365 buf.EncodeUint8(uint8(len(m.Route.Paths))) 2366 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 2367 var v1 fib_types.FibPath // Paths 2368 if j1 < len(m.Route.Paths) { 2369 v1 = m.Route.Paths[j1] 2370 } 2371 buf.EncodeUint32(v1.SwIfIndex) 2372 buf.EncodeUint32(v1.TableID) 2373 buf.EncodeUint32(v1.RpfID) 2374 buf.EncodeUint8(v1.Weight) 2375 buf.EncodeUint8(v1.Preference) 2376 buf.EncodeUint32(uint32(v1.Type)) 2377 buf.EncodeUint32(uint32(v1.Flags)) 2378 buf.EncodeUint32(uint32(v1.Proto)) 2379 buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 16) 2380 buf.EncodeUint32(v1.Nh.ViaLabel) 2381 buf.EncodeUint32(v1.Nh.ObjID) 2382 buf.EncodeUint32(v1.Nh.ClassifyTableIndex) 2383 buf.EncodeUint8(v1.NLabels) 2384 for j2 := 0; j2 < 16; j2++ { 2385 buf.EncodeUint8(v1.LabelStack[j2].IsUniform) 2386 buf.EncodeUint32(v1.LabelStack[j2].Label) 2387 buf.EncodeUint8(v1.LabelStack[j2].TTL) 2388 buf.EncodeUint8(v1.LabelStack[j2].Exp) 2389 } 2390 } 2391 return buf.Bytes(), nil 2392 } 2393 func (m *IPRouteAddDel) Unmarshal(b []byte) error { 2394 buf := codec.NewBuffer(b) 2395 m.IsAdd = buf.DecodeBool() 2396 m.IsMultipath = buf.DecodeBool() 2397 m.Route.TableID = buf.DecodeUint32() 2398 m.Route.StatsIndex = buf.DecodeUint32() 2399 m.Route.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 2400 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 2401 m.Route.Prefix.Len = buf.DecodeUint8() 2402 m.Route.NPaths = buf.DecodeUint8() 2403 m.Route.Paths = make([]fib_types.FibPath, m.Route.NPaths) 2404 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 2405 m.Route.Paths[j1].SwIfIndex = buf.DecodeUint32() 2406 m.Route.Paths[j1].TableID = buf.DecodeUint32() 2407 m.Route.Paths[j1].RpfID = buf.DecodeUint32() 2408 m.Route.Paths[j1].Weight = buf.DecodeUint8() 2409 m.Route.Paths[j1].Preference = buf.DecodeUint8() 2410 m.Route.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32()) 2411 m.Route.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32()) 2412 m.Route.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) 2413 copy(m.Route.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) 2414 m.Route.Paths[j1].Nh.ViaLabel = buf.DecodeUint32() 2415 m.Route.Paths[j1].Nh.ObjID = buf.DecodeUint32() 2416 m.Route.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32() 2417 m.Route.Paths[j1].NLabels = buf.DecodeUint8() 2418 for j2 := 0; j2 < 16; j2++ { 2419 m.Route.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8() 2420 m.Route.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32() 2421 m.Route.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8() 2422 m.Route.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8() 2423 } 2424 } 2425 return nil 2426 } 2427 2428 // IPRouteAddDelReply defines message 'ip_route_add_del_reply'. 2429 type IPRouteAddDelReply struct { 2430 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 2431 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"` 2432 } 2433 2434 func (m *IPRouteAddDelReply) Reset() { *m = IPRouteAddDelReply{} } 2435 func (*IPRouteAddDelReply) GetMessageName() string { return "ip_route_add_del_reply" } 2436 func (*IPRouteAddDelReply) GetCrcString() string { return "1992deab" } 2437 func (*IPRouteAddDelReply) GetMessageType() api.MessageType { 2438 return api.ReplyMessage 2439 } 2440 2441 func (m *IPRouteAddDelReply) Size() (size int) { 2442 if m == nil { 2443 return 0 2444 } 2445 size += 4 // m.Retval 2446 size += 4 // m.StatsIndex 2447 return size 2448 } 2449 func (m *IPRouteAddDelReply) Marshal(b []byte) ([]byte, error) { 2450 if b == nil { 2451 b = make([]byte, m.Size()) 2452 } 2453 buf := codec.NewBuffer(b) 2454 buf.EncodeInt32(m.Retval) 2455 buf.EncodeUint32(m.StatsIndex) 2456 return buf.Bytes(), nil 2457 } 2458 func (m *IPRouteAddDelReply) Unmarshal(b []byte) error { 2459 buf := codec.NewBuffer(b) 2460 m.Retval = buf.DecodeInt32() 2461 m.StatsIndex = buf.DecodeUint32() 2462 return nil 2463 } 2464 2465 // IPRouteAddDelV2 defines message 'ip_route_add_del_v2'. 2466 // InProgress: the message form may change in the future versions 2467 type IPRouteAddDelV2 struct { 2468 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 2469 IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"` 2470 Route IPRouteV2 `binapi:"ip_route_v2,name=route" json:"route,omitempty"` 2471 } 2472 2473 func (m *IPRouteAddDelV2) Reset() { *m = IPRouteAddDelV2{} } 2474 func (*IPRouteAddDelV2) GetMessageName() string { return "ip_route_add_del_v2" } 2475 func (*IPRouteAddDelV2) GetCrcString() string { return "521ef330" } 2476 func (*IPRouteAddDelV2) GetMessageType() api.MessageType { 2477 return api.RequestMessage 2478 } 2479 2480 func (m *IPRouteAddDelV2) Size() (size int) { 2481 if m == nil { 2482 return 0 2483 } 2484 size += 1 // m.IsAdd 2485 size += 1 // m.IsMultipath 2486 size += 4 // m.Route.TableID 2487 size += 4 // m.Route.StatsIndex 2488 size += 1 // m.Route.Prefix.Address.Af 2489 size += 1 * 16 // m.Route.Prefix.Address.Un 2490 size += 1 // m.Route.Prefix.Len 2491 size += 1 // m.Route.NPaths 2492 size += 1 // m.Route.Src 2493 for j2 := 0; j2 < len(m.Route.Paths); j2++ { 2494 var s2 fib_types.FibPath 2495 _ = s2 2496 if j2 < len(m.Route.Paths) { 2497 s2 = m.Route.Paths[j2] 2498 } 2499 size += 4 // s2.SwIfIndex 2500 size += 4 // s2.TableID 2501 size += 4 // s2.RpfID 2502 size += 1 // s2.Weight 2503 size += 1 // s2.Preference 2504 size += 4 // s2.Type 2505 size += 4 // s2.Flags 2506 size += 4 // s2.Proto 2507 size += 1 * 16 // s2.Nh.Address 2508 size += 4 // s2.Nh.ViaLabel 2509 size += 4 // s2.Nh.ObjID 2510 size += 4 // s2.Nh.ClassifyTableIndex 2511 size += 1 // s2.NLabels 2512 for j3 := 0; j3 < 16; j3++ { 2513 size += 1 // s2.LabelStack[j3].IsUniform 2514 size += 4 // s2.LabelStack[j3].Label 2515 size += 1 // s2.LabelStack[j3].TTL 2516 size += 1 // s2.LabelStack[j3].Exp 2517 } 2518 } 2519 return size 2520 } 2521 func (m *IPRouteAddDelV2) Marshal(b []byte) ([]byte, error) { 2522 if b == nil { 2523 b = make([]byte, m.Size()) 2524 } 2525 buf := codec.NewBuffer(b) 2526 buf.EncodeBool(m.IsAdd) 2527 buf.EncodeBool(m.IsMultipath) 2528 buf.EncodeUint32(m.Route.TableID) 2529 buf.EncodeUint32(m.Route.StatsIndex) 2530 buf.EncodeUint8(uint8(m.Route.Prefix.Address.Af)) 2531 buf.EncodeBytes(m.Route.Prefix.Address.Un.XXX_UnionData[:], 16) 2532 buf.EncodeUint8(m.Route.Prefix.Len) 2533 buf.EncodeUint8(uint8(len(m.Route.Paths))) 2534 buf.EncodeUint8(m.Route.Src) 2535 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 2536 var v1 fib_types.FibPath // Paths 2537 if j1 < len(m.Route.Paths) { 2538 v1 = m.Route.Paths[j1] 2539 } 2540 buf.EncodeUint32(v1.SwIfIndex) 2541 buf.EncodeUint32(v1.TableID) 2542 buf.EncodeUint32(v1.RpfID) 2543 buf.EncodeUint8(v1.Weight) 2544 buf.EncodeUint8(v1.Preference) 2545 buf.EncodeUint32(uint32(v1.Type)) 2546 buf.EncodeUint32(uint32(v1.Flags)) 2547 buf.EncodeUint32(uint32(v1.Proto)) 2548 buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 16) 2549 buf.EncodeUint32(v1.Nh.ViaLabel) 2550 buf.EncodeUint32(v1.Nh.ObjID) 2551 buf.EncodeUint32(v1.Nh.ClassifyTableIndex) 2552 buf.EncodeUint8(v1.NLabels) 2553 for j2 := 0; j2 < 16; j2++ { 2554 buf.EncodeUint8(v1.LabelStack[j2].IsUniform) 2555 buf.EncodeUint32(v1.LabelStack[j2].Label) 2556 buf.EncodeUint8(v1.LabelStack[j2].TTL) 2557 buf.EncodeUint8(v1.LabelStack[j2].Exp) 2558 } 2559 } 2560 return buf.Bytes(), nil 2561 } 2562 func (m *IPRouteAddDelV2) Unmarshal(b []byte) error { 2563 buf := codec.NewBuffer(b) 2564 m.IsAdd = buf.DecodeBool() 2565 m.IsMultipath = buf.DecodeBool() 2566 m.Route.TableID = buf.DecodeUint32() 2567 m.Route.StatsIndex = buf.DecodeUint32() 2568 m.Route.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 2569 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 2570 m.Route.Prefix.Len = buf.DecodeUint8() 2571 m.Route.NPaths = buf.DecodeUint8() 2572 m.Route.Src = buf.DecodeUint8() 2573 m.Route.Paths = make([]fib_types.FibPath, m.Route.NPaths) 2574 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 2575 m.Route.Paths[j1].SwIfIndex = buf.DecodeUint32() 2576 m.Route.Paths[j1].TableID = buf.DecodeUint32() 2577 m.Route.Paths[j1].RpfID = buf.DecodeUint32() 2578 m.Route.Paths[j1].Weight = buf.DecodeUint8() 2579 m.Route.Paths[j1].Preference = buf.DecodeUint8() 2580 m.Route.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32()) 2581 m.Route.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32()) 2582 m.Route.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) 2583 copy(m.Route.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) 2584 m.Route.Paths[j1].Nh.ViaLabel = buf.DecodeUint32() 2585 m.Route.Paths[j1].Nh.ObjID = buf.DecodeUint32() 2586 m.Route.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32() 2587 m.Route.Paths[j1].NLabels = buf.DecodeUint8() 2588 for j2 := 0; j2 < 16; j2++ { 2589 m.Route.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8() 2590 m.Route.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32() 2591 m.Route.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8() 2592 m.Route.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8() 2593 } 2594 } 2595 return nil 2596 } 2597 2598 // IPRouteAddDelV2Reply defines message 'ip_route_add_del_v2_reply'. 2599 // InProgress: the message form may change in the future versions 2600 type IPRouteAddDelV2Reply struct { 2601 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 2602 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"` 2603 } 2604 2605 func (m *IPRouteAddDelV2Reply) Reset() { *m = IPRouteAddDelV2Reply{} } 2606 func (*IPRouteAddDelV2Reply) GetMessageName() string { return "ip_route_add_del_v2_reply" } 2607 func (*IPRouteAddDelV2Reply) GetCrcString() string { return "1992deab" } 2608 func (*IPRouteAddDelV2Reply) GetMessageType() api.MessageType { 2609 return api.ReplyMessage 2610 } 2611 2612 func (m *IPRouteAddDelV2Reply) Size() (size int) { 2613 if m == nil { 2614 return 0 2615 } 2616 size += 4 // m.Retval 2617 size += 4 // m.StatsIndex 2618 return size 2619 } 2620 func (m *IPRouteAddDelV2Reply) Marshal(b []byte) ([]byte, error) { 2621 if b == nil { 2622 b = make([]byte, m.Size()) 2623 } 2624 buf := codec.NewBuffer(b) 2625 buf.EncodeInt32(m.Retval) 2626 buf.EncodeUint32(m.StatsIndex) 2627 return buf.Bytes(), nil 2628 } 2629 func (m *IPRouteAddDelV2Reply) Unmarshal(b []byte) error { 2630 buf := codec.NewBuffer(b) 2631 m.Retval = buf.DecodeInt32() 2632 m.StatsIndex = buf.DecodeUint32() 2633 return nil 2634 } 2635 2636 // IPRouteDetails defines message 'ip_route_details'. 2637 type IPRouteDetails struct { 2638 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"` 2639 } 2640 2641 func (m *IPRouteDetails) Reset() { *m = IPRouteDetails{} } 2642 func (*IPRouteDetails) GetMessageName() string { return "ip_route_details" } 2643 func (*IPRouteDetails) GetCrcString() string { return "bda8f315" } 2644 func (*IPRouteDetails) GetMessageType() api.MessageType { 2645 return api.ReplyMessage 2646 } 2647 2648 func (m *IPRouteDetails) Size() (size int) { 2649 if m == nil { 2650 return 0 2651 } 2652 size += 4 // m.Route.TableID 2653 size += 4 // m.Route.StatsIndex 2654 size += 1 // m.Route.Prefix.Address.Af 2655 size += 1 * 16 // m.Route.Prefix.Address.Un 2656 size += 1 // m.Route.Prefix.Len 2657 size += 1 // m.Route.NPaths 2658 for j2 := 0; j2 < len(m.Route.Paths); j2++ { 2659 var s2 fib_types.FibPath 2660 _ = s2 2661 if j2 < len(m.Route.Paths) { 2662 s2 = m.Route.Paths[j2] 2663 } 2664 size += 4 // s2.SwIfIndex 2665 size += 4 // s2.TableID 2666 size += 4 // s2.RpfID 2667 size += 1 // s2.Weight 2668 size += 1 // s2.Preference 2669 size += 4 // s2.Type 2670 size += 4 // s2.Flags 2671 size += 4 // s2.Proto 2672 size += 1 * 16 // s2.Nh.Address 2673 size += 4 // s2.Nh.ViaLabel 2674 size += 4 // s2.Nh.ObjID 2675 size += 4 // s2.Nh.ClassifyTableIndex 2676 size += 1 // s2.NLabels 2677 for j3 := 0; j3 < 16; j3++ { 2678 size += 1 // s2.LabelStack[j3].IsUniform 2679 size += 4 // s2.LabelStack[j3].Label 2680 size += 1 // s2.LabelStack[j3].TTL 2681 size += 1 // s2.LabelStack[j3].Exp 2682 } 2683 } 2684 return size 2685 } 2686 func (m *IPRouteDetails) Marshal(b []byte) ([]byte, error) { 2687 if b == nil { 2688 b = make([]byte, m.Size()) 2689 } 2690 buf := codec.NewBuffer(b) 2691 buf.EncodeUint32(m.Route.TableID) 2692 buf.EncodeUint32(m.Route.StatsIndex) 2693 buf.EncodeUint8(uint8(m.Route.Prefix.Address.Af)) 2694 buf.EncodeBytes(m.Route.Prefix.Address.Un.XXX_UnionData[:], 16) 2695 buf.EncodeUint8(m.Route.Prefix.Len) 2696 buf.EncodeUint8(uint8(len(m.Route.Paths))) 2697 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 2698 var v1 fib_types.FibPath // Paths 2699 if j1 < len(m.Route.Paths) { 2700 v1 = m.Route.Paths[j1] 2701 } 2702 buf.EncodeUint32(v1.SwIfIndex) 2703 buf.EncodeUint32(v1.TableID) 2704 buf.EncodeUint32(v1.RpfID) 2705 buf.EncodeUint8(v1.Weight) 2706 buf.EncodeUint8(v1.Preference) 2707 buf.EncodeUint32(uint32(v1.Type)) 2708 buf.EncodeUint32(uint32(v1.Flags)) 2709 buf.EncodeUint32(uint32(v1.Proto)) 2710 buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 16) 2711 buf.EncodeUint32(v1.Nh.ViaLabel) 2712 buf.EncodeUint32(v1.Nh.ObjID) 2713 buf.EncodeUint32(v1.Nh.ClassifyTableIndex) 2714 buf.EncodeUint8(v1.NLabels) 2715 for j2 := 0; j2 < 16; j2++ { 2716 buf.EncodeUint8(v1.LabelStack[j2].IsUniform) 2717 buf.EncodeUint32(v1.LabelStack[j2].Label) 2718 buf.EncodeUint8(v1.LabelStack[j2].TTL) 2719 buf.EncodeUint8(v1.LabelStack[j2].Exp) 2720 } 2721 } 2722 return buf.Bytes(), nil 2723 } 2724 func (m *IPRouteDetails) Unmarshal(b []byte) error { 2725 buf := codec.NewBuffer(b) 2726 m.Route.TableID = buf.DecodeUint32() 2727 m.Route.StatsIndex = buf.DecodeUint32() 2728 m.Route.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 2729 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 2730 m.Route.Prefix.Len = buf.DecodeUint8() 2731 m.Route.NPaths = buf.DecodeUint8() 2732 m.Route.Paths = make([]fib_types.FibPath, m.Route.NPaths) 2733 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 2734 m.Route.Paths[j1].SwIfIndex = buf.DecodeUint32() 2735 m.Route.Paths[j1].TableID = buf.DecodeUint32() 2736 m.Route.Paths[j1].RpfID = buf.DecodeUint32() 2737 m.Route.Paths[j1].Weight = buf.DecodeUint8() 2738 m.Route.Paths[j1].Preference = buf.DecodeUint8() 2739 m.Route.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32()) 2740 m.Route.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32()) 2741 m.Route.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) 2742 copy(m.Route.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) 2743 m.Route.Paths[j1].Nh.ViaLabel = buf.DecodeUint32() 2744 m.Route.Paths[j1].Nh.ObjID = buf.DecodeUint32() 2745 m.Route.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32() 2746 m.Route.Paths[j1].NLabels = buf.DecodeUint8() 2747 for j2 := 0; j2 < 16; j2++ { 2748 m.Route.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8() 2749 m.Route.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32() 2750 m.Route.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8() 2751 m.Route.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8() 2752 } 2753 } 2754 return nil 2755 } 2756 2757 // IPRouteDump defines message 'ip_route_dump'. 2758 type IPRouteDump struct { 2759 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 2760 } 2761 2762 func (m *IPRouteDump) Reset() { *m = IPRouteDump{} } 2763 func (*IPRouteDump) GetMessageName() string { return "ip_route_dump" } 2764 func (*IPRouteDump) GetCrcString() string { return "b9d2e09e" } 2765 func (*IPRouteDump) GetMessageType() api.MessageType { 2766 return api.RequestMessage 2767 } 2768 2769 func (m *IPRouteDump) Size() (size int) { 2770 if m == nil { 2771 return 0 2772 } 2773 size += 4 // m.Table.TableID 2774 size += 1 // m.Table.IsIP6 2775 size += 64 // m.Table.Name 2776 return size 2777 } 2778 func (m *IPRouteDump) Marshal(b []byte) ([]byte, error) { 2779 if b == nil { 2780 b = make([]byte, m.Size()) 2781 } 2782 buf := codec.NewBuffer(b) 2783 buf.EncodeUint32(m.Table.TableID) 2784 buf.EncodeBool(m.Table.IsIP6) 2785 buf.EncodeString(m.Table.Name, 64) 2786 return buf.Bytes(), nil 2787 } 2788 func (m *IPRouteDump) Unmarshal(b []byte) error { 2789 buf := codec.NewBuffer(b) 2790 m.Table.TableID = buf.DecodeUint32() 2791 m.Table.IsIP6 = buf.DecodeBool() 2792 m.Table.Name = buf.DecodeString(64) 2793 return nil 2794 } 2795 2796 // IPRouteLookup defines message 'ip_route_lookup'. 2797 type IPRouteLookup struct { 2798 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 2799 Exact uint8 `binapi:"u8,name=exact" json:"exact,omitempty"` 2800 Prefix ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"` 2801 } 2802 2803 func (m *IPRouteLookup) Reset() { *m = IPRouteLookup{} } 2804 func (*IPRouteLookup) GetMessageName() string { return "ip_route_lookup" } 2805 func (*IPRouteLookup) GetCrcString() string { return "710d6471" } 2806 func (*IPRouteLookup) GetMessageType() api.MessageType { 2807 return api.RequestMessage 2808 } 2809 2810 func (m *IPRouteLookup) Size() (size int) { 2811 if m == nil { 2812 return 0 2813 } 2814 size += 4 // m.TableID 2815 size += 1 // m.Exact 2816 size += 1 // m.Prefix.Address.Af 2817 size += 1 * 16 // m.Prefix.Address.Un 2818 size += 1 // m.Prefix.Len 2819 return size 2820 } 2821 func (m *IPRouteLookup) Marshal(b []byte) ([]byte, error) { 2822 if b == nil { 2823 b = make([]byte, m.Size()) 2824 } 2825 buf := codec.NewBuffer(b) 2826 buf.EncodeUint32(m.TableID) 2827 buf.EncodeUint8(m.Exact) 2828 buf.EncodeUint8(uint8(m.Prefix.Address.Af)) 2829 buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 16) 2830 buf.EncodeUint8(m.Prefix.Len) 2831 return buf.Bytes(), nil 2832 } 2833 func (m *IPRouteLookup) Unmarshal(b []byte) error { 2834 buf := codec.NewBuffer(b) 2835 m.TableID = buf.DecodeUint32() 2836 m.Exact = buf.DecodeUint8() 2837 m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 2838 copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 2839 m.Prefix.Len = buf.DecodeUint8() 2840 return nil 2841 } 2842 2843 // IPRouteLookupReply defines message 'ip_route_lookup_reply'. 2844 type IPRouteLookupReply struct { 2845 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 2846 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"` 2847 } 2848 2849 func (m *IPRouteLookupReply) Reset() { *m = IPRouteLookupReply{} } 2850 func (*IPRouteLookupReply) GetMessageName() string { return "ip_route_lookup_reply" } 2851 func (*IPRouteLookupReply) GetCrcString() string { return "5d8febcb" } 2852 func (*IPRouteLookupReply) GetMessageType() api.MessageType { 2853 return api.ReplyMessage 2854 } 2855 2856 func (m *IPRouteLookupReply) Size() (size int) { 2857 if m == nil { 2858 return 0 2859 } 2860 size += 4 // m.Retval 2861 size += 4 // m.Route.TableID 2862 size += 4 // m.Route.StatsIndex 2863 size += 1 // m.Route.Prefix.Address.Af 2864 size += 1 * 16 // m.Route.Prefix.Address.Un 2865 size += 1 // m.Route.Prefix.Len 2866 size += 1 // m.Route.NPaths 2867 for j2 := 0; j2 < len(m.Route.Paths); j2++ { 2868 var s2 fib_types.FibPath 2869 _ = s2 2870 if j2 < len(m.Route.Paths) { 2871 s2 = m.Route.Paths[j2] 2872 } 2873 size += 4 // s2.SwIfIndex 2874 size += 4 // s2.TableID 2875 size += 4 // s2.RpfID 2876 size += 1 // s2.Weight 2877 size += 1 // s2.Preference 2878 size += 4 // s2.Type 2879 size += 4 // s2.Flags 2880 size += 4 // s2.Proto 2881 size += 1 * 16 // s2.Nh.Address 2882 size += 4 // s2.Nh.ViaLabel 2883 size += 4 // s2.Nh.ObjID 2884 size += 4 // s2.Nh.ClassifyTableIndex 2885 size += 1 // s2.NLabels 2886 for j3 := 0; j3 < 16; j3++ { 2887 size += 1 // s2.LabelStack[j3].IsUniform 2888 size += 4 // s2.LabelStack[j3].Label 2889 size += 1 // s2.LabelStack[j3].TTL 2890 size += 1 // s2.LabelStack[j3].Exp 2891 } 2892 } 2893 return size 2894 } 2895 func (m *IPRouteLookupReply) Marshal(b []byte) ([]byte, error) { 2896 if b == nil { 2897 b = make([]byte, m.Size()) 2898 } 2899 buf := codec.NewBuffer(b) 2900 buf.EncodeInt32(m.Retval) 2901 buf.EncodeUint32(m.Route.TableID) 2902 buf.EncodeUint32(m.Route.StatsIndex) 2903 buf.EncodeUint8(uint8(m.Route.Prefix.Address.Af)) 2904 buf.EncodeBytes(m.Route.Prefix.Address.Un.XXX_UnionData[:], 16) 2905 buf.EncodeUint8(m.Route.Prefix.Len) 2906 buf.EncodeUint8(uint8(len(m.Route.Paths))) 2907 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 2908 var v1 fib_types.FibPath // Paths 2909 if j1 < len(m.Route.Paths) { 2910 v1 = m.Route.Paths[j1] 2911 } 2912 buf.EncodeUint32(v1.SwIfIndex) 2913 buf.EncodeUint32(v1.TableID) 2914 buf.EncodeUint32(v1.RpfID) 2915 buf.EncodeUint8(v1.Weight) 2916 buf.EncodeUint8(v1.Preference) 2917 buf.EncodeUint32(uint32(v1.Type)) 2918 buf.EncodeUint32(uint32(v1.Flags)) 2919 buf.EncodeUint32(uint32(v1.Proto)) 2920 buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 16) 2921 buf.EncodeUint32(v1.Nh.ViaLabel) 2922 buf.EncodeUint32(v1.Nh.ObjID) 2923 buf.EncodeUint32(v1.Nh.ClassifyTableIndex) 2924 buf.EncodeUint8(v1.NLabels) 2925 for j2 := 0; j2 < 16; j2++ { 2926 buf.EncodeUint8(v1.LabelStack[j2].IsUniform) 2927 buf.EncodeUint32(v1.LabelStack[j2].Label) 2928 buf.EncodeUint8(v1.LabelStack[j2].TTL) 2929 buf.EncodeUint8(v1.LabelStack[j2].Exp) 2930 } 2931 } 2932 return buf.Bytes(), nil 2933 } 2934 func (m *IPRouteLookupReply) Unmarshal(b []byte) error { 2935 buf := codec.NewBuffer(b) 2936 m.Retval = buf.DecodeInt32() 2937 m.Route.TableID = buf.DecodeUint32() 2938 m.Route.StatsIndex = buf.DecodeUint32() 2939 m.Route.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 2940 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 2941 m.Route.Prefix.Len = buf.DecodeUint8() 2942 m.Route.NPaths = buf.DecodeUint8() 2943 m.Route.Paths = make([]fib_types.FibPath, m.Route.NPaths) 2944 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 2945 m.Route.Paths[j1].SwIfIndex = buf.DecodeUint32() 2946 m.Route.Paths[j1].TableID = buf.DecodeUint32() 2947 m.Route.Paths[j1].RpfID = buf.DecodeUint32() 2948 m.Route.Paths[j1].Weight = buf.DecodeUint8() 2949 m.Route.Paths[j1].Preference = buf.DecodeUint8() 2950 m.Route.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32()) 2951 m.Route.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32()) 2952 m.Route.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) 2953 copy(m.Route.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) 2954 m.Route.Paths[j1].Nh.ViaLabel = buf.DecodeUint32() 2955 m.Route.Paths[j1].Nh.ObjID = buf.DecodeUint32() 2956 m.Route.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32() 2957 m.Route.Paths[j1].NLabels = buf.DecodeUint8() 2958 for j2 := 0; j2 < 16; j2++ { 2959 m.Route.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8() 2960 m.Route.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32() 2961 m.Route.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8() 2962 m.Route.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8() 2963 } 2964 } 2965 return nil 2966 } 2967 2968 // IPRouteLookupV2 defines message 'ip_route_lookup_v2'. 2969 // InProgress: the message form may change in the future versions 2970 type IPRouteLookupV2 struct { 2971 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 2972 Exact uint8 `binapi:"u8,name=exact" json:"exact,omitempty"` 2973 Prefix ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"` 2974 } 2975 2976 func (m *IPRouteLookupV2) Reset() { *m = IPRouteLookupV2{} } 2977 func (*IPRouteLookupV2) GetMessageName() string { return "ip_route_lookup_v2" } 2978 func (*IPRouteLookupV2) GetCrcString() string { return "710d6471" } 2979 func (*IPRouteLookupV2) GetMessageType() api.MessageType { 2980 return api.RequestMessage 2981 } 2982 2983 func (m *IPRouteLookupV2) Size() (size int) { 2984 if m == nil { 2985 return 0 2986 } 2987 size += 4 // m.TableID 2988 size += 1 // m.Exact 2989 size += 1 // m.Prefix.Address.Af 2990 size += 1 * 16 // m.Prefix.Address.Un 2991 size += 1 // m.Prefix.Len 2992 return size 2993 } 2994 func (m *IPRouteLookupV2) Marshal(b []byte) ([]byte, error) { 2995 if b == nil { 2996 b = make([]byte, m.Size()) 2997 } 2998 buf := codec.NewBuffer(b) 2999 buf.EncodeUint32(m.TableID) 3000 buf.EncodeUint8(m.Exact) 3001 buf.EncodeUint8(uint8(m.Prefix.Address.Af)) 3002 buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 16) 3003 buf.EncodeUint8(m.Prefix.Len) 3004 return buf.Bytes(), nil 3005 } 3006 func (m *IPRouteLookupV2) Unmarshal(b []byte) error { 3007 buf := codec.NewBuffer(b) 3008 m.TableID = buf.DecodeUint32() 3009 m.Exact = buf.DecodeUint8() 3010 m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 3011 copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 3012 m.Prefix.Len = buf.DecodeUint8() 3013 return nil 3014 } 3015 3016 // IPRouteLookupV2Reply defines message 'ip_route_lookup_v2_reply'. 3017 // InProgress: the message form may change in the future versions 3018 type IPRouteLookupV2Reply struct { 3019 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 3020 Route IPRouteV2 `binapi:"ip_route_v2,name=route" json:"route,omitempty"` 3021 } 3022 3023 func (m *IPRouteLookupV2Reply) Reset() { *m = IPRouteLookupV2Reply{} } 3024 func (*IPRouteLookupV2Reply) GetMessageName() string { return "ip_route_lookup_v2_reply" } 3025 func (*IPRouteLookupV2Reply) GetCrcString() string { return "84cc9e03" } 3026 func (*IPRouteLookupV2Reply) GetMessageType() api.MessageType { 3027 return api.ReplyMessage 3028 } 3029 3030 func (m *IPRouteLookupV2Reply) Size() (size int) { 3031 if m == nil { 3032 return 0 3033 } 3034 size += 4 // m.Retval 3035 size += 4 // m.Route.TableID 3036 size += 4 // m.Route.StatsIndex 3037 size += 1 // m.Route.Prefix.Address.Af 3038 size += 1 * 16 // m.Route.Prefix.Address.Un 3039 size += 1 // m.Route.Prefix.Len 3040 size += 1 // m.Route.NPaths 3041 size += 1 // m.Route.Src 3042 for j2 := 0; j2 < len(m.Route.Paths); j2++ { 3043 var s2 fib_types.FibPath 3044 _ = s2 3045 if j2 < len(m.Route.Paths) { 3046 s2 = m.Route.Paths[j2] 3047 } 3048 size += 4 // s2.SwIfIndex 3049 size += 4 // s2.TableID 3050 size += 4 // s2.RpfID 3051 size += 1 // s2.Weight 3052 size += 1 // s2.Preference 3053 size += 4 // s2.Type 3054 size += 4 // s2.Flags 3055 size += 4 // s2.Proto 3056 size += 1 * 16 // s2.Nh.Address 3057 size += 4 // s2.Nh.ViaLabel 3058 size += 4 // s2.Nh.ObjID 3059 size += 4 // s2.Nh.ClassifyTableIndex 3060 size += 1 // s2.NLabels 3061 for j3 := 0; j3 < 16; j3++ { 3062 size += 1 // s2.LabelStack[j3].IsUniform 3063 size += 4 // s2.LabelStack[j3].Label 3064 size += 1 // s2.LabelStack[j3].TTL 3065 size += 1 // s2.LabelStack[j3].Exp 3066 } 3067 } 3068 return size 3069 } 3070 func (m *IPRouteLookupV2Reply) Marshal(b []byte) ([]byte, error) { 3071 if b == nil { 3072 b = make([]byte, m.Size()) 3073 } 3074 buf := codec.NewBuffer(b) 3075 buf.EncodeInt32(m.Retval) 3076 buf.EncodeUint32(m.Route.TableID) 3077 buf.EncodeUint32(m.Route.StatsIndex) 3078 buf.EncodeUint8(uint8(m.Route.Prefix.Address.Af)) 3079 buf.EncodeBytes(m.Route.Prefix.Address.Un.XXX_UnionData[:], 16) 3080 buf.EncodeUint8(m.Route.Prefix.Len) 3081 buf.EncodeUint8(uint8(len(m.Route.Paths))) 3082 buf.EncodeUint8(m.Route.Src) 3083 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 3084 var v1 fib_types.FibPath // Paths 3085 if j1 < len(m.Route.Paths) { 3086 v1 = m.Route.Paths[j1] 3087 } 3088 buf.EncodeUint32(v1.SwIfIndex) 3089 buf.EncodeUint32(v1.TableID) 3090 buf.EncodeUint32(v1.RpfID) 3091 buf.EncodeUint8(v1.Weight) 3092 buf.EncodeUint8(v1.Preference) 3093 buf.EncodeUint32(uint32(v1.Type)) 3094 buf.EncodeUint32(uint32(v1.Flags)) 3095 buf.EncodeUint32(uint32(v1.Proto)) 3096 buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 16) 3097 buf.EncodeUint32(v1.Nh.ViaLabel) 3098 buf.EncodeUint32(v1.Nh.ObjID) 3099 buf.EncodeUint32(v1.Nh.ClassifyTableIndex) 3100 buf.EncodeUint8(v1.NLabels) 3101 for j2 := 0; j2 < 16; j2++ { 3102 buf.EncodeUint8(v1.LabelStack[j2].IsUniform) 3103 buf.EncodeUint32(v1.LabelStack[j2].Label) 3104 buf.EncodeUint8(v1.LabelStack[j2].TTL) 3105 buf.EncodeUint8(v1.LabelStack[j2].Exp) 3106 } 3107 } 3108 return buf.Bytes(), nil 3109 } 3110 func (m *IPRouteLookupV2Reply) Unmarshal(b []byte) error { 3111 buf := codec.NewBuffer(b) 3112 m.Retval = buf.DecodeInt32() 3113 m.Route.TableID = buf.DecodeUint32() 3114 m.Route.StatsIndex = buf.DecodeUint32() 3115 m.Route.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 3116 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 3117 m.Route.Prefix.Len = buf.DecodeUint8() 3118 m.Route.NPaths = buf.DecodeUint8() 3119 m.Route.Src = buf.DecodeUint8() 3120 m.Route.Paths = make([]fib_types.FibPath, m.Route.NPaths) 3121 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 3122 m.Route.Paths[j1].SwIfIndex = buf.DecodeUint32() 3123 m.Route.Paths[j1].TableID = buf.DecodeUint32() 3124 m.Route.Paths[j1].RpfID = buf.DecodeUint32() 3125 m.Route.Paths[j1].Weight = buf.DecodeUint8() 3126 m.Route.Paths[j1].Preference = buf.DecodeUint8() 3127 m.Route.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32()) 3128 m.Route.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32()) 3129 m.Route.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) 3130 copy(m.Route.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) 3131 m.Route.Paths[j1].Nh.ViaLabel = buf.DecodeUint32() 3132 m.Route.Paths[j1].Nh.ObjID = buf.DecodeUint32() 3133 m.Route.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32() 3134 m.Route.Paths[j1].NLabels = buf.DecodeUint8() 3135 for j2 := 0; j2 < 16; j2++ { 3136 m.Route.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8() 3137 m.Route.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32() 3138 m.Route.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8() 3139 m.Route.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8() 3140 } 3141 } 3142 return nil 3143 } 3144 3145 // IPRouteV2Details defines message 'ip_route_v2_details'. 3146 // InProgress: the message form may change in the future versions 3147 type IPRouteV2Details struct { 3148 Route IPRouteV2 `binapi:"ip_route_v2,name=route" json:"route,omitempty"` 3149 } 3150 3151 func (m *IPRouteV2Details) Reset() { *m = IPRouteV2Details{} } 3152 func (*IPRouteV2Details) GetMessageName() string { return "ip_route_v2_details" } 3153 func (*IPRouteV2Details) GetCrcString() string { return "b09aa6c0" } 3154 func (*IPRouteV2Details) GetMessageType() api.MessageType { 3155 return api.ReplyMessage 3156 } 3157 3158 func (m *IPRouteV2Details) Size() (size int) { 3159 if m == nil { 3160 return 0 3161 } 3162 size += 4 // m.Route.TableID 3163 size += 4 // m.Route.StatsIndex 3164 size += 1 // m.Route.Prefix.Address.Af 3165 size += 1 * 16 // m.Route.Prefix.Address.Un 3166 size += 1 // m.Route.Prefix.Len 3167 size += 1 // m.Route.NPaths 3168 size += 1 // m.Route.Src 3169 for j2 := 0; j2 < len(m.Route.Paths); j2++ { 3170 var s2 fib_types.FibPath 3171 _ = s2 3172 if j2 < len(m.Route.Paths) { 3173 s2 = m.Route.Paths[j2] 3174 } 3175 size += 4 // s2.SwIfIndex 3176 size += 4 // s2.TableID 3177 size += 4 // s2.RpfID 3178 size += 1 // s2.Weight 3179 size += 1 // s2.Preference 3180 size += 4 // s2.Type 3181 size += 4 // s2.Flags 3182 size += 4 // s2.Proto 3183 size += 1 * 16 // s2.Nh.Address 3184 size += 4 // s2.Nh.ViaLabel 3185 size += 4 // s2.Nh.ObjID 3186 size += 4 // s2.Nh.ClassifyTableIndex 3187 size += 1 // s2.NLabels 3188 for j3 := 0; j3 < 16; j3++ { 3189 size += 1 // s2.LabelStack[j3].IsUniform 3190 size += 4 // s2.LabelStack[j3].Label 3191 size += 1 // s2.LabelStack[j3].TTL 3192 size += 1 // s2.LabelStack[j3].Exp 3193 } 3194 } 3195 return size 3196 } 3197 func (m *IPRouteV2Details) Marshal(b []byte) ([]byte, error) { 3198 if b == nil { 3199 b = make([]byte, m.Size()) 3200 } 3201 buf := codec.NewBuffer(b) 3202 buf.EncodeUint32(m.Route.TableID) 3203 buf.EncodeUint32(m.Route.StatsIndex) 3204 buf.EncodeUint8(uint8(m.Route.Prefix.Address.Af)) 3205 buf.EncodeBytes(m.Route.Prefix.Address.Un.XXX_UnionData[:], 16) 3206 buf.EncodeUint8(m.Route.Prefix.Len) 3207 buf.EncodeUint8(uint8(len(m.Route.Paths))) 3208 buf.EncodeUint8(m.Route.Src) 3209 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 3210 var v1 fib_types.FibPath // Paths 3211 if j1 < len(m.Route.Paths) { 3212 v1 = m.Route.Paths[j1] 3213 } 3214 buf.EncodeUint32(v1.SwIfIndex) 3215 buf.EncodeUint32(v1.TableID) 3216 buf.EncodeUint32(v1.RpfID) 3217 buf.EncodeUint8(v1.Weight) 3218 buf.EncodeUint8(v1.Preference) 3219 buf.EncodeUint32(uint32(v1.Type)) 3220 buf.EncodeUint32(uint32(v1.Flags)) 3221 buf.EncodeUint32(uint32(v1.Proto)) 3222 buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 16) 3223 buf.EncodeUint32(v1.Nh.ViaLabel) 3224 buf.EncodeUint32(v1.Nh.ObjID) 3225 buf.EncodeUint32(v1.Nh.ClassifyTableIndex) 3226 buf.EncodeUint8(v1.NLabels) 3227 for j2 := 0; j2 < 16; j2++ { 3228 buf.EncodeUint8(v1.LabelStack[j2].IsUniform) 3229 buf.EncodeUint32(v1.LabelStack[j2].Label) 3230 buf.EncodeUint8(v1.LabelStack[j2].TTL) 3231 buf.EncodeUint8(v1.LabelStack[j2].Exp) 3232 } 3233 } 3234 return buf.Bytes(), nil 3235 } 3236 func (m *IPRouteV2Details) Unmarshal(b []byte) error { 3237 buf := codec.NewBuffer(b) 3238 m.Route.TableID = buf.DecodeUint32() 3239 m.Route.StatsIndex = buf.DecodeUint32() 3240 m.Route.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 3241 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 3242 m.Route.Prefix.Len = buf.DecodeUint8() 3243 m.Route.NPaths = buf.DecodeUint8() 3244 m.Route.Src = buf.DecodeUint8() 3245 m.Route.Paths = make([]fib_types.FibPath, m.Route.NPaths) 3246 for j1 := 0; j1 < len(m.Route.Paths); j1++ { 3247 m.Route.Paths[j1].SwIfIndex = buf.DecodeUint32() 3248 m.Route.Paths[j1].TableID = buf.DecodeUint32() 3249 m.Route.Paths[j1].RpfID = buf.DecodeUint32() 3250 m.Route.Paths[j1].Weight = buf.DecodeUint8() 3251 m.Route.Paths[j1].Preference = buf.DecodeUint8() 3252 m.Route.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32()) 3253 m.Route.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32()) 3254 m.Route.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) 3255 copy(m.Route.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) 3256 m.Route.Paths[j1].Nh.ViaLabel = buf.DecodeUint32() 3257 m.Route.Paths[j1].Nh.ObjID = buf.DecodeUint32() 3258 m.Route.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32() 3259 m.Route.Paths[j1].NLabels = buf.DecodeUint8() 3260 for j2 := 0; j2 < 16; j2++ { 3261 m.Route.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8() 3262 m.Route.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32() 3263 m.Route.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8() 3264 m.Route.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8() 3265 } 3266 } 3267 return nil 3268 } 3269 3270 // IPRouteV2Dump defines message 'ip_route_v2_dump'. 3271 // InProgress: the message form may change in the future versions 3272 type IPRouteV2Dump struct { 3273 Src uint8 `binapi:"u8,name=src" json:"src,omitempty"` 3274 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 3275 } 3276 3277 func (m *IPRouteV2Dump) Reset() { *m = IPRouteV2Dump{} } 3278 func (*IPRouteV2Dump) GetMessageName() string { return "ip_route_v2_dump" } 3279 func (*IPRouteV2Dump) GetCrcString() string { return "d16f72e6" } 3280 func (*IPRouteV2Dump) GetMessageType() api.MessageType { 3281 return api.RequestMessage 3282 } 3283 3284 func (m *IPRouteV2Dump) Size() (size int) { 3285 if m == nil { 3286 return 0 3287 } 3288 size += 1 // m.Src 3289 size += 4 // m.Table.TableID 3290 size += 1 // m.Table.IsIP6 3291 size += 64 // m.Table.Name 3292 return size 3293 } 3294 func (m *IPRouteV2Dump) Marshal(b []byte) ([]byte, error) { 3295 if b == nil { 3296 b = make([]byte, m.Size()) 3297 } 3298 buf := codec.NewBuffer(b) 3299 buf.EncodeUint8(m.Src) 3300 buf.EncodeUint32(m.Table.TableID) 3301 buf.EncodeBool(m.Table.IsIP6) 3302 buf.EncodeString(m.Table.Name, 64) 3303 return buf.Bytes(), nil 3304 } 3305 func (m *IPRouteV2Dump) Unmarshal(b []byte) error { 3306 buf := codec.NewBuffer(b) 3307 m.Src = buf.DecodeUint8() 3308 m.Table.TableID = buf.DecodeUint32() 3309 m.Table.IsIP6 = buf.DecodeBool() 3310 m.Table.Name = buf.DecodeString(64) 3311 return nil 3312 } 3313 3314 // IPSourceAndPortRangeCheckAddDel defines message 'ip_source_and_port_range_check_add_del'. 3315 type IPSourceAndPortRangeCheckAddDel struct { 3316 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 3317 Prefix ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"` 3318 NumberOfRanges uint8 `binapi:"u8,name=number_of_ranges" json:"number_of_ranges,omitempty"` 3319 LowPorts []uint16 `binapi:"u16[32],name=low_ports" json:"low_ports,omitempty"` 3320 HighPorts []uint16 `binapi:"u16[32],name=high_ports" json:"high_ports,omitempty"` 3321 VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"` 3322 } 3323 3324 func (m *IPSourceAndPortRangeCheckAddDel) Reset() { *m = IPSourceAndPortRangeCheckAddDel{} } 3325 func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string { 3326 return "ip_source_and_port_range_check_add_del" 3327 } 3328 func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string { return "92a067e3" } 3329 func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { 3330 return api.RequestMessage 3331 } 3332 3333 func (m *IPSourceAndPortRangeCheckAddDel) Size() (size int) { 3334 if m == nil { 3335 return 0 3336 } 3337 size += 1 // m.IsAdd 3338 size += 1 // m.Prefix.Address.Af 3339 size += 1 * 16 // m.Prefix.Address.Un 3340 size += 1 // m.Prefix.Len 3341 size += 1 // m.NumberOfRanges 3342 size += 2 * 32 // m.LowPorts 3343 size += 2 * 32 // m.HighPorts 3344 size += 4 // m.VrfID 3345 return size 3346 } 3347 func (m *IPSourceAndPortRangeCheckAddDel) Marshal(b []byte) ([]byte, error) { 3348 if b == nil { 3349 b = make([]byte, m.Size()) 3350 } 3351 buf := codec.NewBuffer(b) 3352 buf.EncodeBool(m.IsAdd) 3353 buf.EncodeUint8(uint8(m.Prefix.Address.Af)) 3354 buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 16) 3355 buf.EncodeUint8(m.Prefix.Len) 3356 buf.EncodeUint8(m.NumberOfRanges) 3357 for i := 0; i < 32; i++ { 3358 var x uint16 3359 if i < len(m.LowPorts) { 3360 x = uint16(m.LowPorts[i]) 3361 } 3362 buf.EncodeUint16(x) 3363 } 3364 for i := 0; i < 32; i++ { 3365 var x uint16 3366 if i < len(m.HighPorts) { 3367 x = uint16(m.HighPorts[i]) 3368 } 3369 buf.EncodeUint16(x) 3370 } 3371 buf.EncodeUint32(m.VrfID) 3372 return buf.Bytes(), nil 3373 } 3374 func (m *IPSourceAndPortRangeCheckAddDel) Unmarshal(b []byte) error { 3375 buf := codec.NewBuffer(b) 3376 m.IsAdd = buf.DecodeBool() 3377 m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 3378 copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 3379 m.Prefix.Len = buf.DecodeUint8() 3380 m.NumberOfRanges = buf.DecodeUint8() 3381 m.LowPorts = make([]uint16, 32) 3382 for i := 0; i < len(m.LowPorts); i++ { 3383 m.LowPorts[i] = buf.DecodeUint16() 3384 } 3385 m.HighPorts = make([]uint16, 32) 3386 for i := 0; i < len(m.HighPorts); i++ { 3387 m.HighPorts[i] = buf.DecodeUint16() 3388 } 3389 m.VrfID = buf.DecodeUint32() 3390 return nil 3391 } 3392 3393 // IPSourceAndPortRangeCheckAddDelReply defines message 'ip_source_and_port_range_check_add_del_reply'. 3394 type IPSourceAndPortRangeCheckAddDelReply struct { 3395 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 3396 } 3397 3398 func (m *IPSourceAndPortRangeCheckAddDelReply) Reset() { *m = IPSourceAndPortRangeCheckAddDelReply{} } 3399 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string { 3400 return "ip_source_and_port_range_check_add_del_reply" 3401 } 3402 func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string { return "e8d4e804" } 3403 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType { 3404 return api.ReplyMessage 3405 } 3406 3407 func (m *IPSourceAndPortRangeCheckAddDelReply) Size() (size int) { 3408 if m == nil { 3409 return 0 3410 } 3411 size += 4 // m.Retval 3412 return size 3413 } 3414 func (m *IPSourceAndPortRangeCheckAddDelReply) Marshal(b []byte) ([]byte, error) { 3415 if b == nil { 3416 b = make([]byte, m.Size()) 3417 } 3418 buf := codec.NewBuffer(b) 3419 buf.EncodeInt32(m.Retval) 3420 return buf.Bytes(), nil 3421 } 3422 func (m *IPSourceAndPortRangeCheckAddDelReply) Unmarshal(b []byte) error { 3423 buf := codec.NewBuffer(b) 3424 m.Retval = buf.DecodeInt32() 3425 return nil 3426 } 3427 3428 // IPSourceAndPortRangeCheckInterfaceAddDel defines message 'ip_source_and_port_range_check_interface_add_del'. 3429 type IPSourceAndPortRangeCheckInterfaceAddDel struct { 3430 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 3431 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 3432 TCPInVrfID uint32 `binapi:"u32,name=tcp_in_vrf_id" json:"tcp_in_vrf_id,omitempty"` 3433 TCPOutVrfID uint32 `binapi:"u32,name=tcp_out_vrf_id" json:"tcp_out_vrf_id,omitempty"` 3434 UDPInVrfID uint32 `binapi:"u32,name=udp_in_vrf_id" json:"udp_in_vrf_id,omitempty"` 3435 UDPOutVrfID uint32 `binapi:"u32,name=udp_out_vrf_id" json:"udp_out_vrf_id,omitempty"` 3436 } 3437 3438 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Reset() { 3439 *m = IPSourceAndPortRangeCheckInterfaceAddDel{} 3440 } 3441 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string { 3442 return "ip_source_and_port_range_check_interface_add_del" 3443 } 3444 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string { return "e1ba8987" } 3445 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType { 3446 return api.RequestMessage 3447 } 3448 3449 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Size() (size int) { 3450 if m == nil { 3451 return 0 3452 } 3453 size += 1 // m.IsAdd 3454 size += 4 // m.SwIfIndex 3455 size += 4 // m.TCPInVrfID 3456 size += 4 // m.TCPOutVrfID 3457 size += 4 // m.UDPInVrfID 3458 size += 4 // m.UDPOutVrfID 3459 return size 3460 } 3461 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Marshal(b []byte) ([]byte, error) { 3462 if b == nil { 3463 b = make([]byte, m.Size()) 3464 } 3465 buf := codec.NewBuffer(b) 3466 buf.EncodeBool(m.IsAdd) 3467 buf.EncodeUint32(uint32(m.SwIfIndex)) 3468 buf.EncodeUint32(m.TCPInVrfID) 3469 buf.EncodeUint32(m.TCPOutVrfID) 3470 buf.EncodeUint32(m.UDPInVrfID) 3471 buf.EncodeUint32(m.UDPOutVrfID) 3472 return buf.Bytes(), nil 3473 } 3474 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Unmarshal(b []byte) error { 3475 buf := codec.NewBuffer(b) 3476 m.IsAdd = buf.DecodeBool() 3477 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 3478 m.TCPInVrfID = buf.DecodeUint32() 3479 m.TCPOutVrfID = buf.DecodeUint32() 3480 m.UDPInVrfID = buf.DecodeUint32() 3481 m.UDPOutVrfID = buf.DecodeUint32() 3482 return nil 3483 } 3484 3485 // IPSourceAndPortRangeCheckInterfaceAddDelReply defines message 'ip_source_and_port_range_check_interface_add_del_reply'. 3486 type IPSourceAndPortRangeCheckInterfaceAddDelReply struct { 3487 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 3488 } 3489 3490 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Reset() { 3491 *m = IPSourceAndPortRangeCheckInterfaceAddDelReply{} 3492 } 3493 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string { 3494 return "ip_source_and_port_range_check_interface_add_del_reply" 3495 } 3496 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" } 3497 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType { 3498 return api.ReplyMessage 3499 } 3500 3501 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Size() (size int) { 3502 if m == nil { 3503 return 0 3504 } 3505 size += 4 // m.Retval 3506 return size 3507 } 3508 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Marshal(b []byte) ([]byte, error) { 3509 if b == nil { 3510 b = make([]byte, m.Size()) 3511 } 3512 buf := codec.NewBuffer(b) 3513 buf.EncodeInt32(m.Retval) 3514 return buf.Bytes(), nil 3515 } 3516 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Unmarshal(b []byte) error { 3517 buf := codec.NewBuffer(b) 3518 m.Retval = buf.DecodeInt32() 3519 return nil 3520 } 3521 3522 // IPTableAddDel defines message 'ip_table_add_del'. 3523 type IPTableAddDel struct { 3524 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 3525 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 3526 } 3527 3528 func (m *IPTableAddDel) Reset() { *m = IPTableAddDel{} } 3529 func (*IPTableAddDel) GetMessageName() string { return "ip_table_add_del" } 3530 func (*IPTableAddDel) GetCrcString() string { return "0ffdaec0" } 3531 func (*IPTableAddDel) GetMessageType() api.MessageType { 3532 return api.RequestMessage 3533 } 3534 3535 func (m *IPTableAddDel) Size() (size int) { 3536 if m == nil { 3537 return 0 3538 } 3539 size += 1 // m.IsAdd 3540 size += 4 // m.Table.TableID 3541 size += 1 // m.Table.IsIP6 3542 size += 64 // m.Table.Name 3543 return size 3544 } 3545 func (m *IPTableAddDel) Marshal(b []byte) ([]byte, error) { 3546 if b == nil { 3547 b = make([]byte, m.Size()) 3548 } 3549 buf := codec.NewBuffer(b) 3550 buf.EncodeBool(m.IsAdd) 3551 buf.EncodeUint32(m.Table.TableID) 3552 buf.EncodeBool(m.Table.IsIP6) 3553 buf.EncodeString(m.Table.Name, 64) 3554 return buf.Bytes(), nil 3555 } 3556 func (m *IPTableAddDel) Unmarshal(b []byte) error { 3557 buf := codec.NewBuffer(b) 3558 m.IsAdd = buf.DecodeBool() 3559 m.Table.TableID = buf.DecodeUint32() 3560 m.Table.IsIP6 = buf.DecodeBool() 3561 m.Table.Name = buf.DecodeString(64) 3562 return nil 3563 } 3564 3565 // IPTableAddDelReply defines message 'ip_table_add_del_reply'. 3566 type IPTableAddDelReply struct { 3567 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 3568 } 3569 3570 func (m *IPTableAddDelReply) Reset() { *m = IPTableAddDelReply{} } 3571 func (*IPTableAddDelReply) GetMessageName() string { return "ip_table_add_del_reply" } 3572 func (*IPTableAddDelReply) GetCrcString() string { return "e8d4e804" } 3573 func (*IPTableAddDelReply) GetMessageType() api.MessageType { 3574 return api.ReplyMessage 3575 } 3576 3577 func (m *IPTableAddDelReply) Size() (size int) { 3578 if m == nil { 3579 return 0 3580 } 3581 size += 4 // m.Retval 3582 return size 3583 } 3584 func (m *IPTableAddDelReply) Marshal(b []byte) ([]byte, error) { 3585 if b == nil { 3586 b = make([]byte, m.Size()) 3587 } 3588 buf := codec.NewBuffer(b) 3589 buf.EncodeInt32(m.Retval) 3590 return buf.Bytes(), nil 3591 } 3592 func (m *IPTableAddDelReply) Unmarshal(b []byte) error { 3593 buf := codec.NewBuffer(b) 3594 m.Retval = buf.DecodeInt32() 3595 return nil 3596 } 3597 3598 // IPTableAllocate defines message 'ip_table_allocate'. 3599 type IPTableAllocate struct { 3600 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 3601 } 3602 3603 func (m *IPTableAllocate) Reset() { *m = IPTableAllocate{} } 3604 func (*IPTableAllocate) GetMessageName() string { return "ip_table_allocate" } 3605 func (*IPTableAllocate) GetCrcString() string { return "b9d2e09e" } 3606 func (*IPTableAllocate) GetMessageType() api.MessageType { 3607 return api.RequestMessage 3608 } 3609 3610 func (m *IPTableAllocate) Size() (size int) { 3611 if m == nil { 3612 return 0 3613 } 3614 size += 4 // m.Table.TableID 3615 size += 1 // m.Table.IsIP6 3616 size += 64 // m.Table.Name 3617 return size 3618 } 3619 func (m *IPTableAllocate) Marshal(b []byte) ([]byte, error) { 3620 if b == nil { 3621 b = make([]byte, m.Size()) 3622 } 3623 buf := codec.NewBuffer(b) 3624 buf.EncodeUint32(m.Table.TableID) 3625 buf.EncodeBool(m.Table.IsIP6) 3626 buf.EncodeString(m.Table.Name, 64) 3627 return buf.Bytes(), nil 3628 } 3629 func (m *IPTableAllocate) Unmarshal(b []byte) error { 3630 buf := codec.NewBuffer(b) 3631 m.Table.TableID = buf.DecodeUint32() 3632 m.Table.IsIP6 = buf.DecodeBool() 3633 m.Table.Name = buf.DecodeString(64) 3634 return nil 3635 } 3636 3637 // IPTableAllocateReply defines message 'ip_table_allocate_reply'. 3638 type IPTableAllocateReply struct { 3639 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 3640 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 3641 } 3642 3643 func (m *IPTableAllocateReply) Reset() { *m = IPTableAllocateReply{} } 3644 func (*IPTableAllocateReply) GetMessageName() string { return "ip_table_allocate_reply" } 3645 func (*IPTableAllocateReply) GetCrcString() string { return "1728303a" } 3646 func (*IPTableAllocateReply) GetMessageType() api.MessageType { 3647 return api.ReplyMessage 3648 } 3649 3650 func (m *IPTableAllocateReply) Size() (size int) { 3651 if m == nil { 3652 return 0 3653 } 3654 size += 4 // m.Retval 3655 size += 4 // m.Table.TableID 3656 size += 1 // m.Table.IsIP6 3657 size += 64 // m.Table.Name 3658 return size 3659 } 3660 func (m *IPTableAllocateReply) Marshal(b []byte) ([]byte, error) { 3661 if b == nil { 3662 b = make([]byte, m.Size()) 3663 } 3664 buf := codec.NewBuffer(b) 3665 buf.EncodeInt32(m.Retval) 3666 buf.EncodeUint32(m.Table.TableID) 3667 buf.EncodeBool(m.Table.IsIP6) 3668 buf.EncodeString(m.Table.Name, 64) 3669 return buf.Bytes(), nil 3670 } 3671 func (m *IPTableAllocateReply) Unmarshal(b []byte) error { 3672 buf := codec.NewBuffer(b) 3673 m.Retval = buf.DecodeInt32() 3674 m.Table.TableID = buf.DecodeUint32() 3675 m.Table.IsIP6 = buf.DecodeBool() 3676 m.Table.Name = buf.DecodeString(64) 3677 return nil 3678 } 3679 3680 // IPTableDetails defines message 'ip_table_details'. 3681 type IPTableDetails struct { 3682 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 3683 } 3684 3685 func (m *IPTableDetails) Reset() { *m = IPTableDetails{} } 3686 func (*IPTableDetails) GetMessageName() string { return "ip_table_details" } 3687 func (*IPTableDetails) GetCrcString() string { return "c79fca0f" } 3688 func (*IPTableDetails) GetMessageType() api.MessageType { 3689 return api.ReplyMessage 3690 } 3691 3692 func (m *IPTableDetails) Size() (size int) { 3693 if m == nil { 3694 return 0 3695 } 3696 size += 4 // m.Table.TableID 3697 size += 1 // m.Table.IsIP6 3698 size += 64 // m.Table.Name 3699 return size 3700 } 3701 func (m *IPTableDetails) Marshal(b []byte) ([]byte, error) { 3702 if b == nil { 3703 b = make([]byte, m.Size()) 3704 } 3705 buf := codec.NewBuffer(b) 3706 buf.EncodeUint32(m.Table.TableID) 3707 buf.EncodeBool(m.Table.IsIP6) 3708 buf.EncodeString(m.Table.Name, 64) 3709 return buf.Bytes(), nil 3710 } 3711 func (m *IPTableDetails) Unmarshal(b []byte) error { 3712 buf := codec.NewBuffer(b) 3713 m.Table.TableID = buf.DecodeUint32() 3714 m.Table.IsIP6 = buf.DecodeBool() 3715 m.Table.Name = buf.DecodeString(64) 3716 return nil 3717 } 3718 3719 // IPTableDump defines message 'ip_table_dump'. 3720 type IPTableDump struct{} 3721 3722 func (m *IPTableDump) Reset() { *m = IPTableDump{} } 3723 func (*IPTableDump) GetMessageName() string { return "ip_table_dump" } 3724 func (*IPTableDump) GetCrcString() string { return "51077d14" } 3725 func (*IPTableDump) GetMessageType() api.MessageType { 3726 return api.RequestMessage 3727 } 3728 3729 func (m *IPTableDump) Size() (size int) { 3730 if m == nil { 3731 return 0 3732 } 3733 return size 3734 } 3735 func (m *IPTableDump) Marshal(b []byte) ([]byte, error) { 3736 if b == nil { 3737 b = make([]byte, m.Size()) 3738 } 3739 buf := codec.NewBuffer(b) 3740 return buf.Bytes(), nil 3741 } 3742 func (m *IPTableDump) Unmarshal(b []byte) error { 3743 return nil 3744 } 3745 3746 // IPTableFlush defines message 'ip_table_flush'. 3747 type IPTableFlush struct { 3748 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 3749 } 3750 3751 func (m *IPTableFlush) Reset() { *m = IPTableFlush{} } 3752 func (*IPTableFlush) GetMessageName() string { return "ip_table_flush" } 3753 func (*IPTableFlush) GetCrcString() string { return "b9d2e09e" } 3754 func (*IPTableFlush) GetMessageType() api.MessageType { 3755 return api.RequestMessage 3756 } 3757 3758 func (m *IPTableFlush) Size() (size int) { 3759 if m == nil { 3760 return 0 3761 } 3762 size += 4 // m.Table.TableID 3763 size += 1 // m.Table.IsIP6 3764 size += 64 // m.Table.Name 3765 return size 3766 } 3767 func (m *IPTableFlush) Marshal(b []byte) ([]byte, error) { 3768 if b == nil { 3769 b = make([]byte, m.Size()) 3770 } 3771 buf := codec.NewBuffer(b) 3772 buf.EncodeUint32(m.Table.TableID) 3773 buf.EncodeBool(m.Table.IsIP6) 3774 buf.EncodeString(m.Table.Name, 64) 3775 return buf.Bytes(), nil 3776 } 3777 func (m *IPTableFlush) Unmarshal(b []byte) error { 3778 buf := codec.NewBuffer(b) 3779 m.Table.TableID = buf.DecodeUint32() 3780 m.Table.IsIP6 = buf.DecodeBool() 3781 m.Table.Name = buf.DecodeString(64) 3782 return nil 3783 } 3784 3785 // IPTableFlushReply defines message 'ip_table_flush_reply'. 3786 type IPTableFlushReply struct { 3787 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 3788 } 3789 3790 func (m *IPTableFlushReply) Reset() { *m = IPTableFlushReply{} } 3791 func (*IPTableFlushReply) GetMessageName() string { return "ip_table_flush_reply" } 3792 func (*IPTableFlushReply) GetCrcString() string { return "e8d4e804" } 3793 func (*IPTableFlushReply) GetMessageType() api.MessageType { 3794 return api.ReplyMessage 3795 } 3796 3797 func (m *IPTableFlushReply) Size() (size int) { 3798 if m == nil { 3799 return 0 3800 } 3801 size += 4 // m.Retval 3802 return size 3803 } 3804 func (m *IPTableFlushReply) Marshal(b []byte) ([]byte, error) { 3805 if b == nil { 3806 b = make([]byte, m.Size()) 3807 } 3808 buf := codec.NewBuffer(b) 3809 buf.EncodeInt32(m.Retval) 3810 return buf.Bytes(), nil 3811 } 3812 func (m *IPTableFlushReply) Unmarshal(b []byte) error { 3813 buf := codec.NewBuffer(b) 3814 m.Retval = buf.DecodeInt32() 3815 return nil 3816 } 3817 3818 // IPTableReplaceBegin defines message 'ip_table_replace_begin'. 3819 type IPTableReplaceBegin struct { 3820 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 3821 } 3822 3823 func (m *IPTableReplaceBegin) Reset() { *m = IPTableReplaceBegin{} } 3824 func (*IPTableReplaceBegin) GetMessageName() string { return "ip_table_replace_begin" } 3825 func (*IPTableReplaceBegin) GetCrcString() string { return "b9d2e09e" } 3826 func (*IPTableReplaceBegin) GetMessageType() api.MessageType { 3827 return api.RequestMessage 3828 } 3829 3830 func (m *IPTableReplaceBegin) Size() (size int) { 3831 if m == nil { 3832 return 0 3833 } 3834 size += 4 // m.Table.TableID 3835 size += 1 // m.Table.IsIP6 3836 size += 64 // m.Table.Name 3837 return size 3838 } 3839 func (m *IPTableReplaceBegin) Marshal(b []byte) ([]byte, error) { 3840 if b == nil { 3841 b = make([]byte, m.Size()) 3842 } 3843 buf := codec.NewBuffer(b) 3844 buf.EncodeUint32(m.Table.TableID) 3845 buf.EncodeBool(m.Table.IsIP6) 3846 buf.EncodeString(m.Table.Name, 64) 3847 return buf.Bytes(), nil 3848 } 3849 func (m *IPTableReplaceBegin) Unmarshal(b []byte) error { 3850 buf := codec.NewBuffer(b) 3851 m.Table.TableID = buf.DecodeUint32() 3852 m.Table.IsIP6 = buf.DecodeBool() 3853 m.Table.Name = buf.DecodeString(64) 3854 return nil 3855 } 3856 3857 // IPTableReplaceBeginReply defines message 'ip_table_replace_begin_reply'. 3858 type IPTableReplaceBeginReply struct { 3859 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 3860 } 3861 3862 func (m *IPTableReplaceBeginReply) Reset() { *m = IPTableReplaceBeginReply{} } 3863 func (*IPTableReplaceBeginReply) GetMessageName() string { return "ip_table_replace_begin_reply" } 3864 func (*IPTableReplaceBeginReply) GetCrcString() string { return "e8d4e804" } 3865 func (*IPTableReplaceBeginReply) GetMessageType() api.MessageType { 3866 return api.ReplyMessage 3867 } 3868 3869 func (m *IPTableReplaceBeginReply) Size() (size int) { 3870 if m == nil { 3871 return 0 3872 } 3873 size += 4 // m.Retval 3874 return size 3875 } 3876 func (m *IPTableReplaceBeginReply) Marshal(b []byte) ([]byte, error) { 3877 if b == nil { 3878 b = make([]byte, m.Size()) 3879 } 3880 buf := codec.NewBuffer(b) 3881 buf.EncodeInt32(m.Retval) 3882 return buf.Bytes(), nil 3883 } 3884 func (m *IPTableReplaceBeginReply) Unmarshal(b []byte) error { 3885 buf := codec.NewBuffer(b) 3886 m.Retval = buf.DecodeInt32() 3887 return nil 3888 } 3889 3890 // IPTableReplaceEnd defines message 'ip_table_replace_end'. 3891 type IPTableReplaceEnd struct { 3892 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"` 3893 } 3894 3895 func (m *IPTableReplaceEnd) Reset() { *m = IPTableReplaceEnd{} } 3896 func (*IPTableReplaceEnd) GetMessageName() string { return "ip_table_replace_end" } 3897 func (*IPTableReplaceEnd) GetCrcString() string { return "b9d2e09e" } 3898 func (*IPTableReplaceEnd) GetMessageType() api.MessageType { 3899 return api.RequestMessage 3900 } 3901 3902 func (m *IPTableReplaceEnd) Size() (size int) { 3903 if m == nil { 3904 return 0 3905 } 3906 size += 4 // m.Table.TableID 3907 size += 1 // m.Table.IsIP6 3908 size += 64 // m.Table.Name 3909 return size 3910 } 3911 func (m *IPTableReplaceEnd) Marshal(b []byte) ([]byte, error) { 3912 if b == nil { 3913 b = make([]byte, m.Size()) 3914 } 3915 buf := codec.NewBuffer(b) 3916 buf.EncodeUint32(m.Table.TableID) 3917 buf.EncodeBool(m.Table.IsIP6) 3918 buf.EncodeString(m.Table.Name, 64) 3919 return buf.Bytes(), nil 3920 } 3921 func (m *IPTableReplaceEnd) Unmarshal(b []byte) error { 3922 buf := codec.NewBuffer(b) 3923 m.Table.TableID = buf.DecodeUint32() 3924 m.Table.IsIP6 = buf.DecodeBool() 3925 m.Table.Name = buf.DecodeString(64) 3926 return nil 3927 } 3928 3929 // IPTableReplaceEndReply defines message 'ip_table_replace_end_reply'. 3930 type IPTableReplaceEndReply struct { 3931 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 3932 } 3933 3934 func (m *IPTableReplaceEndReply) Reset() { *m = IPTableReplaceEndReply{} } 3935 func (*IPTableReplaceEndReply) GetMessageName() string { return "ip_table_replace_end_reply" } 3936 func (*IPTableReplaceEndReply) GetCrcString() string { return "e8d4e804" } 3937 func (*IPTableReplaceEndReply) GetMessageType() api.MessageType { 3938 return api.ReplyMessage 3939 } 3940 3941 func (m *IPTableReplaceEndReply) Size() (size int) { 3942 if m == nil { 3943 return 0 3944 } 3945 size += 4 // m.Retval 3946 return size 3947 } 3948 func (m *IPTableReplaceEndReply) Marshal(b []byte) ([]byte, error) { 3949 if b == nil { 3950 b = make([]byte, m.Size()) 3951 } 3952 buf := codec.NewBuffer(b) 3953 buf.EncodeInt32(m.Retval) 3954 return buf.Bytes(), nil 3955 } 3956 func (m *IPTableReplaceEndReply) Unmarshal(b []byte) error { 3957 buf := codec.NewBuffer(b) 3958 m.Retval = buf.DecodeInt32() 3959 return nil 3960 } 3961 3962 // IPUnnumberedDetails defines message 'ip_unnumbered_details'. 3963 type IPUnnumberedDetails struct { 3964 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 3965 IPSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=ip_sw_if_index" json:"ip_sw_if_index,omitempty"` 3966 } 3967 3968 func (m *IPUnnumberedDetails) Reset() { *m = IPUnnumberedDetails{} } 3969 func (*IPUnnumberedDetails) GetMessageName() string { return "ip_unnumbered_details" } 3970 func (*IPUnnumberedDetails) GetCrcString() string { return "cc59bd42" } 3971 func (*IPUnnumberedDetails) GetMessageType() api.MessageType { 3972 return api.ReplyMessage 3973 } 3974 3975 func (m *IPUnnumberedDetails) Size() (size int) { 3976 if m == nil { 3977 return 0 3978 } 3979 size += 4 // m.SwIfIndex 3980 size += 4 // m.IPSwIfIndex 3981 return size 3982 } 3983 func (m *IPUnnumberedDetails) Marshal(b []byte) ([]byte, error) { 3984 if b == nil { 3985 b = make([]byte, m.Size()) 3986 } 3987 buf := codec.NewBuffer(b) 3988 buf.EncodeUint32(uint32(m.SwIfIndex)) 3989 buf.EncodeUint32(uint32(m.IPSwIfIndex)) 3990 return buf.Bytes(), nil 3991 } 3992 func (m *IPUnnumberedDetails) Unmarshal(b []byte) error { 3993 buf := codec.NewBuffer(b) 3994 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 3995 m.IPSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 3996 return nil 3997 } 3998 3999 // IPUnnumberedDump defines message 'ip_unnumbered_dump'. 4000 type IPUnnumberedDump struct { 4001 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"` 4002 } 4003 4004 func (m *IPUnnumberedDump) Reset() { *m = IPUnnumberedDump{} } 4005 func (*IPUnnumberedDump) GetMessageName() string { return "ip_unnumbered_dump" } 4006 func (*IPUnnumberedDump) GetCrcString() string { return "f9e6675e" } 4007 func (*IPUnnumberedDump) GetMessageType() api.MessageType { 4008 return api.RequestMessage 4009 } 4010 4011 func (m *IPUnnumberedDump) Size() (size int) { 4012 if m == nil { 4013 return 0 4014 } 4015 size += 4 // m.SwIfIndex 4016 return size 4017 } 4018 func (m *IPUnnumberedDump) Marshal(b []byte) ([]byte, error) { 4019 if b == nil { 4020 b = make([]byte, m.Size()) 4021 } 4022 buf := codec.NewBuffer(b) 4023 buf.EncodeUint32(uint32(m.SwIfIndex)) 4024 return buf.Bytes(), nil 4025 } 4026 func (m *IPUnnumberedDump) Unmarshal(b []byte) error { 4027 buf := codec.NewBuffer(b) 4028 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 4029 return nil 4030 } 4031 4032 // MfibSignalDetails defines message 'mfib_signal_details'. 4033 type MfibSignalDetails struct { 4034 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 4035 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 4036 Prefix ip_types.Mprefix `binapi:"mprefix,name=prefix" json:"prefix,omitempty"` 4037 IPPacketLen uint16 `binapi:"u16,name=ip_packet_len" json:"ip_packet_len,omitempty"` 4038 IPPacketData []byte `binapi:"u8[256],name=ip_packet_data" json:"ip_packet_data,omitempty"` 4039 } 4040 4041 func (m *MfibSignalDetails) Reset() { *m = MfibSignalDetails{} } 4042 func (*MfibSignalDetails) GetMessageName() string { return "mfib_signal_details" } 4043 func (*MfibSignalDetails) GetCrcString() string { return "6f4a4cfb" } 4044 func (*MfibSignalDetails) GetMessageType() api.MessageType { 4045 return api.ReplyMessage 4046 } 4047 4048 func (m *MfibSignalDetails) Size() (size int) { 4049 if m == nil { 4050 return 0 4051 } 4052 size += 4 // m.SwIfIndex 4053 size += 4 // m.TableID 4054 size += 1 // m.Prefix.Af 4055 size += 2 // m.Prefix.GrpAddressLength 4056 size += 1 * 16 // m.Prefix.GrpAddress 4057 size += 1 * 16 // m.Prefix.SrcAddress 4058 size += 2 // m.IPPacketLen 4059 size += 1 * 256 // m.IPPacketData 4060 return size 4061 } 4062 func (m *MfibSignalDetails) Marshal(b []byte) ([]byte, error) { 4063 if b == nil { 4064 b = make([]byte, m.Size()) 4065 } 4066 buf := codec.NewBuffer(b) 4067 buf.EncodeUint32(uint32(m.SwIfIndex)) 4068 buf.EncodeUint32(m.TableID) 4069 buf.EncodeUint8(uint8(m.Prefix.Af)) 4070 buf.EncodeUint16(m.Prefix.GrpAddressLength) 4071 buf.EncodeBytes(m.Prefix.GrpAddress.XXX_UnionData[:], 16) 4072 buf.EncodeBytes(m.Prefix.SrcAddress.XXX_UnionData[:], 16) 4073 buf.EncodeUint16(m.IPPacketLen) 4074 buf.EncodeBytes(m.IPPacketData, 256) 4075 return buf.Bytes(), nil 4076 } 4077 func (m *MfibSignalDetails) Unmarshal(b []byte) error { 4078 buf := codec.NewBuffer(b) 4079 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 4080 m.TableID = buf.DecodeUint32() 4081 m.Prefix.Af = ip_types.AddressFamily(buf.DecodeUint8()) 4082 m.Prefix.GrpAddressLength = buf.DecodeUint16() 4083 copy(m.Prefix.GrpAddress.XXX_UnionData[:], buf.DecodeBytes(16)) 4084 copy(m.Prefix.SrcAddress.XXX_UnionData[:], buf.DecodeBytes(16)) 4085 m.IPPacketLen = buf.DecodeUint16() 4086 m.IPPacketData = make([]byte, 256) 4087 copy(m.IPPacketData, buf.DecodeBytes(len(m.IPPacketData))) 4088 return nil 4089 } 4090 4091 // MfibSignalDump defines message 'mfib_signal_dump'. 4092 type MfibSignalDump struct{} 4093 4094 func (m *MfibSignalDump) Reset() { *m = MfibSignalDump{} } 4095 func (*MfibSignalDump) GetMessageName() string { return "mfib_signal_dump" } 4096 func (*MfibSignalDump) GetCrcString() string { return "51077d14" } 4097 func (*MfibSignalDump) GetMessageType() api.MessageType { 4098 return api.RequestMessage 4099 } 4100 4101 func (m *MfibSignalDump) Size() (size int) { 4102 if m == nil { 4103 return 0 4104 } 4105 return size 4106 } 4107 func (m *MfibSignalDump) Marshal(b []byte) ([]byte, error) { 4108 if b == nil { 4109 b = make([]byte, m.Size()) 4110 } 4111 buf := codec.NewBuffer(b) 4112 return buf.Bytes(), nil 4113 } 4114 func (m *MfibSignalDump) Unmarshal(b []byte) error { 4115 return nil 4116 } 4117 4118 // SetIPFlowHash defines message 'set_ip_flow_hash'. 4119 // Deprecated: the message will be removed in the future versions 4120 type SetIPFlowHash struct { 4121 VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"` 4122 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"` 4123 Src bool `binapi:"bool,name=src" json:"src,omitempty"` 4124 Dst bool `binapi:"bool,name=dst" json:"dst,omitempty"` 4125 Sport bool `binapi:"bool,name=sport" json:"sport,omitempty"` 4126 Dport bool `binapi:"bool,name=dport" json:"dport,omitempty"` 4127 Proto bool `binapi:"bool,name=proto" json:"proto,omitempty"` 4128 Reverse bool `binapi:"bool,name=reverse" json:"reverse,omitempty"` 4129 Symmetric bool `binapi:"bool,name=symmetric" json:"symmetric,omitempty"` 4130 } 4131 4132 func (m *SetIPFlowHash) Reset() { *m = SetIPFlowHash{} } 4133 func (*SetIPFlowHash) GetMessageName() string { return "set_ip_flow_hash" } 4134 func (*SetIPFlowHash) GetCrcString() string { return "084ee09e" } 4135 func (*SetIPFlowHash) GetMessageType() api.MessageType { 4136 return api.RequestMessage 4137 } 4138 4139 func (m *SetIPFlowHash) Size() (size int) { 4140 if m == nil { 4141 return 0 4142 } 4143 size += 4 // m.VrfID 4144 size += 1 // m.IsIPv6 4145 size += 1 // m.Src 4146 size += 1 // m.Dst 4147 size += 1 // m.Sport 4148 size += 1 // m.Dport 4149 size += 1 // m.Proto 4150 size += 1 // m.Reverse 4151 size += 1 // m.Symmetric 4152 return size 4153 } 4154 func (m *SetIPFlowHash) Marshal(b []byte) ([]byte, error) { 4155 if b == nil { 4156 b = make([]byte, m.Size()) 4157 } 4158 buf := codec.NewBuffer(b) 4159 buf.EncodeUint32(m.VrfID) 4160 buf.EncodeBool(m.IsIPv6) 4161 buf.EncodeBool(m.Src) 4162 buf.EncodeBool(m.Dst) 4163 buf.EncodeBool(m.Sport) 4164 buf.EncodeBool(m.Dport) 4165 buf.EncodeBool(m.Proto) 4166 buf.EncodeBool(m.Reverse) 4167 buf.EncodeBool(m.Symmetric) 4168 return buf.Bytes(), nil 4169 } 4170 func (m *SetIPFlowHash) Unmarshal(b []byte) error { 4171 buf := codec.NewBuffer(b) 4172 m.VrfID = buf.DecodeUint32() 4173 m.IsIPv6 = buf.DecodeBool() 4174 m.Src = buf.DecodeBool() 4175 m.Dst = buf.DecodeBool() 4176 m.Sport = buf.DecodeBool() 4177 m.Dport = buf.DecodeBool() 4178 m.Proto = buf.DecodeBool() 4179 m.Reverse = buf.DecodeBool() 4180 m.Symmetric = buf.DecodeBool() 4181 return nil 4182 } 4183 4184 // SetIPFlowHashReply defines message 'set_ip_flow_hash_reply'. 4185 // Deprecated: the message will be removed in the future versions 4186 type SetIPFlowHashReply struct { 4187 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 4188 } 4189 4190 func (m *SetIPFlowHashReply) Reset() { *m = SetIPFlowHashReply{} } 4191 func (*SetIPFlowHashReply) GetMessageName() string { return "set_ip_flow_hash_reply" } 4192 func (*SetIPFlowHashReply) GetCrcString() string { return "e8d4e804" } 4193 func (*SetIPFlowHashReply) GetMessageType() api.MessageType { 4194 return api.ReplyMessage 4195 } 4196 4197 func (m *SetIPFlowHashReply) Size() (size int) { 4198 if m == nil { 4199 return 0 4200 } 4201 size += 4 // m.Retval 4202 return size 4203 } 4204 func (m *SetIPFlowHashReply) Marshal(b []byte) ([]byte, error) { 4205 if b == nil { 4206 b = make([]byte, m.Size()) 4207 } 4208 buf := codec.NewBuffer(b) 4209 buf.EncodeInt32(m.Retval) 4210 return buf.Bytes(), nil 4211 } 4212 func (m *SetIPFlowHashReply) Unmarshal(b []byte) error { 4213 buf := codec.NewBuffer(b) 4214 m.Retval = buf.DecodeInt32() 4215 return nil 4216 } 4217 4218 // SetIPFlowHashRouterID defines message 'set_ip_flow_hash_router_id'. 4219 type SetIPFlowHashRouterID struct { 4220 RouterID uint32 `binapi:"u32,name=router_id" json:"router_id,omitempty"` 4221 } 4222 4223 func (m *SetIPFlowHashRouterID) Reset() { *m = SetIPFlowHashRouterID{} } 4224 func (*SetIPFlowHashRouterID) GetMessageName() string { return "set_ip_flow_hash_router_id" } 4225 func (*SetIPFlowHashRouterID) GetCrcString() string { return "03e4f48e" } 4226 func (*SetIPFlowHashRouterID) GetMessageType() api.MessageType { 4227 return api.RequestMessage 4228 } 4229 4230 func (m *SetIPFlowHashRouterID) Size() (size int) { 4231 if m == nil { 4232 return 0 4233 } 4234 size += 4 // m.RouterID 4235 return size 4236 } 4237 func (m *SetIPFlowHashRouterID) Marshal(b []byte) ([]byte, error) { 4238 if b == nil { 4239 b = make([]byte, m.Size()) 4240 } 4241 buf := codec.NewBuffer(b) 4242 buf.EncodeUint32(m.RouterID) 4243 return buf.Bytes(), nil 4244 } 4245 func (m *SetIPFlowHashRouterID) Unmarshal(b []byte) error { 4246 buf := codec.NewBuffer(b) 4247 m.RouterID = buf.DecodeUint32() 4248 return nil 4249 } 4250 4251 // SetIPFlowHashRouterIDReply defines message 'set_ip_flow_hash_router_id_reply'. 4252 type SetIPFlowHashRouterIDReply struct { 4253 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 4254 } 4255 4256 func (m *SetIPFlowHashRouterIDReply) Reset() { *m = SetIPFlowHashRouterIDReply{} } 4257 func (*SetIPFlowHashRouterIDReply) GetMessageName() string { return "set_ip_flow_hash_router_id_reply" } 4258 func (*SetIPFlowHashRouterIDReply) GetCrcString() string { return "e8d4e804" } 4259 func (*SetIPFlowHashRouterIDReply) GetMessageType() api.MessageType { 4260 return api.ReplyMessage 4261 } 4262 4263 func (m *SetIPFlowHashRouterIDReply) Size() (size int) { 4264 if m == nil { 4265 return 0 4266 } 4267 size += 4 // m.Retval 4268 return size 4269 } 4270 func (m *SetIPFlowHashRouterIDReply) Marshal(b []byte) ([]byte, error) { 4271 if b == nil { 4272 b = make([]byte, m.Size()) 4273 } 4274 buf := codec.NewBuffer(b) 4275 buf.EncodeInt32(m.Retval) 4276 return buf.Bytes(), nil 4277 } 4278 func (m *SetIPFlowHashRouterIDReply) Unmarshal(b []byte) error { 4279 buf := codec.NewBuffer(b) 4280 m.Retval = buf.DecodeInt32() 4281 return nil 4282 } 4283 4284 // SetIPFlowHashV2 defines message 'set_ip_flow_hash_v2'. 4285 type SetIPFlowHashV2 struct { 4286 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 4287 Af ip_types.AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"` 4288 FlowHashConfig IPFlowHashConfig `binapi:"ip_flow_hash_config,name=flow_hash_config" json:"flow_hash_config,omitempty"` 4289 } 4290 4291 func (m *SetIPFlowHashV2) Reset() { *m = SetIPFlowHashV2{} } 4292 func (*SetIPFlowHashV2) GetMessageName() string { return "set_ip_flow_hash_v2" } 4293 func (*SetIPFlowHashV2) GetCrcString() string { return "6d132100" } 4294 func (*SetIPFlowHashV2) GetMessageType() api.MessageType { 4295 return api.RequestMessage 4296 } 4297 4298 func (m *SetIPFlowHashV2) Size() (size int) { 4299 if m == nil { 4300 return 0 4301 } 4302 size += 4 // m.TableID 4303 size += 1 // m.Af 4304 size += 4 // m.FlowHashConfig 4305 return size 4306 } 4307 func (m *SetIPFlowHashV2) Marshal(b []byte) ([]byte, error) { 4308 if b == nil { 4309 b = make([]byte, m.Size()) 4310 } 4311 buf := codec.NewBuffer(b) 4312 buf.EncodeUint32(m.TableID) 4313 buf.EncodeUint8(uint8(m.Af)) 4314 buf.EncodeUint32(uint32(m.FlowHashConfig)) 4315 return buf.Bytes(), nil 4316 } 4317 func (m *SetIPFlowHashV2) Unmarshal(b []byte) error { 4318 buf := codec.NewBuffer(b) 4319 m.TableID = buf.DecodeUint32() 4320 m.Af = ip_types.AddressFamily(buf.DecodeUint8()) 4321 m.FlowHashConfig = IPFlowHashConfig(buf.DecodeUint32()) 4322 return nil 4323 } 4324 4325 // SetIPFlowHashV2Reply defines message 'set_ip_flow_hash_v2_reply'. 4326 type SetIPFlowHashV2Reply struct { 4327 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 4328 } 4329 4330 func (m *SetIPFlowHashV2Reply) Reset() { *m = SetIPFlowHashV2Reply{} } 4331 func (*SetIPFlowHashV2Reply) GetMessageName() string { return "set_ip_flow_hash_v2_reply" } 4332 func (*SetIPFlowHashV2Reply) GetCrcString() string { return "e8d4e804" } 4333 func (*SetIPFlowHashV2Reply) GetMessageType() api.MessageType { 4334 return api.ReplyMessage 4335 } 4336 4337 func (m *SetIPFlowHashV2Reply) Size() (size int) { 4338 if m == nil { 4339 return 0 4340 } 4341 size += 4 // m.Retval 4342 return size 4343 } 4344 func (m *SetIPFlowHashV2Reply) Marshal(b []byte) ([]byte, error) { 4345 if b == nil { 4346 b = make([]byte, m.Size()) 4347 } 4348 buf := codec.NewBuffer(b) 4349 buf.EncodeInt32(m.Retval) 4350 return buf.Bytes(), nil 4351 } 4352 func (m *SetIPFlowHashV2Reply) Unmarshal(b []byte) error { 4353 buf := codec.NewBuffer(b) 4354 m.Retval = buf.DecodeInt32() 4355 return nil 4356 } 4357 4358 // SwInterfaceIP6EnableDisable defines message 'sw_interface_ip6_enable_disable'. 4359 type SwInterfaceIP6EnableDisable struct { 4360 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 4361 Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"` 4362 } 4363 4364 func (m *SwInterfaceIP6EnableDisable) Reset() { *m = SwInterfaceIP6EnableDisable{} } 4365 func (*SwInterfaceIP6EnableDisable) GetMessageName() string { return "sw_interface_ip6_enable_disable" } 4366 func (*SwInterfaceIP6EnableDisable) GetCrcString() string { return "ae6cfcfb" } 4367 func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { 4368 return api.RequestMessage 4369 } 4370 4371 func (m *SwInterfaceIP6EnableDisable) Size() (size int) { 4372 if m == nil { 4373 return 0 4374 } 4375 size += 4 // m.SwIfIndex 4376 size += 1 // m.Enable 4377 return size 4378 } 4379 func (m *SwInterfaceIP6EnableDisable) Marshal(b []byte) ([]byte, error) { 4380 if b == nil { 4381 b = make([]byte, m.Size()) 4382 } 4383 buf := codec.NewBuffer(b) 4384 buf.EncodeUint32(uint32(m.SwIfIndex)) 4385 buf.EncodeBool(m.Enable) 4386 return buf.Bytes(), nil 4387 } 4388 func (m *SwInterfaceIP6EnableDisable) Unmarshal(b []byte) error { 4389 buf := codec.NewBuffer(b) 4390 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 4391 m.Enable = buf.DecodeBool() 4392 return nil 4393 } 4394 4395 // SwInterfaceIP6EnableDisableReply defines message 'sw_interface_ip6_enable_disable_reply'. 4396 type SwInterfaceIP6EnableDisableReply struct { 4397 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 4398 } 4399 4400 func (m *SwInterfaceIP6EnableDisableReply) Reset() { *m = SwInterfaceIP6EnableDisableReply{} } 4401 func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string { 4402 return "sw_interface_ip6_enable_disable_reply" 4403 } 4404 func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string { return "e8d4e804" } 4405 func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { 4406 return api.ReplyMessage 4407 } 4408 4409 func (m *SwInterfaceIP6EnableDisableReply) Size() (size int) { 4410 if m == nil { 4411 return 0 4412 } 4413 size += 4 // m.Retval 4414 return size 4415 } 4416 func (m *SwInterfaceIP6EnableDisableReply) Marshal(b []byte) ([]byte, error) { 4417 if b == nil { 4418 b = make([]byte, m.Size()) 4419 } 4420 buf := codec.NewBuffer(b) 4421 buf.EncodeInt32(m.Retval) 4422 return buf.Bytes(), nil 4423 } 4424 func (m *SwInterfaceIP6EnableDisableReply) Unmarshal(b []byte) error { 4425 buf := codec.NewBuffer(b) 4426 m.Retval = buf.DecodeInt32() 4427 return nil 4428 } 4429 4430 // SwInterfaceIP6GetLinkLocalAddress defines message 'sw_interface_ip6_get_link_local_address'. 4431 type SwInterfaceIP6GetLinkLocalAddress struct { 4432 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 4433 } 4434 4435 func (m *SwInterfaceIP6GetLinkLocalAddress) Reset() { *m = SwInterfaceIP6GetLinkLocalAddress{} } 4436 func (*SwInterfaceIP6GetLinkLocalAddress) GetMessageName() string { 4437 return "sw_interface_ip6_get_link_local_address" 4438 } 4439 func (*SwInterfaceIP6GetLinkLocalAddress) GetCrcString() string { return "f9e6675e" } 4440 func (*SwInterfaceIP6GetLinkLocalAddress) GetMessageType() api.MessageType { 4441 return api.RequestMessage 4442 } 4443 4444 func (m *SwInterfaceIP6GetLinkLocalAddress) Size() (size int) { 4445 if m == nil { 4446 return 0 4447 } 4448 size += 4 // m.SwIfIndex 4449 return size 4450 } 4451 func (m *SwInterfaceIP6GetLinkLocalAddress) Marshal(b []byte) ([]byte, error) { 4452 if b == nil { 4453 b = make([]byte, m.Size()) 4454 } 4455 buf := codec.NewBuffer(b) 4456 buf.EncodeUint32(uint32(m.SwIfIndex)) 4457 return buf.Bytes(), nil 4458 } 4459 func (m *SwInterfaceIP6GetLinkLocalAddress) Unmarshal(b []byte) error { 4460 buf := codec.NewBuffer(b) 4461 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 4462 return nil 4463 } 4464 4465 // SwInterfaceIP6GetLinkLocalAddressReply defines message 'sw_interface_ip6_get_link_local_address_reply'. 4466 type SwInterfaceIP6GetLinkLocalAddressReply struct { 4467 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 4468 IP ip_types.IP6Address `binapi:"ip6_address,name=ip" json:"ip,omitempty"` 4469 } 4470 4471 func (m *SwInterfaceIP6GetLinkLocalAddressReply) Reset() { 4472 *m = SwInterfaceIP6GetLinkLocalAddressReply{} 4473 } 4474 func (*SwInterfaceIP6GetLinkLocalAddressReply) GetMessageName() string { 4475 return "sw_interface_ip6_get_link_local_address_reply" 4476 } 4477 func (*SwInterfaceIP6GetLinkLocalAddressReply) GetCrcString() string { return "d16b7130" } 4478 func (*SwInterfaceIP6GetLinkLocalAddressReply) GetMessageType() api.MessageType { 4479 return api.ReplyMessage 4480 } 4481 4482 func (m *SwInterfaceIP6GetLinkLocalAddressReply) Size() (size int) { 4483 if m == nil { 4484 return 0 4485 } 4486 size += 4 // m.Retval 4487 size += 1 * 16 // m.IP 4488 return size 4489 } 4490 func (m *SwInterfaceIP6GetLinkLocalAddressReply) Marshal(b []byte) ([]byte, error) { 4491 if b == nil { 4492 b = make([]byte, m.Size()) 4493 } 4494 buf := codec.NewBuffer(b) 4495 buf.EncodeInt32(m.Retval) 4496 buf.EncodeBytes(m.IP[:], 16) 4497 return buf.Bytes(), nil 4498 } 4499 func (m *SwInterfaceIP6GetLinkLocalAddressReply) Unmarshal(b []byte) error { 4500 buf := codec.NewBuffer(b) 4501 m.Retval = buf.DecodeInt32() 4502 copy(m.IP[:], buf.DecodeBytes(16)) 4503 return nil 4504 } 4505 4506 // SwInterfaceIP6SetLinkLocalAddress defines message 'sw_interface_ip6_set_link_local_address'. 4507 type SwInterfaceIP6SetLinkLocalAddress struct { 4508 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 4509 IP ip_types.IP6Address `binapi:"ip6_address,name=ip" json:"ip,omitempty"` 4510 } 4511 4512 func (m *SwInterfaceIP6SetLinkLocalAddress) Reset() { *m = SwInterfaceIP6SetLinkLocalAddress{} } 4513 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageName() string { 4514 return "sw_interface_ip6_set_link_local_address" 4515 } 4516 func (*SwInterfaceIP6SetLinkLocalAddress) GetCrcString() string { return "1c10f15f" } 4517 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType { 4518 return api.RequestMessage 4519 } 4520 4521 func (m *SwInterfaceIP6SetLinkLocalAddress) Size() (size int) { 4522 if m == nil { 4523 return 0 4524 } 4525 size += 4 // m.SwIfIndex 4526 size += 1 * 16 // m.IP 4527 return size 4528 } 4529 func (m *SwInterfaceIP6SetLinkLocalAddress) Marshal(b []byte) ([]byte, error) { 4530 if b == nil { 4531 b = make([]byte, m.Size()) 4532 } 4533 buf := codec.NewBuffer(b) 4534 buf.EncodeUint32(uint32(m.SwIfIndex)) 4535 buf.EncodeBytes(m.IP[:], 16) 4536 return buf.Bytes(), nil 4537 } 4538 func (m *SwInterfaceIP6SetLinkLocalAddress) Unmarshal(b []byte) error { 4539 buf := codec.NewBuffer(b) 4540 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 4541 copy(m.IP[:], buf.DecodeBytes(16)) 4542 return nil 4543 } 4544 4545 // SwInterfaceIP6SetLinkLocalAddressReply defines message 'sw_interface_ip6_set_link_local_address_reply'. 4546 type SwInterfaceIP6SetLinkLocalAddressReply struct { 4547 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 4548 } 4549 4550 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Reset() { 4551 *m = SwInterfaceIP6SetLinkLocalAddressReply{} 4552 } 4553 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageName() string { 4554 return "sw_interface_ip6_set_link_local_address_reply" 4555 } 4556 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetCrcString() string { return "e8d4e804" } 4557 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType { 4558 return api.ReplyMessage 4559 } 4560 4561 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Size() (size int) { 4562 if m == nil { 4563 return 0 4564 } 4565 size += 4 // m.Retval 4566 return size 4567 } 4568 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Marshal(b []byte) ([]byte, error) { 4569 if b == nil { 4570 b = make([]byte, m.Size()) 4571 } 4572 buf := codec.NewBuffer(b) 4573 buf.EncodeInt32(m.Retval) 4574 return buf.Bytes(), nil 4575 } 4576 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Unmarshal(b []byte) error { 4577 buf := codec.NewBuffer(b) 4578 m.Retval = buf.DecodeInt32() 4579 return nil 4580 } 4581 4582 func init() { file_ip_binapi_init() } 4583 func file_ip_binapi_init() { 4584 api.RegisterMessage((*AddDelIPPuntRedirectV2)(nil), "add_del_ip_punt_redirect_v2_9e804227") 4585 api.RegisterMessage((*AddDelIPPuntRedirectV2Reply)(nil), "add_del_ip_punt_redirect_v2_reply_e8d4e804") 4586 api.RegisterMessage((*IoamDisable)(nil), "ioam_disable_6b16a45e") 4587 api.RegisterMessage((*IoamDisableReply)(nil), "ioam_disable_reply_e8d4e804") 4588 api.RegisterMessage((*IoamEnable)(nil), "ioam_enable_51ccd868") 4589 api.RegisterMessage((*IoamEnableReply)(nil), "ioam_enable_reply_e8d4e804") 4590 api.RegisterMessage((*IPAddressDetails)(nil), "ip_address_details_ee29b797") 4591 api.RegisterMessage((*IPAddressDump)(nil), "ip_address_dump_2d033de4") 4592 api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip_container_proxy_add_del_7df1dff1") 4593 api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip_container_proxy_add_del_reply_e8d4e804") 4594 api.RegisterMessage((*IPContainerProxyDetails)(nil), "ip_container_proxy_details_a8085523") 4595 api.RegisterMessage((*IPContainerProxyDump)(nil), "ip_container_proxy_dump_51077d14") 4596 api.RegisterMessage((*IPDetails)(nil), "ip_details_eb152d07") 4597 api.RegisterMessage((*IPDump)(nil), "ip_dump_98d231ca") 4598 api.RegisterMessage((*IPLocalReassEnableDisable)(nil), "ip_local_reass_enable_disable_34e2ccc4") 4599 api.RegisterMessage((*IPLocalReassEnableDisableReply)(nil), "ip_local_reass_enable_disable_reply_e8d4e804") 4600 api.RegisterMessage((*IPLocalReassGet)(nil), "ip_local_reass_get_51077d14") 4601 api.RegisterMessage((*IPLocalReassGetReply)(nil), "ip_local_reass_get_reply_3e93a702") 4602 api.RegisterMessage((*IPMrouteAddDel)(nil), "ip_mroute_add_del_0dd7e790") 4603 api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip_mroute_add_del_reply_1992deab") 4604 api.RegisterMessage((*IPMrouteDetails)(nil), "ip_mroute_details_c5cb23fc") 4605 api.RegisterMessage((*IPMrouteDump)(nil), "ip_mroute_dump_b9d2e09e") 4606 api.RegisterMessage((*IPMtableDetails)(nil), "ip_mtable_details_b9d2e09e") 4607 api.RegisterMessage((*IPMtableDump)(nil), "ip_mtable_dump_51077d14") 4608 api.RegisterMessage((*IPPathMtuDetails)(nil), "ip_path_mtu_details_ac9539a7") 4609 api.RegisterMessage((*IPPathMtuGet)(nil), "ip_path_mtu_get_f75ba505") 4610 api.RegisterMessage((*IPPathMtuGetReply)(nil), "ip_path_mtu_get_reply_53b48f5d") 4611 api.RegisterMessage((*IPPathMtuReplaceBegin)(nil), "ip_path_mtu_replace_begin_51077d14") 4612 api.RegisterMessage((*IPPathMtuReplaceBeginReply)(nil), "ip_path_mtu_replace_begin_reply_e8d4e804") 4613 api.RegisterMessage((*IPPathMtuReplaceEnd)(nil), "ip_path_mtu_replace_end_51077d14") 4614 api.RegisterMessage((*IPPathMtuReplaceEndReply)(nil), "ip_path_mtu_replace_end_reply_e8d4e804") 4615 api.RegisterMessage((*IPPathMtuUpdate)(nil), "ip_path_mtu_update_10bbe5cb") 4616 api.RegisterMessage((*IPPathMtuUpdateReply)(nil), "ip_path_mtu_update_reply_e8d4e804") 4617 api.RegisterMessage((*IPPuntPolice)(nil), "ip_punt_police_db867cea") 4618 api.RegisterMessage((*IPPuntPoliceReply)(nil), "ip_punt_police_reply_e8d4e804") 4619 api.RegisterMessage((*IPPuntRedirect)(nil), "ip_punt_redirect_6580f635") 4620 api.RegisterMessage((*IPPuntRedirectDetails)(nil), "ip_punt_redirect_details_2cef63e7") 4621 api.RegisterMessage((*IPPuntRedirectDump)(nil), "ip_punt_redirect_dump_2d033de4") 4622 api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip_punt_redirect_reply_e8d4e804") 4623 api.RegisterMessage((*IPPuntRedirectV2Details)(nil), "ip_punt_redirect_v2_details_7ba42e1d") 4624 api.RegisterMessage((*IPPuntRedirectV2Dump)(nil), "ip_punt_redirect_v2_dump_d817a484") 4625 api.RegisterMessage((*IPReassemblyEnableDisable)(nil), "ip_reassembly_enable_disable_eb77968d") 4626 api.RegisterMessage((*IPReassemblyEnableDisableReply)(nil), "ip_reassembly_enable_disable_reply_e8d4e804") 4627 api.RegisterMessage((*IPReassemblyGet)(nil), "ip_reassembly_get_ea13ff63") 4628 api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip_reassembly_get_reply_d5eb8d34") 4629 api.RegisterMessage((*IPReassemblySet)(nil), "ip_reassembly_set_16467d25") 4630 api.RegisterMessage((*IPReassemblySetReply)(nil), "ip_reassembly_set_reply_e8d4e804") 4631 api.RegisterMessage((*IPRouteAddDel)(nil), "ip_route_add_del_b8ecfe0d") 4632 api.RegisterMessage((*IPRouteAddDelReply)(nil), "ip_route_add_del_reply_1992deab") 4633 api.RegisterMessage((*IPRouteAddDelV2)(nil), "ip_route_add_del_v2_521ef330") 4634 api.RegisterMessage((*IPRouteAddDelV2Reply)(nil), "ip_route_add_del_v2_reply_1992deab") 4635 api.RegisterMessage((*IPRouteDetails)(nil), "ip_route_details_bda8f315") 4636 api.RegisterMessage((*IPRouteDump)(nil), "ip_route_dump_b9d2e09e") 4637 api.RegisterMessage((*IPRouteLookup)(nil), "ip_route_lookup_710d6471") 4638 api.RegisterMessage((*IPRouteLookupReply)(nil), "ip_route_lookup_reply_5d8febcb") 4639 api.RegisterMessage((*IPRouteLookupV2)(nil), "ip_route_lookup_v2_710d6471") 4640 api.RegisterMessage((*IPRouteLookupV2Reply)(nil), "ip_route_lookup_v2_reply_84cc9e03") 4641 api.RegisterMessage((*IPRouteV2Details)(nil), "ip_route_v2_details_b09aa6c0") 4642 api.RegisterMessage((*IPRouteV2Dump)(nil), "ip_route_v2_dump_d16f72e6") 4643 api.RegisterMessage((*IPSourceAndPortRangeCheckAddDel)(nil), "ip_source_and_port_range_check_add_del_92a067e3") 4644 api.RegisterMessage((*IPSourceAndPortRangeCheckAddDelReply)(nil), "ip_source_and_port_range_check_add_del_reply_e8d4e804") 4645 api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), "ip_source_and_port_range_check_interface_add_del_e1ba8987") 4646 api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), "ip_source_and_port_range_check_interface_add_del_reply_e8d4e804") 4647 api.RegisterMessage((*IPTableAddDel)(nil), "ip_table_add_del_0ffdaec0") 4648 api.RegisterMessage((*IPTableAddDelReply)(nil), "ip_table_add_del_reply_e8d4e804") 4649 api.RegisterMessage((*IPTableAllocate)(nil), "ip_table_allocate_b9d2e09e") 4650 api.RegisterMessage((*IPTableAllocateReply)(nil), "ip_table_allocate_reply_1728303a") 4651 api.RegisterMessage((*IPTableDetails)(nil), "ip_table_details_c79fca0f") 4652 api.RegisterMessage((*IPTableDump)(nil), "ip_table_dump_51077d14") 4653 api.RegisterMessage((*IPTableFlush)(nil), "ip_table_flush_b9d2e09e") 4654 api.RegisterMessage((*IPTableFlushReply)(nil), "ip_table_flush_reply_e8d4e804") 4655 api.RegisterMessage((*IPTableReplaceBegin)(nil), "ip_table_replace_begin_b9d2e09e") 4656 api.RegisterMessage((*IPTableReplaceBeginReply)(nil), "ip_table_replace_begin_reply_e8d4e804") 4657 api.RegisterMessage((*IPTableReplaceEnd)(nil), "ip_table_replace_end_b9d2e09e") 4658 api.RegisterMessage((*IPTableReplaceEndReply)(nil), "ip_table_replace_end_reply_e8d4e804") 4659 api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip_unnumbered_details_cc59bd42") 4660 api.RegisterMessage((*IPUnnumberedDump)(nil), "ip_unnumbered_dump_f9e6675e") 4661 api.RegisterMessage((*MfibSignalDetails)(nil), "mfib_signal_details_6f4a4cfb") 4662 api.RegisterMessage((*MfibSignalDump)(nil), "mfib_signal_dump_51077d14") 4663 api.RegisterMessage((*SetIPFlowHash)(nil), "set_ip_flow_hash_084ee09e") 4664 api.RegisterMessage((*SetIPFlowHashReply)(nil), "set_ip_flow_hash_reply_e8d4e804") 4665 api.RegisterMessage((*SetIPFlowHashRouterID)(nil), "set_ip_flow_hash_router_id_03e4f48e") 4666 api.RegisterMessage((*SetIPFlowHashRouterIDReply)(nil), "set_ip_flow_hash_router_id_reply_e8d4e804") 4667 api.RegisterMessage((*SetIPFlowHashV2)(nil), "set_ip_flow_hash_v2_6d132100") 4668 api.RegisterMessage((*SetIPFlowHashV2Reply)(nil), "set_ip_flow_hash_v2_reply_e8d4e804") 4669 api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "sw_interface_ip6_enable_disable_ae6cfcfb") 4670 api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "sw_interface_ip6_enable_disable_reply_e8d4e804") 4671 api.RegisterMessage((*SwInterfaceIP6GetLinkLocalAddress)(nil), "sw_interface_ip6_get_link_local_address_f9e6675e") 4672 api.RegisterMessage((*SwInterfaceIP6GetLinkLocalAddressReply)(nil), "sw_interface_ip6_get_link_local_address_reply_d16b7130") 4673 api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddress)(nil), "sw_interface_ip6_set_link_local_address_1c10f15f") 4674 api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddressReply)(nil), "sw_interface_ip6_set_link_local_address_reply_e8d4e804") 4675 } 4676 4677 // Messages returns list of all messages in this module. 4678 func AllMessages() []api.Message { 4679 return []api.Message{ 4680 (*AddDelIPPuntRedirectV2)(nil), 4681 (*AddDelIPPuntRedirectV2Reply)(nil), 4682 (*IoamDisable)(nil), 4683 (*IoamDisableReply)(nil), 4684 (*IoamEnable)(nil), 4685 (*IoamEnableReply)(nil), 4686 (*IPAddressDetails)(nil), 4687 (*IPAddressDump)(nil), 4688 (*IPContainerProxyAddDel)(nil), 4689 (*IPContainerProxyAddDelReply)(nil), 4690 (*IPContainerProxyDetails)(nil), 4691 (*IPContainerProxyDump)(nil), 4692 (*IPDetails)(nil), 4693 (*IPDump)(nil), 4694 (*IPLocalReassEnableDisable)(nil), 4695 (*IPLocalReassEnableDisableReply)(nil), 4696 (*IPLocalReassGet)(nil), 4697 (*IPLocalReassGetReply)(nil), 4698 (*IPMrouteAddDel)(nil), 4699 (*IPMrouteAddDelReply)(nil), 4700 (*IPMrouteDetails)(nil), 4701 (*IPMrouteDump)(nil), 4702 (*IPMtableDetails)(nil), 4703 (*IPMtableDump)(nil), 4704 (*IPPathMtuDetails)(nil), 4705 (*IPPathMtuGet)(nil), 4706 (*IPPathMtuGetReply)(nil), 4707 (*IPPathMtuReplaceBegin)(nil), 4708 (*IPPathMtuReplaceBeginReply)(nil), 4709 (*IPPathMtuReplaceEnd)(nil), 4710 (*IPPathMtuReplaceEndReply)(nil), 4711 (*IPPathMtuUpdate)(nil), 4712 (*IPPathMtuUpdateReply)(nil), 4713 (*IPPuntPolice)(nil), 4714 (*IPPuntPoliceReply)(nil), 4715 (*IPPuntRedirect)(nil), 4716 (*IPPuntRedirectDetails)(nil), 4717 (*IPPuntRedirectDump)(nil), 4718 (*IPPuntRedirectReply)(nil), 4719 (*IPPuntRedirectV2Details)(nil), 4720 (*IPPuntRedirectV2Dump)(nil), 4721 (*IPReassemblyEnableDisable)(nil), 4722 (*IPReassemblyEnableDisableReply)(nil), 4723 (*IPReassemblyGet)(nil), 4724 (*IPReassemblyGetReply)(nil), 4725 (*IPReassemblySet)(nil), 4726 (*IPReassemblySetReply)(nil), 4727 (*IPRouteAddDel)(nil), 4728 (*IPRouteAddDelReply)(nil), 4729 (*IPRouteAddDelV2)(nil), 4730 (*IPRouteAddDelV2Reply)(nil), 4731 (*IPRouteDetails)(nil), 4732 (*IPRouteDump)(nil), 4733 (*IPRouteLookup)(nil), 4734 (*IPRouteLookupReply)(nil), 4735 (*IPRouteLookupV2)(nil), 4736 (*IPRouteLookupV2Reply)(nil), 4737 (*IPRouteV2Details)(nil), 4738 (*IPRouteV2Dump)(nil), 4739 (*IPSourceAndPortRangeCheckAddDel)(nil), 4740 (*IPSourceAndPortRangeCheckAddDelReply)(nil), 4741 (*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), 4742 (*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), 4743 (*IPTableAddDel)(nil), 4744 (*IPTableAddDelReply)(nil), 4745 (*IPTableAllocate)(nil), 4746 (*IPTableAllocateReply)(nil), 4747 (*IPTableDetails)(nil), 4748 (*IPTableDump)(nil), 4749 (*IPTableFlush)(nil), 4750 (*IPTableFlushReply)(nil), 4751 (*IPTableReplaceBegin)(nil), 4752 (*IPTableReplaceBeginReply)(nil), 4753 (*IPTableReplaceEnd)(nil), 4754 (*IPTableReplaceEndReply)(nil), 4755 (*IPUnnumberedDetails)(nil), 4756 (*IPUnnumberedDump)(nil), 4757 (*MfibSignalDetails)(nil), 4758 (*MfibSignalDump)(nil), 4759 (*SetIPFlowHash)(nil), 4760 (*SetIPFlowHashReply)(nil), 4761 (*SetIPFlowHashRouterID)(nil), 4762 (*SetIPFlowHashRouterIDReply)(nil), 4763 (*SetIPFlowHashV2)(nil), 4764 (*SetIPFlowHashV2Reply)(nil), 4765 (*SwInterfaceIP6EnableDisable)(nil), 4766 (*SwInterfaceIP6EnableDisableReply)(nil), 4767 (*SwInterfaceIP6GetLinkLocalAddress)(nil), 4768 (*SwInterfaceIP6GetLinkLocalAddressReply)(nil), 4769 (*SwInterfaceIP6SetLinkLocalAddress)(nil), 4770 (*SwInterfaceIP6SetLinkLocalAddressReply)(nil), 4771 } 4772 }