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