github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/acl/acl.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 // versions: 3 // binapi-generator: v0.10.0-dev 4 // VPP: 23.10-rc0~170-g6f1548434 5 // source: plugins/acl.api.json 6 7 // Package acl contains generated bindings for API file acl.api. 8 // 9 // Contents: 10 // - 42 messages 11 package acl 12 13 import ( 14 acl_types "github.com/networkservicemesh/govpp/binapi/acl_types" 15 _ "github.com/networkservicemesh/govpp/binapi/ethernet_types" 16 interface_types "github.com/networkservicemesh/govpp/binapi/interface_types" 17 ip_types "github.com/networkservicemesh/govpp/binapi/ip_types" 18 api "go.fd.io/govpp/api" 19 codec "go.fd.io/govpp/codec" 20 ) 21 22 // This is a compile-time assertion to ensure that this generated file 23 // is compatible with the GoVPP api package it is being compiled against. 24 // A compilation error at this line likely means your copy of the 25 // GoVPP api package needs to be updated. 26 const _ = api.GoVppAPIPackageIsVersion2 27 28 const ( 29 APIFile = "acl" 30 APIVersion = "2.0.1" 31 VersionCrc = 0x5133bba0 32 ) 33 34 // Replace an existing ACL in-place or create a new ACL 35 // - acl_index - an existing ACL entry (0..0xfffffffe) to replace, or 0xffffffff to make new ACL 36 // - tag - a string value stored along with the ACL, for descriptive purposes 37 // - count - number of ACL rules 38 // @r - Rules for this access-list 39 // 40 // ACLAddReplace defines message 'acl_add_replace'. 41 type ACLAddReplace struct { 42 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 43 Tag string `binapi:"string[64],name=tag" json:"tag,omitempty"` 44 Count uint32 `binapi:"u32,name=count" json:"-"` 45 R []acl_types.ACLRule `binapi:"acl_rule[count],name=r" json:"r,omitempty"` 46 } 47 48 func (m *ACLAddReplace) Reset() { *m = ACLAddReplace{} } 49 func (*ACLAddReplace) GetMessageName() string { return "acl_add_replace" } 50 func (*ACLAddReplace) GetCrcString() string { return "ee5c2f18" } 51 func (*ACLAddReplace) GetMessageType() api.MessageType { 52 return api.RequestMessage 53 } 54 55 func (m *ACLAddReplace) Size() (size int) { 56 if m == nil { 57 return 0 58 } 59 size += 4 // m.ACLIndex 60 size += 64 // m.Tag 61 size += 4 // m.Count 62 for j1 := 0; j1 < len(m.R); j1++ { 63 var s1 acl_types.ACLRule 64 _ = s1 65 if j1 < len(m.R) { 66 s1 = m.R[j1] 67 } 68 size += 1 // s1.IsPermit 69 size += 1 // s1.SrcPrefix.Address.Af 70 size += 1 * 16 // s1.SrcPrefix.Address.Un 71 size += 1 // s1.SrcPrefix.Len 72 size += 1 // s1.DstPrefix.Address.Af 73 size += 1 * 16 // s1.DstPrefix.Address.Un 74 size += 1 // s1.DstPrefix.Len 75 size += 1 // s1.Proto 76 size += 2 // s1.SrcportOrIcmptypeFirst 77 size += 2 // s1.SrcportOrIcmptypeLast 78 size += 2 // s1.DstportOrIcmpcodeFirst 79 size += 2 // s1.DstportOrIcmpcodeLast 80 size += 1 // s1.TCPFlagsMask 81 size += 1 // s1.TCPFlagsValue 82 } 83 return size 84 } 85 func (m *ACLAddReplace) Marshal(b []byte) ([]byte, error) { 86 if b == nil { 87 b = make([]byte, m.Size()) 88 } 89 buf := codec.NewBuffer(b) 90 buf.EncodeUint32(m.ACLIndex) 91 buf.EncodeString(m.Tag, 64) 92 buf.EncodeUint32(uint32(len(m.R))) 93 for j0 := 0; j0 < len(m.R); j0++ { 94 var v0 acl_types.ACLRule // R 95 if j0 < len(m.R) { 96 v0 = m.R[j0] 97 } 98 buf.EncodeUint8(uint8(v0.IsPermit)) 99 buf.EncodeUint8(uint8(v0.SrcPrefix.Address.Af)) 100 buf.EncodeBytes(v0.SrcPrefix.Address.Un.XXX_UnionData[:], 16) 101 buf.EncodeUint8(v0.SrcPrefix.Len) 102 buf.EncodeUint8(uint8(v0.DstPrefix.Address.Af)) 103 buf.EncodeBytes(v0.DstPrefix.Address.Un.XXX_UnionData[:], 16) 104 buf.EncodeUint8(v0.DstPrefix.Len) 105 buf.EncodeUint8(uint8(v0.Proto)) 106 buf.EncodeUint16(v0.SrcportOrIcmptypeFirst) 107 buf.EncodeUint16(v0.SrcportOrIcmptypeLast) 108 buf.EncodeUint16(v0.DstportOrIcmpcodeFirst) 109 buf.EncodeUint16(v0.DstportOrIcmpcodeLast) 110 buf.EncodeUint8(v0.TCPFlagsMask) 111 buf.EncodeUint8(v0.TCPFlagsValue) 112 } 113 return buf.Bytes(), nil 114 } 115 func (m *ACLAddReplace) Unmarshal(b []byte) error { 116 buf := codec.NewBuffer(b) 117 m.ACLIndex = buf.DecodeUint32() 118 m.Tag = buf.DecodeString(64) 119 m.Count = buf.DecodeUint32() 120 m.R = make([]acl_types.ACLRule, m.Count) 121 for j0 := 0; j0 < len(m.R); j0++ { 122 m.R[j0].IsPermit = acl_types.ACLAction(buf.DecodeUint8()) 123 m.R[j0].SrcPrefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 124 copy(m.R[j0].SrcPrefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 125 m.R[j0].SrcPrefix.Len = buf.DecodeUint8() 126 m.R[j0].DstPrefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 127 copy(m.R[j0].DstPrefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 128 m.R[j0].DstPrefix.Len = buf.DecodeUint8() 129 m.R[j0].Proto = ip_types.IPProto(buf.DecodeUint8()) 130 m.R[j0].SrcportOrIcmptypeFirst = buf.DecodeUint16() 131 m.R[j0].SrcportOrIcmptypeLast = buf.DecodeUint16() 132 m.R[j0].DstportOrIcmpcodeFirst = buf.DecodeUint16() 133 m.R[j0].DstportOrIcmpcodeLast = buf.DecodeUint16() 134 m.R[j0].TCPFlagsMask = buf.DecodeUint8() 135 m.R[j0].TCPFlagsValue = buf.DecodeUint8() 136 } 137 return nil 138 } 139 140 // Reply to add/replace ACL 141 // - acl_index - index of the updated or newly created ACL 142 // - retval 0 - no error 143 // 144 // ACLAddReplaceReply defines message 'acl_add_replace_reply'. 145 type ACLAddReplaceReply struct { 146 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 147 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 148 } 149 150 func (m *ACLAddReplaceReply) Reset() { *m = ACLAddReplaceReply{} } 151 func (*ACLAddReplaceReply) GetMessageName() string { return "acl_add_replace_reply" } 152 func (*ACLAddReplaceReply) GetCrcString() string { return "ac407b0c" } 153 func (*ACLAddReplaceReply) GetMessageType() api.MessageType { 154 return api.ReplyMessage 155 } 156 157 func (m *ACLAddReplaceReply) Size() (size int) { 158 if m == nil { 159 return 0 160 } 161 size += 4 // m.ACLIndex 162 size += 4 // m.Retval 163 return size 164 } 165 func (m *ACLAddReplaceReply) Marshal(b []byte) ([]byte, error) { 166 if b == nil { 167 b = make([]byte, m.Size()) 168 } 169 buf := codec.NewBuffer(b) 170 buf.EncodeUint32(m.ACLIndex) 171 buf.EncodeInt32(m.Retval) 172 return buf.Bytes(), nil 173 } 174 func (m *ACLAddReplaceReply) Unmarshal(b []byte) error { 175 buf := codec.NewBuffer(b) 176 m.ACLIndex = buf.DecodeUint32() 177 m.Retval = buf.DecodeInt32() 178 return nil 179 } 180 181 // Delete an ACL 182 // - acl_index - ACL index to delete 183 // 184 // ACLDel defines message 'acl_del'. 185 type ACLDel struct { 186 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 187 } 188 189 func (m *ACLDel) Reset() { *m = ACLDel{} } 190 func (*ACLDel) GetMessageName() string { return "acl_del" } 191 func (*ACLDel) GetCrcString() string { return "ef34fea4" } 192 func (*ACLDel) GetMessageType() api.MessageType { 193 return api.RequestMessage 194 } 195 196 func (m *ACLDel) Size() (size int) { 197 if m == nil { 198 return 0 199 } 200 size += 4 // m.ACLIndex 201 return size 202 } 203 func (m *ACLDel) Marshal(b []byte) ([]byte, error) { 204 if b == nil { 205 b = make([]byte, m.Size()) 206 } 207 buf := codec.NewBuffer(b) 208 buf.EncodeUint32(m.ACLIndex) 209 return buf.Bytes(), nil 210 } 211 func (m *ACLDel) Unmarshal(b []byte) error { 212 buf := codec.NewBuffer(b) 213 m.ACLIndex = buf.DecodeUint32() 214 return nil 215 } 216 217 // ACLDelReply defines message 'acl_del_reply'. 218 type ACLDelReply struct { 219 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 220 } 221 222 func (m *ACLDelReply) Reset() { *m = ACLDelReply{} } 223 func (*ACLDelReply) GetMessageName() string { return "acl_del_reply" } 224 func (*ACLDelReply) GetCrcString() string { return "e8d4e804" } 225 func (*ACLDelReply) GetMessageType() api.MessageType { 226 return api.ReplyMessage 227 } 228 229 func (m *ACLDelReply) Size() (size int) { 230 if m == nil { 231 return 0 232 } 233 size += 4 // m.Retval 234 return size 235 } 236 func (m *ACLDelReply) Marshal(b []byte) ([]byte, error) { 237 if b == nil { 238 b = make([]byte, m.Size()) 239 } 240 buf := codec.NewBuffer(b) 241 buf.EncodeInt32(m.Retval) 242 return buf.Bytes(), nil 243 } 244 func (m *ACLDelReply) Unmarshal(b []byte) error { 245 buf := codec.NewBuffer(b) 246 m.Retval = buf.DecodeInt32() 247 return nil 248 } 249 250 // Details about a single ACL contents 251 // - acl_index - ACL index whose contents are being sent in this message 252 // - tag - Descriptive tag value which was supplied at ACL creation 253 // - count - Number of rules in this ACL 254 // - r - Array of rules within this ACL 255 // 256 // ACLDetails defines message 'acl_details'. 257 type ACLDetails struct { 258 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 259 Tag string `binapi:"string[64],name=tag" json:"tag,omitempty"` 260 Count uint32 `binapi:"u32,name=count" json:"-"` 261 R []acl_types.ACLRule `binapi:"acl_rule[count],name=r" json:"r,omitempty"` 262 } 263 264 func (m *ACLDetails) Reset() { *m = ACLDetails{} } 265 func (*ACLDetails) GetMessageName() string { return "acl_details" } 266 func (*ACLDetails) GetCrcString() string { return "95babae0" } 267 func (*ACLDetails) GetMessageType() api.MessageType { 268 return api.ReplyMessage 269 } 270 271 func (m *ACLDetails) Size() (size int) { 272 if m == nil { 273 return 0 274 } 275 size += 4 // m.ACLIndex 276 size += 64 // m.Tag 277 size += 4 // m.Count 278 for j1 := 0; j1 < len(m.R); j1++ { 279 var s1 acl_types.ACLRule 280 _ = s1 281 if j1 < len(m.R) { 282 s1 = m.R[j1] 283 } 284 size += 1 // s1.IsPermit 285 size += 1 // s1.SrcPrefix.Address.Af 286 size += 1 * 16 // s1.SrcPrefix.Address.Un 287 size += 1 // s1.SrcPrefix.Len 288 size += 1 // s1.DstPrefix.Address.Af 289 size += 1 * 16 // s1.DstPrefix.Address.Un 290 size += 1 // s1.DstPrefix.Len 291 size += 1 // s1.Proto 292 size += 2 // s1.SrcportOrIcmptypeFirst 293 size += 2 // s1.SrcportOrIcmptypeLast 294 size += 2 // s1.DstportOrIcmpcodeFirst 295 size += 2 // s1.DstportOrIcmpcodeLast 296 size += 1 // s1.TCPFlagsMask 297 size += 1 // s1.TCPFlagsValue 298 } 299 return size 300 } 301 func (m *ACLDetails) Marshal(b []byte) ([]byte, error) { 302 if b == nil { 303 b = make([]byte, m.Size()) 304 } 305 buf := codec.NewBuffer(b) 306 buf.EncodeUint32(m.ACLIndex) 307 buf.EncodeString(m.Tag, 64) 308 buf.EncodeUint32(uint32(len(m.R))) 309 for j0 := 0; j0 < len(m.R); j0++ { 310 var v0 acl_types.ACLRule // R 311 if j0 < len(m.R) { 312 v0 = m.R[j0] 313 } 314 buf.EncodeUint8(uint8(v0.IsPermit)) 315 buf.EncodeUint8(uint8(v0.SrcPrefix.Address.Af)) 316 buf.EncodeBytes(v0.SrcPrefix.Address.Un.XXX_UnionData[:], 16) 317 buf.EncodeUint8(v0.SrcPrefix.Len) 318 buf.EncodeUint8(uint8(v0.DstPrefix.Address.Af)) 319 buf.EncodeBytes(v0.DstPrefix.Address.Un.XXX_UnionData[:], 16) 320 buf.EncodeUint8(v0.DstPrefix.Len) 321 buf.EncodeUint8(uint8(v0.Proto)) 322 buf.EncodeUint16(v0.SrcportOrIcmptypeFirst) 323 buf.EncodeUint16(v0.SrcportOrIcmptypeLast) 324 buf.EncodeUint16(v0.DstportOrIcmpcodeFirst) 325 buf.EncodeUint16(v0.DstportOrIcmpcodeLast) 326 buf.EncodeUint8(v0.TCPFlagsMask) 327 buf.EncodeUint8(v0.TCPFlagsValue) 328 } 329 return buf.Bytes(), nil 330 } 331 func (m *ACLDetails) Unmarshal(b []byte) error { 332 buf := codec.NewBuffer(b) 333 m.ACLIndex = buf.DecodeUint32() 334 m.Tag = buf.DecodeString(64) 335 m.Count = buf.DecodeUint32() 336 m.R = make([]acl_types.ACLRule, m.Count) 337 for j0 := 0; j0 < len(m.R); j0++ { 338 m.R[j0].IsPermit = acl_types.ACLAction(buf.DecodeUint8()) 339 m.R[j0].SrcPrefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 340 copy(m.R[j0].SrcPrefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 341 m.R[j0].SrcPrefix.Len = buf.DecodeUint8() 342 m.R[j0].DstPrefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 343 copy(m.R[j0].DstPrefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 344 m.R[j0].DstPrefix.Len = buf.DecodeUint8() 345 m.R[j0].Proto = ip_types.IPProto(buf.DecodeUint8()) 346 m.R[j0].SrcportOrIcmptypeFirst = buf.DecodeUint16() 347 m.R[j0].SrcportOrIcmptypeLast = buf.DecodeUint16() 348 m.R[j0].DstportOrIcmpcodeFirst = buf.DecodeUint16() 349 m.R[j0].DstportOrIcmpcodeLast = buf.DecodeUint16() 350 m.R[j0].TCPFlagsMask = buf.DecodeUint8() 351 m.R[j0].TCPFlagsValue = buf.DecodeUint8() 352 } 353 return nil 354 } 355 356 // Dump the specific ACL contents or all of the ACLs' contents 357 // - acl_index - ACL index to dump, ~0 to dump all ACLs 358 // 359 // ACLDump defines message 'acl_dump'. 360 type ACLDump struct { 361 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 362 } 363 364 func (m *ACLDump) Reset() { *m = ACLDump{} } 365 func (*ACLDump) GetMessageName() string { return "acl_dump" } 366 func (*ACLDump) GetCrcString() string { return "ef34fea4" } 367 func (*ACLDump) GetMessageType() api.MessageType { 368 return api.RequestMessage 369 } 370 371 func (m *ACLDump) Size() (size int) { 372 if m == nil { 373 return 0 374 } 375 size += 4 // m.ACLIndex 376 return size 377 } 378 func (m *ACLDump) Marshal(b []byte) ([]byte, error) { 379 if b == nil { 380 b = make([]byte, m.Size()) 381 } 382 buf := codec.NewBuffer(b) 383 buf.EncodeUint32(m.ACLIndex) 384 return buf.Bytes(), nil 385 } 386 func (m *ACLDump) Unmarshal(b []byte) error { 387 buf := codec.NewBuffer(b) 388 m.ACLIndex = buf.DecodeUint32() 389 return nil 390 } 391 392 // Use acl_interface_set_acl_list instead 393 // 394 // Append/remove an ACL index to/from the list of ACLs checked for an interface 395 // - is_add - add or delete the ACL index from the list 396 // - is_input - check the ACL on input (1) or output (0) 397 // - sw_if_index - the interface to alter the list of ACLs on 398 // - acl_index - index of ACL for the operation 399 // 400 // ACLInterfaceAddDel defines message 'acl_interface_add_del'. 401 type ACLInterfaceAddDel struct { 402 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 403 IsInput bool `binapi:"bool,name=is_input" json:"is_input,omitempty"` 404 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 405 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 406 } 407 408 func (m *ACLInterfaceAddDel) Reset() { *m = ACLInterfaceAddDel{} } 409 func (*ACLInterfaceAddDel) GetMessageName() string { return "acl_interface_add_del" } 410 func (*ACLInterfaceAddDel) GetCrcString() string { return "4b54bebd" } 411 func (*ACLInterfaceAddDel) GetMessageType() api.MessageType { 412 return api.RequestMessage 413 } 414 415 func (m *ACLInterfaceAddDel) Size() (size int) { 416 if m == nil { 417 return 0 418 } 419 size += 1 // m.IsAdd 420 size += 1 // m.IsInput 421 size += 4 // m.SwIfIndex 422 size += 4 // m.ACLIndex 423 return size 424 } 425 func (m *ACLInterfaceAddDel) Marshal(b []byte) ([]byte, error) { 426 if b == nil { 427 b = make([]byte, m.Size()) 428 } 429 buf := codec.NewBuffer(b) 430 buf.EncodeBool(m.IsAdd) 431 buf.EncodeBool(m.IsInput) 432 buf.EncodeUint32(uint32(m.SwIfIndex)) 433 buf.EncodeUint32(m.ACLIndex) 434 return buf.Bytes(), nil 435 } 436 func (m *ACLInterfaceAddDel) Unmarshal(b []byte) error { 437 buf := codec.NewBuffer(b) 438 m.IsAdd = buf.DecodeBool() 439 m.IsInput = buf.DecodeBool() 440 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 441 m.ACLIndex = buf.DecodeUint32() 442 return nil 443 } 444 445 // ACLInterfaceAddDelReply defines message 'acl_interface_add_del_reply'. 446 type ACLInterfaceAddDelReply struct { 447 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 448 } 449 450 func (m *ACLInterfaceAddDelReply) Reset() { *m = ACLInterfaceAddDelReply{} } 451 func (*ACLInterfaceAddDelReply) GetMessageName() string { return "acl_interface_add_del_reply" } 452 func (*ACLInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" } 453 func (*ACLInterfaceAddDelReply) GetMessageType() api.MessageType { 454 return api.ReplyMessage 455 } 456 457 func (m *ACLInterfaceAddDelReply) Size() (size int) { 458 if m == nil { 459 return 0 460 } 461 size += 4 // m.Retval 462 return size 463 } 464 func (m *ACLInterfaceAddDelReply) Marshal(b []byte) ([]byte, error) { 465 if b == nil { 466 b = make([]byte, m.Size()) 467 } 468 buf := codec.NewBuffer(b) 469 buf.EncodeInt32(m.Retval) 470 return buf.Bytes(), nil 471 } 472 func (m *ACLInterfaceAddDelReply) Unmarshal(b []byte) error { 473 buf := codec.NewBuffer(b) 474 m.Retval = buf.DecodeInt32() 475 return nil 476 } 477 478 // Details about ethertype whitelist on a single interface 479 // - sw_if_index - interface for which the list of MACIP ACLs is applied 480 // - count - total number of whitelisted ethertypes in the vector 481 // - n_input - this many first elements correspond to input whitelisted ethertypes, the rest - output 482 // - whitelist - vector of whitelisted ethertypes 483 // 484 // ACLInterfaceEtypeWhitelistDetails defines message 'acl_interface_etype_whitelist_details'. 485 type ACLInterfaceEtypeWhitelistDetails struct { 486 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 487 Count uint8 `binapi:"u8,name=count" json:"-"` 488 NInput uint8 `binapi:"u8,name=n_input" json:"n_input,omitempty"` 489 Whitelist []uint16 `binapi:"u16[count],name=whitelist" json:"whitelist,omitempty"` 490 } 491 492 func (m *ACLInterfaceEtypeWhitelistDetails) Reset() { *m = ACLInterfaceEtypeWhitelistDetails{} } 493 func (*ACLInterfaceEtypeWhitelistDetails) GetMessageName() string { 494 return "acl_interface_etype_whitelist_details" 495 } 496 func (*ACLInterfaceEtypeWhitelistDetails) GetCrcString() string { return "cc2bfded" } 497 func (*ACLInterfaceEtypeWhitelistDetails) GetMessageType() api.MessageType { 498 return api.ReplyMessage 499 } 500 501 func (m *ACLInterfaceEtypeWhitelistDetails) Size() (size int) { 502 if m == nil { 503 return 0 504 } 505 size += 4 // m.SwIfIndex 506 size += 1 // m.Count 507 size += 1 // m.NInput 508 size += 2 * len(m.Whitelist) // m.Whitelist 509 return size 510 } 511 func (m *ACLInterfaceEtypeWhitelistDetails) Marshal(b []byte) ([]byte, error) { 512 if b == nil { 513 b = make([]byte, m.Size()) 514 } 515 buf := codec.NewBuffer(b) 516 buf.EncodeUint32(uint32(m.SwIfIndex)) 517 buf.EncodeUint8(uint8(len(m.Whitelist))) 518 buf.EncodeUint8(m.NInput) 519 for i := 0; i < len(m.Whitelist); i++ { 520 var x uint16 521 if i < len(m.Whitelist) { 522 x = uint16(m.Whitelist[i]) 523 } 524 buf.EncodeUint16(x) 525 } 526 return buf.Bytes(), nil 527 } 528 func (m *ACLInterfaceEtypeWhitelistDetails) Unmarshal(b []byte) error { 529 buf := codec.NewBuffer(b) 530 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 531 m.Count = buf.DecodeUint8() 532 m.NInput = buf.DecodeUint8() 533 m.Whitelist = make([]uint16, m.Count) 534 for i := 0; i < len(m.Whitelist); i++ { 535 m.Whitelist[i] = buf.DecodeUint16() 536 } 537 return nil 538 } 539 540 // Dump the list(s) of Ethertype whitelists applied to specific or all interfaces 541 // - sw_if_index - interface to dump the ethertype whitelist for 542 // 543 // ACLInterfaceEtypeWhitelistDump defines message 'acl_interface_etype_whitelist_dump'. 544 type ACLInterfaceEtypeWhitelistDump struct { 545 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 546 } 547 548 func (m *ACLInterfaceEtypeWhitelistDump) Reset() { *m = ACLInterfaceEtypeWhitelistDump{} } 549 func (*ACLInterfaceEtypeWhitelistDump) GetMessageName() string { 550 return "acl_interface_etype_whitelist_dump" 551 } 552 func (*ACLInterfaceEtypeWhitelistDump) GetCrcString() string { return "f9e6675e" } 553 func (*ACLInterfaceEtypeWhitelistDump) GetMessageType() api.MessageType { 554 return api.RequestMessage 555 } 556 557 func (m *ACLInterfaceEtypeWhitelistDump) Size() (size int) { 558 if m == nil { 559 return 0 560 } 561 size += 4 // m.SwIfIndex 562 return size 563 } 564 func (m *ACLInterfaceEtypeWhitelistDump) Marshal(b []byte) ([]byte, error) { 565 if b == nil { 566 b = make([]byte, m.Size()) 567 } 568 buf := codec.NewBuffer(b) 569 buf.EncodeUint32(uint32(m.SwIfIndex)) 570 return buf.Bytes(), nil 571 } 572 func (m *ACLInterfaceEtypeWhitelistDump) Unmarshal(b []byte) error { 573 buf := codec.NewBuffer(b) 574 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 575 return nil 576 } 577 578 // Details about a single ACL contents 579 // - sw_if_index - interface for which the list of ACLs is applied 580 // - count - total length of acl indices vector 581 // - n_input - this many of indices in the beginning are input ACLs, the rest - output 582 // - acls - the vector of ACL indices 583 // 584 // ACLInterfaceListDetails defines message 'acl_interface_list_details'. 585 type ACLInterfaceListDetails struct { 586 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 587 Count uint8 `binapi:"u8,name=count" json:"-"` 588 NInput uint8 `binapi:"u8,name=n_input" json:"n_input,omitempty"` 589 Acls []uint32 `binapi:"u32[count],name=acls" json:"acls,omitempty"` 590 } 591 592 func (m *ACLInterfaceListDetails) Reset() { *m = ACLInterfaceListDetails{} } 593 func (*ACLInterfaceListDetails) GetMessageName() string { return "acl_interface_list_details" } 594 func (*ACLInterfaceListDetails) GetCrcString() string { return "e695d256" } 595 func (*ACLInterfaceListDetails) GetMessageType() api.MessageType { 596 return api.ReplyMessage 597 } 598 599 func (m *ACLInterfaceListDetails) Size() (size int) { 600 if m == nil { 601 return 0 602 } 603 size += 4 // m.SwIfIndex 604 size += 1 // m.Count 605 size += 1 // m.NInput 606 size += 4 * len(m.Acls) // m.Acls 607 return size 608 } 609 func (m *ACLInterfaceListDetails) Marshal(b []byte) ([]byte, error) { 610 if b == nil { 611 b = make([]byte, m.Size()) 612 } 613 buf := codec.NewBuffer(b) 614 buf.EncodeUint32(uint32(m.SwIfIndex)) 615 buf.EncodeUint8(uint8(len(m.Acls))) 616 buf.EncodeUint8(m.NInput) 617 for i := 0; i < len(m.Acls); i++ { 618 var x uint32 619 if i < len(m.Acls) { 620 x = uint32(m.Acls[i]) 621 } 622 buf.EncodeUint32(x) 623 } 624 return buf.Bytes(), nil 625 } 626 func (m *ACLInterfaceListDetails) Unmarshal(b []byte) error { 627 buf := codec.NewBuffer(b) 628 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 629 m.Count = buf.DecodeUint8() 630 m.NInput = buf.DecodeUint8() 631 m.Acls = make([]uint32, m.Count) 632 for i := 0; i < len(m.Acls); i++ { 633 m.Acls[i] = buf.DecodeUint32() 634 } 635 return nil 636 } 637 638 // Dump the list(s) of ACL applied to specific or all interfaces 639 // - sw_if_index - interface for which to dump the ACL list. Default: 0xffffffff (All interfaces) 640 // 641 // ACLInterfaceListDump defines message 'acl_interface_list_dump'. 642 type ACLInterfaceListDump struct { 643 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"` 644 } 645 646 func (m *ACLInterfaceListDump) Reset() { *m = ACLInterfaceListDump{} } 647 func (*ACLInterfaceListDump) GetMessageName() string { return "acl_interface_list_dump" } 648 func (*ACLInterfaceListDump) GetCrcString() string { return "f9e6675e" } 649 func (*ACLInterfaceListDump) GetMessageType() api.MessageType { 650 return api.RequestMessage 651 } 652 653 func (m *ACLInterfaceListDump) Size() (size int) { 654 if m == nil { 655 return 0 656 } 657 size += 4 // m.SwIfIndex 658 return size 659 } 660 func (m *ACLInterfaceListDump) Marshal(b []byte) ([]byte, error) { 661 if b == nil { 662 b = make([]byte, m.Size()) 663 } 664 buf := codec.NewBuffer(b) 665 buf.EncodeUint32(uint32(m.SwIfIndex)) 666 return buf.Bytes(), nil 667 } 668 func (m *ACLInterfaceListDump) Unmarshal(b []byte) error { 669 buf := codec.NewBuffer(b) 670 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 671 return nil 672 } 673 674 // Set the vector of input/output ACLs checked for an interface 675 // - sw_if_index - the interface to alter the list of ACLs on 676 // - count - total number of ACL indices in the vector 677 // - n_input - this many first elements correspond to input ACLs, the rest - output 678 // - acls - vector of ACL indices 679 // 680 // ACLInterfaceSetACLList defines message 'acl_interface_set_acl_list'. 681 type ACLInterfaceSetACLList struct { 682 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 683 Count uint8 `binapi:"u8,name=count" json:"-"` 684 NInput uint8 `binapi:"u8,name=n_input" json:"n_input,omitempty"` 685 Acls []uint32 `binapi:"u32[count],name=acls" json:"acls,omitempty"` 686 } 687 688 func (m *ACLInterfaceSetACLList) Reset() { *m = ACLInterfaceSetACLList{} } 689 func (*ACLInterfaceSetACLList) GetMessageName() string { return "acl_interface_set_acl_list" } 690 func (*ACLInterfaceSetACLList) GetCrcString() string { return "473982bd" } 691 func (*ACLInterfaceSetACLList) GetMessageType() api.MessageType { 692 return api.RequestMessage 693 } 694 695 func (m *ACLInterfaceSetACLList) Size() (size int) { 696 if m == nil { 697 return 0 698 } 699 size += 4 // m.SwIfIndex 700 size += 1 // m.Count 701 size += 1 // m.NInput 702 size += 4 * len(m.Acls) // m.Acls 703 return size 704 } 705 func (m *ACLInterfaceSetACLList) Marshal(b []byte) ([]byte, error) { 706 if b == nil { 707 b = make([]byte, m.Size()) 708 } 709 buf := codec.NewBuffer(b) 710 buf.EncodeUint32(uint32(m.SwIfIndex)) 711 buf.EncodeUint8(uint8(len(m.Acls))) 712 buf.EncodeUint8(m.NInput) 713 for i := 0; i < len(m.Acls); i++ { 714 var x uint32 715 if i < len(m.Acls) { 716 x = uint32(m.Acls[i]) 717 } 718 buf.EncodeUint32(x) 719 } 720 return buf.Bytes(), nil 721 } 722 func (m *ACLInterfaceSetACLList) Unmarshal(b []byte) error { 723 buf := codec.NewBuffer(b) 724 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 725 m.Count = buf.DecodeUint8() 726 m.NInput = buf.DecodeUint8() 727 m.Acls = make([]uint32, m.Count) 728 for i := 0; i < len(m.Acls); i++ { 729 m.Acls[i] = buf.DecodeUint32() 730 } 731 return nil 732 } 733 734 // ACLInterfaceSetACLListReply defines message 'acl_interface_set_acl_list_reply'. 735 type ACLInterfaceSetACLListReply struct { 736 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 737 } 738 739 func (m *ACLInterfaceSetACLListReply) Reset() { *m = ACLInterfaceSetACLListReply{} } 740 func (*ACLInterfaceSetACLListReply) GetMessageName() string { 741 return "acl_interface_set_acl_list_reply" 742 } 743 func (*ACLInterfaceSetACLListReply) GetCrcString() string { return "e8d4e804" } 744 func (*ACLInterfaceSetACLListReply) GetMessageType() api.MessageType { 745 return api.ReplyMessage 746 } 747 748 func (m *ACLInterfaceSetACLListReply) Size() (size int) { 749 if m == nil { 750 return 0 751 } 752 size += 4 // m.Retval 753 return size 754 } 755 func (m *ACLInterfaceSetACLListReply) Marshal(b []byte) ([]byte, error) { 756 if b == nil { 757 b = make([]byte, m.Size()) 758 } 759 buf := codec.NewBuffer(b) 760 buf.EncodeInt32(m.Retval) 761 return buf.Bytes(), nil 762 } 763 func (m *ACLInterfaceSetACLListReply) Unmarshal(b []byte) error { 764 buf := codec.NewBuffer(b) 765 m.Retval = buf.DecodeInt32() 766 return nil 767 } 768 769 // Set the ethertype whitelists on an interface. Takes effect when applying ACLs on the interface, so must be given prior. 770 // - sw_if_index - the interface to alter the list of ACLs on 771 // - count - total number of whitelisted ethertypes in the vector 772 // - n_input - this many first elements correspond to input whitelisted ethertypes, the rest - output 773 // - whitelist - vector of whitelisted ethertypes 774 // 775 // ACLInterfaceSetEtypeWhitelist defines message 'acl_interface_set_etype_whitelist'. 776 type ACLInterfaceSetEtypeWhitelist struct { 777 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 778 Count uint8 `binapi:"u8,name=count" json:"-"` 779 NInput uint8 `binapi:"u8,name=n_input" json:"n_input,omitempty"` 780 Whitelist []uint16 `binapi:"u16[count],name=whitelist" json:"whitelist,omitempty"` 781 } 782 783 func (m *ACLInterfaceSetEtypeWhitelist) Reset() { *m = ACLInterfaceSetEtypeWhitelist{} } 784 func (*ACLInterfaceSetEtypeWhitelist) GetMessageName() string { 785 return "acl_interface_set_etype_whitelist" 786 } 787 func (*ACLInterfaceSetEtypeWhitelist) GetCrcString() string { return "3f5c2d2d" } 788 func (*ACLInterfaceSetEtypeWhitelist) GetMessageType() api.MessageType { 789 return api.RequestMessage 790 } 791 792 func (m *ACLInterfaceSetEtypeWhitelist) Size() (size int) { 793 if m == nil { 794 return 0 795 } 796 size += 4 // m.SwIfIndex 797 size += 1 // m.Count 798 size += 1 // m.NInput 799 size += 2 * len(m.Whitelist) // m.Whitelist 800 return size 801 } 802 func (m *ACLInterfaceSetEtypeWhitelist) Marshal(b []byte) ([]byte, error) { 803 if b == nil { 804 b = make([]byte, m.Size()) 805 } 806 buf := codec.NewBuffer(b) 807 buf.EncodeUint32(uint32(m.SwIfIndex)) 808 buf.EncodeUint8(uint8(len(m.Whitelist))) 809 buf.EncodeUint8(m.NInput) 810 for i := 0; i < len(m.Whitelist); i++ { 811 var x uint16 812 if i < len(m.Whitelist) { 813 x = uint16(m.Whitelist[i]) 814 } 815 buf.EncodeUint16(x) 816 } 817 return buf.Bytes(), nil 818 } 819 func (m *ACLInterfaceSetEtypeWhitelist) Unmarshal(b []byte) error { 820 buf := codec.NewBuffer(b) 821 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 822 m.Count = buf.DecodeUint8() 823 m.NInput = buf.DecodeUint8() 824 m.Whitelist = make([]uint16, m.Count) 825 for i := 0; i < len(m.Whitelist); i++ { 826 m.Whitelist[i] = buf.DecodeUint16() 827 } 828 return nil 829 } 830 831 // ACLInterfaceSetEtypeWhitelistReply defines message 'acl_interface_set_etype_whitelist_reply'. 832 type ACLInterfaceSetEtypeWhitelistReply struct { 833 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 834 } 835 836 func (m *ACLInterfaceSetEtypeWhitelistReply) Reset() { *m = ACLInterfaceSetEtypeWhitelistReply{} } 837 func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageName() string { 838 return "acl_interface_set_etype_whitelist_reply" 839 } 840 func (*ACLInterfaceSetEtypeWhitelistReply) GetCrcString() string { return "e8d4e804" } 841 func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageType() api.MessageType { 842 return api.ReplyMessage 843 } 844 845 func (m *ACLInterfaceSetEtypeWhitelistReply) Size() (size int) { 846 if m == nil { 847 return 0 848 } 849 size += 4 // m.Retval 850 return size 851 } 852 func (m *ACLInterfaceSetEtypeWhitelistReply) Marshal(b []byte) ([]byte, error) { 853 if b == nil { 854 b = make([]byte, m.Size()) 855 } 856 buf := codec.NewBuffer(b) 857 buf.EncodeInt32(m.Retval) 858 return buf.Bytes(), nil 859 } 860 func (m *ACLInterfaceSetEtypeWhitelistReply) Unmarshal(b []byte) error { 861 buf := codec.NewBuffer(b) 862 m.Retval = buf.DecodeInt32() 863 return nil 864 } 865 866 // Control ping from client to api server request 867 // ACLPluginControlPing defines message 'acl_plugin_control_ping'. 868 type ACLPluginControlPing struct{} 869 870 func (m *ACLPluginControlPing) Reset() { *m = ACLPluginControlPing{} } 871 func (*ACLPluginControlPing) GetMessageName() string { return "acl_plugin_control_ping" } 872 func (*ACLPluginControlPing) GetCrcString() string { return "51077d14" } 873 func (*ACLPluginControlPing) GetMessageType() api.MessageType { 874 return api.RequestMessage 875 } 876 877 func (m *ACLPluginControlPing) Size() (size int) { 878 if m == nil { 879 return 0 880 } 881 return size 882 } 883 func (m *ACLPluginControlPing) Marshal(b []byte) ([]byte, error) { 884 if b == nil { 885 b = make([]byte, m.Size()) 886 } 887 buf := codec.NewBuffer(b) 888 return buf.Bytes(), nil 889 } 890 func (m *ACLPluginControlPing) Unmarshal(b []byte) error { 891 return nil 892 } 893 894 // Control ping from the client to the server response 895 // - retval - return code for the request 896 // - vpe_pid - the pid of the vpe, returned by the server 897 // 898 // ACLPluginControlPingReply defines message 'acl_plugin_control_ping_reply'. 899 type ACLPluginControlPingReply struct { 900 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 901 ClientIndex uint32 `binapi:"u32,name=client_index" json:"client_index,omitempty"` 902 VpePID uint32 `binapi:"u32,name=vpe_pid" json:"vpe_pid,omitempty"` 903 } 904 905 func (m *ACLPluginControlPingReply) Reset() { *m = ACLPluginControlPingReply{} } 906 func (*ACLPluginControlPingReply) GetMessageName() string { return "acl_plugin_control_ping_reply" } 907 func (*ACLPluginControlPingReply) GetCrcString() string { return "f6b0b8ca" } 908 func (*ACLPluginControlPingReply) GetMessageType() api.MessageType { 909 return api.ReplyMessage 910 } 911 912 func (m *ACLPluginControlPingReply) Size() (size int) { 913 if m == nil { 914 return 0 915 } 916 size += 4 // m.Retval 917 size += 4 // m.ClientIndex 918 size += 4 // m.VpePID 919 return size 920 } 921 func (m *ACLPluginControlPingReply) Marshal(b []byte) ([]byte, error) { 922 if b == nil { 923 b = make([]byte, m.Size()) 924 } 925 buf := codec.NewBuffer(b) 926 buf.EncodeInt32(m.Retval) 927 buf.EncodeUint32(m.ClientIndex) 928 buf.EncodeUint32(m.VpePID) 929 return buf.Bytes(), nil 930 } 931 func (m *ACLPluginControlPingReply) Unmarshal(b []byte) error { 932 buf := codec.NewBuffer(b) 933 m.Retval = buf.DecodeInt32() 934 m.ClientIndex = buf.DecodeUint32() 935 m.VpePID = buf.DecodeUint32() 936 return nil 937 } 938 939 // Get Connection table max entries 940 // ACLPluginGetConnTableMaxEntries defines message 'acl_plugin_get_conn_table_max_entries'. 941 type ACLPluginGetConnTableMaxEntries struct{} 942 943 func (m *ACLPluginGetConnTableMaxEntries) Reset() { *m = ACLPluginGetConnTableMaxEntries{} } 944 func (*ACLPluginGetConnTableMaxEntries) GetMessageName() string { 945 return "acl_plugin_get_conn_table_max_entries" 946 } 947 func (*ACLPluginGetConnTableMaxEntries) GetCrcString() string { return "51077d14" } 948 func (*ACLPluginGetConnTableMaxEntries) GetMessageType() api.MessageType { 949 return api.RequestMessage 950 } 951 952 func (m *ACLPluginGetConnTableMaxEntries) Size() (size int) { 953 if m == nil { 954 return 0 955 } 956 return size 957 } 958 func (m *ACLPluginGetConnTableMaxEntries) Marshal(b []byte) ([]byte, error) { 959 if b == nil { 960 b = make([]byte, m.Size()) 961 } 962 buf := codec.NewBuffer(b) 963 return buf.Bytes(), nil 964 } 965 func (m *ACLPluginGetConnTableMaxEntries) Unmarshal(b []byte) error { 966 return nil 967 } 968 969 // Reply to get connection table max entries 970 // - conn_table_max_entries - the value of maximum entries of connection table 971 // 972 // ACLPluginGetConnTableMaxEntriesReply defines message 'acl_plugin_get_conn_table_max_entries_reply'. 973 type ACLPluginGetConnTableMaxEntriesReply struct { 974 ConnTableMaxEntries uint64 `binapi:"u64,name=conn_table_max_entries" json:"conn_table_max_entries,omitempty"` 975 } 976 977 func (m *ACLPluginGetConnTableMaxEntriesReply) Reset() { *m = ACLPluginGetConnTableMaxEntriesReply{} } 978 func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageName() string { 979 return "acl_plugin_get_conn_table_max_entries_reply" 980 } 981 func (*ACLPluginGetConnTableMaxEntriesReply) GetCrcString() string { return "7a096d3d" } 982 func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageType() api.MessageType { 983 return api.ReplyMessage 984 } 985 986 func (m *ACLPluginGetConnTableMaxEntriesReply) Size() (size int) { 987 if m == nil { 988 return 0 989 } 990 size += 8 // m.ConnTableMaxEntries 991 return size 992 } 993 func (m *ACLPluginGetConnTableMaxEntriesReply) Marshal(b []byte) ([]byte, error) { 994 if b == nil { 995 b = make([]byte, m.Size()) 996 } 997 buf := codec.NewBuffer(b) 998 buf.EncodeUint64(m.ConnTableMaxEntries) 999 return buf.Bytes(), nil 1000 } 1001 func (m *ACLPluginGetConnTableMaxEntriesReply) Unmarshal(b []byte) error { 1002 buf := codec.NewBuffer(b) 1003 m.ConnTableMaxEntries = buf.DecodeUint64() 1004 return nil 1005 } 1006 1007 // Get the plugin version 1008 // ACLPluginGetVersion defines message 'acl_plugin_get_version'. 1009 type ACLPluginGetVersion struct{} 1010 1011 func (m *ACLPluginGetVersion) Reset() { *m = ACLPluginGetVersion{} } 1012 func (*ACLPluginGetVersion) GetMessageName() string { return "acl_plugin_get_version" } 1013 func (*ACLPluginGetVersion) GetCrcString() string { return "51077d14" } 1014 func (*ACLPluginGetVersion) GetMessageType() api.MessageType { 1015 return api.RequestMessage 1016 } 1017 1018 func (m *ACLPluginGetVersion) Size() (size int) { 1019 if m == nil { 1020 return 0 1021 } 1022 return size 1023 } 1024 func (m *ACLPluginGetVersion) Marshal(b []byte) ([]byte, error) { 1025 if b == nil { 1026 b = make([]byte, m.Size()) 1027 } 1028 buf := codec.NewBuffer(b) 1029 return buf.Bytes(), nil 1030 } 1031 func (m *ACLPluginGetVersion) Unmarshal(b []byte) error { 1032 return nil 1033 } 1034 1035 // Reply to get the plugin version 1036 // - major - Incremented every time a known breaking behavior change is introduced 1037 // - minor - Incremented with small changes, may be used to avoid buggy versions 1038 // 1039 // ACLPluginGetVersionReply defines message 'acl_plugin_get_version_reply'. 1040 type ACLPluginGetVersionReply struct { 1041 Major uint32 `binapi:"u32,name=major" json:"major,omitempty"` 1042 Minor uint32 `binapi:"u32,name=minor" json:"minor,omitempty"` 1043 } 1044 1045 func (m *ACLPluginGetVersionReply) Reset() { *m = ACLPluginGetVersionReply{} } 1046 func (*ACLPluginGetVersionReply) GetMessageName() string { return "acl_plugin_get_version_reply" } 1047 func (*ACLPluginGetVersionReply) GetCrcString() string { return "9b32cf86" } 1048 func (*ACLPluginGetVersionReply) GetMessageType() api.MessageType { 1049 return api.ReplyMessage 1050 } 1051 1052 func (m *ACLPluginGetVersionReply) Size() (size int) { 1053 if m == nil { 1054 return 0 1055 } 1056 size += 4 // m.Major 1057 size += 4 // m.Minor 1058 return size 1059 } 1060 func (m *ACLPluginGetVersionReply) Marshal(b []byte) ([]byte, error) { 1061 if b == nil { 1062 b = make([]byte, m.Size()) 1063 } 1064 buf := codec.NewBuffer(b) 1065 buf.EncodeUint32(m.Major) 1066 buf.EncodeUint32(m.Minor) 1067 return buf.Bytes(), nil 1068 } 1069 func (m *ACLPluginGetVersionReply) Unmarshal(b []byte) error { 1070 buf := codec.NewBuffer(b) 1071 m.Major = buf.DecodeUint32() 1072 m.Minor = buf.DecodeUint32() 1073 return nil 1074 } 1075 1076 // Get if the hash-based ACL lookups are enabled (default) or not (use linear search) 1077 // ACLPluginUseHashLookupGet defines message 'acl_plugin_use_hash_lookup_get'. 1078 // InProgress: the message form may change in the future versions 1079 type ACLPluginUseHashLookupGet struct{} 1080 1081 func (m *ACLPluginUseHashLookupGet) Reset() { *m = ACLPluginUseHashLookupGet{} } 1082 func (*ACLPluginUseHashLookupGet) GetMessageName() string { return "acl_plugin_use_hash_lookup_get" } 1083 func (*ACLPluginUseHashLookupGet) GetCrcString() string { return "51077d14" } 1084 func (*ACLPluginUseHashLookupGet) GetMessageType() api.MessageType { 1085 return api.RequestMessage 1086 } 1087 1088 func (m *ACLPluginUseHashLookupGet) Size() (size int) { 1089 if m == nil { 1090 return 0 1091 } 1092 return size 1093 } 1094 func (m *ACLPluginUseHashLookupGet) Marshal(b []byte) ([]byte, error) { 1095 if b == nil { 1096 b = make([]byte, m.Size()) 1097 } 1098 buf := codec.NewBuffer(b) 1099 return buf.Bytes(), nil 1100 } 1101 func (m *ACLPluginUseHashLookupGet) Unmarshal(b []byte) error { 1102 return nil 1103 } 1104 1105 // Reply with the previous state of the hash lookup 1106 // - prev_enable - previous state of the hash lookup use 1107 // 1108 // ACLPluginUseHashLookupGetReply defines message 'acl_plugin_use_hash_lookup_get_reply'. 1109 // InProgress: the message form may change in the future versions 1110 type ACLPluginUseHashLookupGetReply struct { 1111 Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"` 1112 } 1113 1114 func (m *ACLPluginUseHashLookupGetReply) Reset() { *m = ACLPluginUseHashLookupGetReply{} } 1115 func (*ACLPluginUseHashLookupGetReply) GetMessageName() string { 1116 return "acl_plugin_use_hash_lookup_get_reply" 1117 } 1118 func (*ACLPluginUseHashLookupGetReply) GetCrcString() string { return "5392ad31" } 1119 func (*ACLPluginUseHashLookupGetReply) GetMessageType() api.MessageType { 1120 return api.ReplyMessage 1121 } 1122 1123 func (m *ACLPluginUseHashLookupGetReply) Size() (size int) { 1124 if m == nil { 1125 return 0 1126 } 1127 size += 1 // m.Enable 1128 return size 1129 } 1130 func (m *ACLPluginUseHashLookupGetReply) Marshal(b []byte) ([]byte, error) { 1131 if b == nil { 1132 b = make([]byte, m.Size()) 1133 } 1134 buf := codec.NewBuffer(b) 1135 buf.EncodeBool(m.Enable) 1136 return buf.Bytes(), nil 1137 } 1138 func (m *ACLPluginUseHashLookupGetReply) Unmarshal(b []byte) error { 1139 buf := codec.NewBuffer(b) 1140 m.Enable = buf.DecodeBool() 1141 return nil 1142 } 1143 1144 // Enable hash-based ACL lookups (default) or disable them (use linear search) 1145 // - enable - whether to enable or disable the usage of hash lookup algorithm 1146 // 1147 // ACLPluginUseHashLookupSet defines message 'acl_plugin_use_hash_lookup_set'. 1148 // InProgress: the message form may change in the future versions 1149 type ACLPluginUseHashLookupSet struct { 1150 Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"` 1151 } 1152 1153 func (m *ACLPluginUseHashLookupSet) Reset() { *m = ACLPluginUseHashLookupSet{} } 1154 func (*ACLPluginUseHashLookupSet) GetMessageName() string { return "acl_plugin_use_hash_lookup_set" } 1155 func (*ACLPluginUseHashLookupSet) GetCrcString() string { return "b3e225d2" } 1156 func (*ACLPluginUseHashLookupSet) GetMessageType() api.MessageType { 1157 return api.RequestMessage 1158 } 1159 1160 func (m *ACLPluginUseHashLookupSet) Size() (size int) { 1161 if m == nil { 1162 return 0 1163 } 1164 size += 1 // m.Enable 1165 return size 1166 } 1167 func (m *ACLPluginUseHashLookupSet) Marshal(b []byte) ([]byte, error) { 1168 if b == nil { 1169 b = make([]byte, m.Size()) 1170 } 1171 buf := codec.NewBuffer(b) 1172 buf.EncodeBool(m.Enable) 1173 return buf.Bytes(), nil 1174 } 1175 func (m *ACLPluginUseHashLookupSet) Unmarshal(b []byte) error { 1176 buf := codec.NewBuffer(b) 1177 m.Enable = buf.DecodeBool() 1178 return nil 1179 } 1180 1181 // ACLPluginUseHashLookupSetReply defines message 'acl_plugin_use_hash_lookup_set_reply'. 1182 // InProgress: the message form may change in the future versions 1183 type ACLPluginUseHashLookupSetReply struct { 1184 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1185 } 1186 1187 func (m *ACLPluginUseHashLookupSetReply) Reset() { *m = ACLPluginUseHashLookupSetReply{} } 1188 func (*ACLPluginUseHashLookupSetReply) GetMessageName() string { 1189 return "acl_plugin_use_hash_lookup_set_reply" 1190 } 1191 func (*ACLPluginUseHashLookupSetReply) GetCrcString() string { return "e8d4e804" } 1192 func (*ACLPluginUseHashLookupSetReply) GetMessageType() api.MessageType { 1193 return api.ReplyMessage 1194 } 1195 1196 func (m *ACLPluginUseHashLookupSetReply) Size() (size int) { 1197 if m == nil { 1198 return 0 1199 } 1200 size += 4 // m.Retval 1201 return size 1202 } 1203 func (m *ACLPluginUseHashLookupSetReply) Marshal(b []byte) ([]byte, error) { 1204 if b == nil { 1205 b = make([]byte, m.Size()) 1206 } 1207 buf := codec.NewBuffer(b) 1208 buf.EncodeInt32(m.Retval) 1209 return buf.Bytes(), nil 1210 } 1211 func (m *ACLPluginUseHashLookupSetReply) Unmarshal(b []byte) error { 1212 buf := codec.NewBuffer(b) 1213 m.Retval = buf.DecodeInt32() 1214 return nil 1215 } 1216 1217 // Enable or disable incrementing ACL counters in stats segment by interface processing 1218 // - enable - whether to enable or disable incrementing the counters 1219 // 1220 // ACLStatsIntfCountersEnable defines message 'acl_stats_intf_counters_enable'. 1221 type ACLStatsIntfCountersEnable struct { 1222 Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"` 1223 } 1224 1225 func (m *ACLStatsIntfCountersEnable) Reset() { *m = ACLStatsIntfCountersEnable{} } 1226 func (*ACLStatsIntfCountersEnable) GetMessageName() string { return "acl_stats_intf_counters_enable" } 1227 func (*ACLStatsIntfCountersEnable) GetCrcString() string { return "b3e225d2" } 1228 func (*ACLStatsIntfCountersEnable) GetMessageType() api.MessageType { 1229 return api.RequestMessage 1230 } 1231 1232 func (m *ACLStatsIntfCountersEnable) Size() (size int) { 1233 if m == nil { 1234 return 0 1235 } 1236 size += 1 // m.Enable 1237 return size 1238 } 1239 func (m *ACLStatsIntfCountersEnable) Marshal(b []byte) ([]byte, error) { 1240 if b == nil { 1241 b = make([]byte, m.Size()) 1242 } 1243 buf := codec.NewBuffer(b) 1244 buf.EncodeBool(m.Enable) 1245 return buf.Bytes(), nil 1246 } 1247 func (m *ACLStatsIntfCountersEnable) Unmarshal(b []byte) error { 1248 buf := codec.NewBuffer(b) 1249 m.Enable = buf.DecodeBool() 1250 return nil 1251 } 1252 1253 // ACLStatsIntfCountersEnableReply defines message 'acl_stats_intf_counters_enable_reply'. 1254 type ACLStatsIntfCountersEnableReply struct { 1255 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1256 } 1257 1258 func (m *ACLStatsIntfCountersEnableReply) Reset() { *m = ACLStatsIntfCountersEnableReply{} } 1259 func (*ACLStatsIntfCountersEnableReply) GetMessageName() string { 1260 return "acl_stats_intf_counters_enable_reply" 1261 } 1262 func (*ACLStatsIntfCountersEnableReply) GetCrcString() string { return "e8d4e804" } 1263 func (*ACLStatsIntfCountersEnableReply) GetMessageType() api.MessageType { 1264 return api.ReplyMessage 1265 } 1266 1267 func (m *ACLStatsIntfCountersEnableReply) Size() (size int) { 1268 if m == nil { 1269 return 0 1270 } 1271 size += 4 // m.Retval 1272 return size 1273 } 1274 func (m *ACLStatsIntfCountersEnableReply) Marshal(b []byte) ([]byte, error) { 1275 if b == nil { 1276 b = make([]byte, m.Size()) 1277 } 1278 buf := codec.NewBuffer(b) 1279 buf.EncodeInt32(m.Retval) 1280 return buf.Bytes(), nil 1281 } 1282 func (m *ACLStatsIntfCountersEnableReply) Unmarshal(b []byte) error { 1283 buf := codec.NewBuffer(b) 1284 m.Retval = buf.DecodeInt32() 1285 return nil 1286 } 1287 1288 // Add a MACIP ACL 1289 // - tag - descriptive value for this MACIP ACL 1290 // - count - number of rules in this MACIP ACL 1291 // - r - vector of MACIP ACL rules 1292 // 1293 // MacipACLAdd defines message 'macip_acl_add'. 1294 type MacipACLAdd struct { 1295 Tag string `binapi:"string[64],name=tag" json:"tag,omitempty"` 1296 Count uint32 `binapi:"u32,name=count" json:"-"` 1297 R []acl_types.MacipACLRule `binapi:"macip_acl_rule[count],name=r" json:"r,omitempty"` 1298 } 1299 1300 func (m *MacipACLAdd) Reset() { *m = MacipACLAdd{} } 1301 func (*MacipACLAdd) GetMessageName() string { return "macip_acl_add" } 1302 func (*MacipACLAdd) GetCrcString() string { return "ce6fbad0" } 1303 func (*MacipACLAdd) GetMessageType() api.MessageType { 1304 return api.RequestMessage 1305 } 1306 1307 func (m *MacipACLAdd) Size() (size int) { 1308 if m == nil { 1309 return 0 1310 } 1311 size += 64 // m.Tag 1312 size += 4 // m.Count 1313 for j1 := 0; j1 < len(m.R); j1++ { 1314 var s1 acl_types.MacipACLRule 1315 _ = s1 1316 if j1 < len(m.R) { 1317 s1 = m.R[j1] 1318 } 1319 size += 1 // s1.IsPermit 1320 size += 1 * 6 // s1.SrcMac 1321 size += 1 * 6 // s1.SrcMacMask 1322 size += 1 // s1.SrcPrefix.Address.Af 1323 size += 1 * 16 // s1.SrcPrefix.Address.Un 1324 size += 1 // s1.SrcPrefix.Len 1325 } 1326 return size 1327 } 1328 func (m *MacipACLAdd) Marshal(b []byte) ([]byte, error) { 1329 if b == nil { 1330 b = make([]byte, m.Size()) 1331 } 1332 buf := codec.NewBuffer(b) 1333 buf.EncodeString(m.Tag, 64) 1334 buf.EncodeUint32(uint32(len(m.R))) 1335 for j0 := 0; j0 < len(m.R); j0++ { 1336 var v0 acl_types.MacipACLRule // R 1337 if j0 < len(m.R) { 1338 v0 = m.R[j0] 1339 } 1340 buf.EncodeUint8(uint8(v0.IsPermit)) 1341 buf.EncodeBytes(v0.SrcMac[:], 6) 1342 buf.EncodeBytes(v0.SrcMacMask[:], 6) 1343 buf.EncodeUint8(uint8(v0.SrcPrefix.Address.Af)) 1344 buf.EncodeBytes(v0.SrcPrefix.Address.Un.XXX_UnionData[:], 16) 1345 buf.EncodeUint8(v0.SrcPrefix.Len) 1346 } 1347 return buf.Bytes(), nil 1348 } 1349 func (m *MacipACLAdd) Unmarshal(b []byte) error { 1350 buf := codec.NewBuffer(b) 1351 m.Tag = buf.DecodeString(64) 1352 m.Count = buf.DecodeUint32() 1353 m.R = make([]acl_types.MacipACLRule, m.Count) 1354 for j0 := 0; j0 < len(m.R); j0++ { 1355 m.R[j0].IsPermit = acl_types.ACLAction(buf.DecodeUint8()) 1356 copy(m.R[j0].SrcMac[:], buf.DecodeBytes(6)) 1357 copy(m.R[j0].SrcMacMask[:], buf.DecodeBytes(6)) 1358 m.R[j0].SrcPrefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1359 copy(m.R[j0].SrcPrefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1360 m.R[j0].SrcPrefix.Len = buf.DecodeUint8() 1361 } 1362 return nil 1363 } 1364 1365 // Add/Replace a MACIP ACL 1366 // - acl_index - an existing MACIP ACL entry (0..0xfffffffe) to replace, or 0xffffffff to make new MACIP ACL Default: 0xffffffff 1367 // - tag - descriptive value for this MACIP ACL 1368 // - count - number of rules in this MACIP ACL 1369 // - r - vector of MACIP ACL rules 1370 // 1371 // MacipACLAddReplace defines message 'macip_acl_add_replace'. 1372 type MacipACLAddReplace struct { 1373 ACLIndex uint32 `binapi:"u32,name=acl_index,default=4294967295" json:"acl_index,omitempty"` 1374 Tag string `binapi:"string[64],name=tag" json:"tag,omitempty"` 1375 Count uint32 `binapi:"u32,name=count" json:"-"` 1376 R []acl_types.MacipACLRule `binapi:"macip_acl_rule[count],name=r" json:"r,omitempty"` 1377 } 1378 1379 func (m *MacipACLAddReplace) Reset() { *m = MacipACLAddReplace{} } 1380 func (*MacipACLAddReplace) GetMessageName() string { return "macip_acl_add_replace" } 1381 func (*MacipACLAddReplace) GetCrcString() string { return "2a461dd4" } 1382 func (*MacipACLAddReplace) GetMessageType() api.MessageType { 1383 return api.RequestMessage 1384 } 1385 1386 func (m *MacipACLAddReplace) Size() (size int) { 1387 if m == nil { 1388 return 0 1389 } 1390 size += 4 // m.ACLIndex 1391 size += 64 // m.Tag 1392 size += 4 // m.Count 1393 for j1 := 0; j1 < len(m.R); j1++ { 1394 var s1 acl_types.MacipACLRule 1395 _ = s1 1396 if j1 < len(m.R) { 1397 s1 = m.R[j1] 1398 } 1399 size += 1 // s1.IsPermit 1400 size += 1 * 6 // s1.SrcMac 1401 size += 1 * 6 // s1.SrcMacMask 1402 size += 1 // s1.SrcPrefix.Address.Af 1403 size += 1 * 16 // s1.SrcPrefix.Address.Un 1404 size += 1 // s1.SrcPrefix.Len 1405 } 1406 return size 1407 } 1408 func (m *MacipACLAddReplace) Marshal(b []byte) ([]byte, error) { 1409 if b == nil { 1410 b = make([]byte, m.Size()) 1411 } 1412 buf := codec.NewBuffer(b) 1413 buf.EncodeUint32(m.ACLIndex) 1414 buf.EncodeString(m.Tag, 64) 1415 buf.EncodeUint32(uint32(len(m.R))) 1416 for j0 := 0; j0 < len(m.R); j0++ { 1417 var v0 acl_types.MacipACLRule // R 1418 if j0 < len(m.R) { 1419 v0 = m.R[j0] 1420 } 1421 buf.EncodeUint8(uint8(v0.IsPermit)) 1422 buf.EncodeBytes(v0.SrcMac[:], 6) 1423 buf.EncodeBytes(v0.SrcMacMask[:], 6) 1424 buf.EncodeUint8(uint8(v0.SrcPrefix.Address.Af)) 1425 buf.EncodeBytes(v0.SrcPrefix.Address.Un.XXX_UnionData[:], 16) 1426 buf.EncodeUint8(v0.SrcPrefix.Len) 1427 } 1428 return buf.Bytes(), nil 1429 } 1430 func (m *MacipACLAddReplace) Unmarshal(b []byte) error { 1431 buf := codec.NewBuffer(b) 1432 m.ACLIndex = buf.DecodeUint32() 1433 m.Tag = buf.DecodeString(64) 1434 m.Count = buf.DecodeUint32() 1435 m.R = make([]acl_types.MacipACLRule, m.Count) 1436 for j0 := 0; j0 < len(m.R); j0++ { 1437 m.R[j0].IsPermit = acl_types.ACLAction(buf.DecodeUint8()) 1438 copy(m.R[j0].SrcMac[:], buf.DecodeBytes(6)) 1439 copy(m.R[j0].SrcMacMask[:], buf.DecodeBytes(6)) 1440 m.R[j0].SrcPrefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1441 copy(m.R[j0].SrcPrefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1442 m.R[j0].SrcPrefix.Len = buf.DecodeUint8() 1443 } 1444 return nil 1445 } 1446 1447 // Reply to add/replace MACIP ACL 1448 // - acl_index - index of the newly created MACIP ACL 1449 // - retval 0 - no error 1450 // 1451 // MacipACLAddReplaceReply defines message 'macip_acl_add_replace_reply'. 1452 type MacipACLAddReplaceReply struct { 1453 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 1454 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1455 } 1456 1457 func (m *MacipACLAddReplaceReply) Reset() { *m = MacipACLAddReplaceReply{} } 1458 func (*MacipACLAddReplaceReply) GetMessageName() string { return "macip_acl_add_replace_reply" } 1459 func (*MacipACLAddReplaceReply) GetCrcString() string { return "ac407b0c" } 1460 func (*MacipACLAddReplaceReply) GetMessageType() api.MessageType { 1461 return api.ReplyMessage 1462 } 1463 1464 func (m *MacipACLAddReplaceReply) Size() (size int) { 1465 if m == nil { 1466 return 0 1467 } 1468 size += 4 // m.ACLIndex 1469 size += 4 // m.Retval 1470 return size 1471 } 1472 func (m *MacipACLAddReplaceReply) Marshal(b []byte) ([]byte, error) { 1473 if b == nil { 1474 b = make([]byte, m.Size()) 1475 } 1476 buf := codec.NewBuffer(b) 1477 buf.EncodeUint32(m.ACLIndex) 1478 buf.EncodeInt32(m.Retval) 1479 return buf.Bytes(), nil 1480 } 1481 func (m *MacipACLAddReplaceReply) Unmarshal(b []byte) error { 1482 buf := codec.NewBuffer(b) 1483 m.ACLIndex = buf.DecodeUint32() 1484 m.Retval = buf.DecodeInt32() 1485 return nil 1486 } 1487 1488 // Reply to add MACIP ACL 1489 // - acl_index - index of the newly created MACIP ACL 1490 // - retval 0 - no error 1491 // 1492 // MacipACLAddReply defines message 'macip_acl_add_reply'. 1493 type MacipACLAddReply struct { 1494 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 1495 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1496 } 1497 1498 func (m *MacipACLAddReply) Reset() { *m = MacipACLAddReply{} } 1499 func (*MacipACLAddReply) GetMessageName() string { return "macip_acl_add_reply" } 1500 func (*MacipACLAddReply) GetCrcString() string { return "ac407b0c" } 1501 func (*MacipACLAddReply) GetMessageType() api.MessageType { 1502 return api.ReplyMessage 1503 } 1504 1505 func (m *MacipACLAddReply) Size() (size int) { 1506 if m == nil { 1507 return 0 1508 } 1509 size += 4 // m.ACLIndex 1510 size += 4 // m.Retval 1511 return size 1512 } 1513 func (m *MacipACLAddReply) Marshal(b []byte) ([]byte, error) { 1514 if b == nil { 1515 b = make([]byte, m.Size()) 1516 } 1517 buf := codec.NewBuffer(b) 1518 buf.EncodeUint32(m.ACLIndex) 1519 buf.EncodeInt32(m.Retval) 1520 return buf.Bytes(), nil 1521 } 1522 func (m *MacipACLAddReply) Unmarshal(b []byte) error { 1523 buf := codec.NewBuffer(b) 1524 m.ACLIndex = buf.DecodeUint32() 1525 m.Retval = buf.DecodeInt32() 1526 return nil 1527 } 1528 1529 // Delete a MACIP ACL 1530 // - acl_index - MACIP ACL index to delete 1531 // 1532 // MacipACLDel defines message 'macip_acl_del'. 1533 type MacipACLDel struct { 1534 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 1535 } 1536 1537 func (m *MacipACLDel) Reset() { *m = MacipACLDel{} } 1538 func (*MacipACLDel) GetMessageName() string { return "macip_acl_del" } 1539 func (*MacipACLDel) GetCrcString() string { return "ef34fea4" } 1540 func (*MacipACLDel) GetMessageType() api.MessageType { 1541 return api.RequestMessage 1542 } 1543 1544 func (m *MacipACLDel) Size() (size int) { 1545 if m == nil { 1546 return 0 1547 } 1548 size += 4 // m.ACLIndex 1549 return size 1550 } 1551 func (m *MacipACLDel) Marshal(b []byte) ([]byte, error) { 1552 if b == nil { 1553 b = make([]byte, m.Size()) 1554 } 1555 buf := codec.NewBuffer(b) 1556 buf.EncodeUint32(m.ACLIndex) 1557 return buf.Bytes(), nil 1558 } 1559 func (m *MacipACLDel) Unmarshal(b []byte) error { 1560 buf := codec.NewBuffer(b) 1561 m.ACLIndex = buf.DecodeUint32() 1562 return nil 1563 } 1564 1565 // MacipACLDelReply defines message 'macip_acl_del_reply'. 1566 type MacipACLDelReply struct { 1567 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1568 } 1569 1570 func (m *MacipACLDelReply) Reset() { *m = MacipACLDelReply{} } 1571 func (*MacipACLDelReply) GetMessageName() string { return "macip_acl_del_reply" } 1572 func (*MacipACLDelReply) GetCrcString() string { return "e8d4e804" } 1573 func (*MacipACLDelReply) GetMessageType() api.MessageType { 1574 return api.ReplyMessage 1575 } 1576 1577 func (m *MacipACLDelReply) Size() (size int) { 1578 if m == nil { 1579 return 0 1580 } 1581 size += 4 // m.Retval 1582 return size 1583 } 1584 func (m *MacipACLDelReply) Marshal(b []byte) ([]byte, error) { 1585 if b == nil { 1586 b = make([]byte, m.Size()) 1587 } 1588 buf := codec.NewBuffer(b) 1589 buf.EncodeInt32(m.Retval) 1590 return buf.Bytes(), nil 1591 } 1592 func (m *MacipACLDelReply) Unmarshal(b []byte) error { 1593 buf := codec.NewBuffer(b) 1594 m.Retval = buf.DecodeInt32() 1595 return nil 1596 } 1597 1598 // Details about one MACIP ACL 1599 // - acl_index - index of this MACIP ACL 1600 // - tag - descriptive tag which was supplied during the creation 1601 // - count - length of the vector of MACIP ACL rules 1602 // - r - rules comprising this MACIP ACL 1603 // 1604 // MacipACLDetails defines message 'macip_acl_details'. 1605 type MacipACLDetails struct { 1606 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 1607 Tag string `binapi:"string[64],name=tag" json:"tag,omitempty"` 1608 Count uint32 `binapi:"u32,name=count" json:"-"` 1609 R []acl_types.MacipACLRule `binapi:"macip_acl_rule[count],name=r" json:"r,omitempty"` 1610 } 1611 1612 func (m *MacipACLDetails) Reset() { *m = MacipACLDetails{} } 1613 func (*MacipACLDetails) GetMessageName() string { return "macip_acl_details" } 1614 func (*MacipACLDetails) GetCrcString() string { return "27135b59" } 1615 func (*MacipACLDetails) GetMessageType() api.MessageType { 1616 return api.ReplyMessage 1617 } 1618 1619 func (m *MacipACLDetails) Size() (size int) { 1620 if m == nil { 1621 return 0 1622 } 1623 size += 4 // m.ACLIndex 1624 size += 64 // m.Tag 1625 size += 4 // m.Count 1626 for j1 := 0; j1 < len(m.R); j1++ { 1627 var s1 acl_types.MacipACLRule 1628 _ = s1 1629 if j1 < len(m.R) { 1630 s1 = m.R[j1] 1631 } 1632 size += 1 // s1.IsPermit 1633 size += 1 * 6 // s1.SrcMac 1634 size += 1 * 6 // s1.SrcMacMask 1635 size += 1 // s1.SrcPrefix.Address.Af 1636 size += 1 * 16 // s1.SrcPrefix.Address.Un 1637 size += 1 // s1.SrcPrefix.Len 1638 } 1639 return size 1640 } 1641 func (m *MacipACLDetails) Marshal(b []byte) ([]byte, error) { 1642 if b == nil { 1643 b = make([]byte, m.Size()) 1644 } 1645 buf := codec.NewBuffer(b) 1646 buf.EncodeUint32(m.ACLIndex) 1647 buf.EncodeString(m.Tag, 64) 1648 buf.EncodeUint32(uint32(len(m.R))) 1649 for j0 := 0; j0 < len(m.R); j0++ { 1650 var v0 acl_types.MacipACLRule // R 1651 if j0 < len(m.R) { 1652 v0 = m.R[j0] 1653 } 1654 buf.EncodeUint8(uint8(v0.IsPermit)) 1655 buf.EncodeBytes(v0.SrcMac[:], 6) 1656 buf.EncodeBytes(v0.SrcMacMask[:], 6) 1657 buf.EncodeUint8(uint8(v0.SrcPrefix.Address.Af)) 1658 buf.EncodeBytes(v0.SrcPrefix.Address.Un.XXX_UnionData[:], 16) 1659 buf.EncodeUint8(v0.SrcPrefix.Len) 1660 } 1661 return buf.Bytes(), nil 1662 } 1663 func (m *MacipACLDetails) Unmarshal(b []byte) error { 1664 buf := codec.NewBuffer(b) 1665 m.ACLIndex = buf.DecodeUint32() 1666 m.Tag = buf.DecodeString(64) 1667 m.Count = buf.DecodeUint32() 1668 m.R = make([]acl_types.MacipACLRule, m.Count) 1669 for j0 := 0; j0 < len(m.R); j0++ { 1670 m.R[j0].IsPermit = acl_types.ACLAction(buf.DecodeUint8()) 1671 copy(m.R[j0].SrcMac[:], buf.DecodeBytes(6)) 1672 copy(m.R[j0].SrcMacMask[:], buf.DecodeBytes(6)) 1673 m.R[j0].SrcPrefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1674 copy(m.R[j0].SrcPrefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1675 m.R[j0].SrcPrefix.Len = buf.DecodeUint8() 1676 } 1677 return nil 1678 } 1679 1680 // Dump one or all defined MACIP ACLs 1681 // - acl_index - MACIP ACL index or ~0 to dump all MACIP ACLs Default: 0xffffffff 1682 // 1683 // MacipACLDump defines message 'macip_acl_dump'. 1684 type MacipACLDump struct { 1685 ACLIndex uint32 `binapi:"u32,name=acl_index,default=4294967295" json:"acl_index,omitempty"` 1686 } 1687 1688 func (m *MacipACLDump) Reset() { *m = MacipACLDump{} } 1689 func (*MacipACLDump) GetMessageName() string { return "macip_acl_dump" } 1690 func (*MacipACLDump) GetCrcString() string { return "ef34fea4" } 1691 func (*MacipACLDump) GetMessageType() api.MessageType { 1692 return api.RequestMessage 1693 } 1694 1695 func (m *MacipACLDump) Size() (size int) { 1696 if m == nil { 1697 return 0 1698 } 1699 size += 4 // m.ACLIndex 1700 return size 1701 } 1702 func (m *MacipACLDump) Marshal(b []byte) ([]byte, error) { 1703 if b == nil { 1704 b = make([]byte, m.Size()) 1705 } 1706 buf := codec.NewBuffer(b) 1707 buf.EncodeUint32(m.ACLIndex) 1708 return buf.Bytes(), nil 1709 } 1710 func (m *MacipACLDump) Unmarshal(b []byte) error { 1711 buf := codec.NewBuffer(b) 1712 m.ACLIndex = buf.DecodeUint32() 1713 return nil 1714 } 1715 1716 // Add or delete a MACIP ACL to/from interface 1717 // - is_add - add (1) or delete (0) MACIP ACL from being used on an interface 1718 // - sw_if_index - interface to apply the action to 1719 // - acl_index - MACIP ACL index 1720 // 1721 // MacipACLInterfaceAddDel defines message 'macip_acl_interface_add_del'. 1722 type MacipACLInterfaceAddDel struct { 1723 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 1724 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 1725 ACLIndex uint32 `binapi:"u32,name=acl_index" json:"acl_index,omitempty"` 1726 } 1727 1728 func (m *MacipACLInterfaceAddDel) Reset() { *m = MacipACLInterfaceAddDel{} } 1729 func (*MacipACLInterfaceAddDel) GetMessageName() string { return "macip_acl_interface_add_del" } 1730 func (*MacipACLInterfaceAddDel) GetCrcString() string { return "4b8690b1" } 1731 func (*MacipACLInterfaceAddDel) GetMessageType() api.MessageType { 1732 return api.RequestMessage 1733 } 1734 1735 func (m *MacipACLInterfaceAddDel) Size() (size int) { 1736 if m == nil { 1737 return 0 1738 } 1739 size += 1 // m.IsAdd 1740 size += 4 // m.SwIfIndex 1741 size += 4 // m.ACLIndex 1742 return size 1743 } 1744 func (m *MacipACLInterfaceAddDel) Marshal(b []byte) ([]byte, error) { 1745 if b == nil { 1746 b = make([]byte, m.Size()) 1747 } 1748 buf := codec.NewBuffer(b) 1749 buf.EncodeBool(m.IsAdd) 1750 buf.EncodeUint32(uint32(m.SwIfIndex)) 1751 buf.EncodeUint32(m.ACLIndex) 1752 return buf.Bytes(), nil 1753 } 1754 func (m *MacipACLInterfaceAddDel) Unmarshal(b []byte) error { 1755 buf := codec.NewBuffer(b) 1756 m.IsAdd = buf.DecodeBool() 1757 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1758 m.ACLIndex = buf.DecodeUint32() 1759 return nil 1760 } 1761 1762 // MacipACLInterfaceAddDelReply defines message 'macip_acl_interface_add_del_reply'. 1763 type MacipACLInterfaceAddDelReply struct { 1764 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1765 } 1766 1767 func (m *MacipACLInterfaceAddDelReply) Reset() { *m = MacipACLInterfaceAddDelReply{} } 1768 func (*MacipACLInterfaceAddDelReply) GetMessageName() string { 1769 return "macip_acl_interface_add_del_reply" 1770 } 1771 func (*MacipACLInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" } 1772 func (*MacipACLInterfaceAddDelReply) GetMessageType() api.MessageType { 1773 return api.ReplyMessage 1774 } 1775 1776 func (m *MacipACLInterfaceAddDelReply) Size() (size int) { 1777 if m == nil { 1778 return 0 1779 } 1780 size += 4 // m.Retval 1781 return size 1782 } 1783 func (m *MacipACLInterfaceAddDelReply) Marshal(b []byte) ([]byte, error) { 1784 if b == nil { 1785 b = make([]byte, m.Size()) 1786 } 1787 buf := codec.NewBuffer(b) 1788 buf.EncodeInt32(m.Retval) 1789 return buf.Bytes(), nil 1790 } 1791 func (m *MacipACLInterfaceAddDelReply) Unmarshal(b []byte) error { 1792 buf := codec.NewBuffer(b) 1793 m.Retval = buf.DecodeInt32() 1794 return nil 1795 } 1796 1797 // Get the vector of MACIP ACL IDs applied to the interfaces 1798 // MacipACLInterfaceGet defines message 'macip_acl_interface_get'. 1799 type MacipACLInterfaceGet struct{} 1800 1801 func (m *MacipACLInterfaceGet) Reset() { *m = MacipACLInterfaceGet{} } 1802 func (*MacipACLInterfaceGet) GetMessageName() string { return "macip_acl_interface_get" } 1803 func (*MacipACLInterfaceGet) GetCrcString() string { return "51077d14" } 1804 func (*MacipACLInterfaceGet) GetMessageType() api.MessageType { 1805 return api.RequestMessage 1806 } 1807 1808 func (m *MacipACLInterfaceGet) Size() (size int) { 1809 if m == nil { 1810 return 0 1811 } 1812 return size 1813 } 1814 func (m *MacipACLInterfaceGet) Marshal(b []byte) ([]byte, error) { 1815 if b == nil { 1816 b = make([]byte, m.Size()) 1817 } 1818 buf := codec.NewBuffer(b) 1819 return buf.Bytes(), nil 1820 } 1821 func (m *MacipACLInterfaceGet) Unmarshal(b []byte) error { 1822 return nil 1823 } 1824 1825 // Reply with the vector of MACIP ACLs by sw_if_index 1826 // - count - total number of elements in the vector 1827 // - acls - the vector of active MACIP ACL indices per sw_if_index 1828 // 1829 // MacipACLInterfaceGetReply defines message 'macip_acl_interface_get_reply'. 1830 type MacipACLInterfaceGetReply struct { 1831 Count uint32 `binapi:"u32,name=count" json:"-"` 1832 Acls []uint32 `binapi:"u32[count],name=acls" json:"acls,omitempty"` 1833 } 1834 1835 func (m *MacipACLInterfaceGetReply) Reset() { *m = MacipACLInterfaceGetReply{} } 1836 func (*MacipACLInterfaceGetReply) GetMessageName() string { return "macip_acl_interface_get_reply" } 1837 func (*MacipACLInterfaceGetReply) GetCrcString() string { return "accf9b05" } 1838 func (*MacipACLInterfaceGetReply) GetMessageType() api.MessageType { 1839 return api.ReplyMessage 1840 } 1841 1842 func (m *MacipACLInterfaceGetReply) Size() (size int) { 1843 if m == nil { 1844 return 0 1845 } 1846 size += 4 // m.Count 1847 size += 4 * len(m.Acls) // m.Acls 1848 return size 1849 } 1850 func (m *MacipACLInterfaceGetReply) Marshal(b []byte) ([]byte, error) { 1851 if b == nil { 1852 b = make([]byte, m.Size()) 1853 } 1854 buf := codec.NewBuffer(b) 1855 buf.EncodeUint32(uint32(len(m.Acls))) 1856 for i := 0; i < len(m.Acls); i++ { 1857 var x uint32 1858 if i < len(m.Acls) { 1859 x = uint32(m.Acls[i]) 1860 } 1861 buf.EncodeUint32(x) 1862 } 1863 return buf.Bytes(), nil 1864 } 1865 func (m *MacipACLInterfaceGetReply) Unmarshal(b []byte) error { 1866 buf := codec.NewBuffer(b) 1867 m.Count = buf.DecodeUint32() 1868 m.Acls = make([]uint32, m.Count) 1869 for i := 0; i < len(m.Acls); i++ { 1870 m.Acls[i] = buf.DecodeUint32() 1871 } 1872 return nil 1873 } 1874 1875 // Details about a single MACIP ACL contents 1876 // - sw_if_index - interface for which the list of MACIP ACLs is applied 1877 // - count - total length of acl indices vector 1878 // - acls - the vector of MACIP ACL indices 1879 // 1880 // MacipACLInterfaceListDetails defines message 'macip_acl_interface_list_details'. 1881 type MacipACLInterfaceListDetails struct { 1882 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 1883 Count uint8 `binapi:"u8,name=count" json:"-"` 1884 Acls []uint32 `binapi:"u32[count],name=acls" json:"acls,omitempty"` 1885 } 1886 1887 func (m *MacipACLInterfaceListDetails) Reset() { *m = MacipACLInterfaceListDetails{} } 1888 func (*MacipACLInterfaceListDetails) GetMessageName() string { 1889 return "macip_acl_interface_list_details" 1890 } 1891 func (*MacipACLInterfaceListDetails) GetCrcString() string { return "a0c5d56d" } 1892 func (*MacipACLInterfaceListDetails) GetMessageType() api.MessageType { 1893 return api.ReplyMessage 1894 } 1895 1896 func (m *MacipACLInterfaceListDetails) Size() (size int) { 1897 if m == nil { 1898 return 0 1899 } 1900 size += 4 // m.SwIfIndex 1901 size += 1 // m.Count 1902 size += 4 * len(m.Acls) // m.Acls 1903 return size 1904 } 1905 func (m *MacipACLInterfaceListDetails) Marshal(b []byte) ([]byte, error) { 1906 if b == nil { 1907 b = make([]byte, m.Size()) 1908 } 1909 buf := codec.NewBuffer(b) 1910 buf.EncodeUint32(uint32(m.SwIfIndex)) 1911 buf.EncodeUint8(uint8(len(m.Acls))) 1912 for i := 0; i < len(m.Acls); i++ { 1913 var x uint32 1914 if i < len(m.Acls) { 1915 x = uint32(m.Acls[i]) 1916 } 1917 buf.EncodeUint32(x) 1918 } 1919 return buf.Bytes(), nil 1920 } 1921 func (m *MacipACLInterfaceListDetails) Unmarshal(b []byte) error { 1922 buf := codec.NewBuffer(b) 1923 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1924 m.Count = buf.DecodeUint8() 1925 m.Acls = make([]uint32, m.Count) 1926 for i := 0; i < len(m.Acls); i++ { 1927 m.Acls[i] = buf.DecodeUint32() 1928 } 1929 return nil 1930 } 1931 1932 // Dump the list(s) of MACIP ACLs applied to specific or all interfaces 1933 // - sw_if_index - interface to dump the MACIP ACL list for 1934 // 1935 // MacipACLInterfaceListDump defines message 'macip_acl_interface_list_dump'. 1936 type MacipACLInterfaceListDump struct { 1937 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 1938 } 1939 1940 func (m *MacipACLInterfaceListDump) Reset() { *m = MacipACLInterfaceListDump{} } 1941 func (*MacipACLInterfaceListDump) GetMessageName() string { return "macip_acl_interface_list_dump" } 1942 func (*MacipACLInterfaceListDump) GetCrcString() string { return "f9e6675e" } 1943 func (*MacipACLInterfaceListDump) GetMessageType() api.MessageType { 1944 return api.RequestMessage 1945 } 1946 1947 func (m *MacipACLInterfaceListDump) Size() (size int) { 1948 if m == nil { 1949 return 0 1950 } 1951 size += 4 // m.SwIfIndex 1952 return size 1953 } 1954 func (m *MacipACLInterfaceListDump) Marshal(b []byte) ([]byte, error) { 1955 if b == nil { 1956 b = make([]byte, m.Size()) 1957 } 1958 buf := codec.NewBuffer(b) 1959 buf.EncodeUint32(uint32(m.SwIfIndex)) 1960 return buf.Bytes(), nil 1961 } 1962 func (m *MacipACLInterfaceListDump) Unmarshal(b []byte) error { 1963 buf := codec.NewBuffer(b) 1964 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1965 return nil 1966 } 1967 1968 func init() { file_acl_binapi_init() } 1969 func file_acl_binapi_init() { 1970 api.RegisterMessage((*ACLAddReplace)(nil), "acl_add_replace_ee5c2f18") 1971 api.RegisterMessage((*ACLAddReplaceReply)(nil), "acl_add_replace_reply_ac407b0c") 1972 api.RegisterMessage((*ACLDel)(nil), "acl_del_ef34fea4") 1973 api.RegisterMessage((*ACLDelReply)(nil), "acl_del_reply_e8d4e804") 1974 api.RegisterMessage((*ACLDetails)(nil), "acl_details_95babae0") 1975 api.RegisterMessage((*ACLDump)(nil), "acl_dump_ef34fea4") 1976 api.RegisterMessage((*ACLInterfaceAddDel)(nil), "acl_interface_add_del_4b54bebd") 1977 api.RegisterMessage((*ACLInterfaceAddDelReply)(nil), "acl_interface_add_del_reply_e8d4e804") 1978 api.RegisterMessage((*ACLInterfaceEtypeWhitelistDetails)(nil), "acl_interface_etype_whitelist_details_cc2bfded") 1979 api.RegisterMessage((*ACLInterfaceEtypeWhitelistDump)(nil), "acl_interface_etype_whitelist_dump_f9e6675e") 1980 api.RegisterMessage((*ACLInterfaceListDetails)(nil), "acl_interface_list_details_e695d256") 1981 api.RegisterMessage((*ACLInterfaceListDump)(nil), "acl_interface_list_dump_f9e6675e") 1982 api.RegisterMessage((*ACLInterfaceSetACLList)(nil), "acl_interface_set_acl_list_473982bd") 1983 api.RegisterMessage((*ACLInterfaceSetACLListReply)(nil), "acl_interface_set_acl_list_reply_e8d4e804") 1984 api.RegisterMessage((*ACLInterfaceSetEtypeWhitelist)(nil), "acl_interface_set_etype_whitelist_3f5c2d2d") 1985 api.RegisterMessage((*ACLInterfaceSetEtypeWhitelistReply)(nil), "acl_interface_set_etype_whitelist_reply_e8d4e804") 1986 api.RegisterMessage((*ACLPluginControlPing)(nil), "acl_plugin_control_ping_51077d14") 1987 api.RegisterMessage((*ACLPluginControlPingReply)(nil), "acl_plugin_control_ping_reply_f6b0b8ca") 1988 api.RegisterMessage((*ACLPluginGetConnTableMaxEntries)(nil), "acl_plugin_get_conn_table_max_entries_51077d14") 1989 api.RegisterMessage((*ACLPluginGetConnTableMaxEntriesReply)(nil), "acl_plugin_get_conn_table_max_entries_reply_7a096d3d") 1990 api.RegisterMessage((*ACLPluginGetVersion)(nil), "acl_plugin_get_version_51077d14") 1991 api.RegisterMessage((*ACLPluginGetVersionReply)(nil), "acl_plugin_get_version_reply_9b32cf86") 1992 api.RegisterMessage((*ACLPluginUseHashLookupGet)(nil), "acl_plugin_use_hash_lookup_get_51077d14") 1993 api.RegisterMessage((*ACLPluginUseHashLookupGetReply)(nil), "acl_plugin_use_hash_lookup_get_reply_5392ad31") 1994 api.RegisterMessage((*ACLPluginUseHashLookupSet)(nil), "acl_plugin_use_hash_lookup_set_b3e225d2") 1995 api.RegisterMessage((*ACLPluginUseHashLookupSetReply)(nil), "acl_plugin_use_hash_lookup_set_reply_e8d4e804") 1996 api.RegisterMessage((*ACLStatsIntfCountersEnable)(nil), "acl_stats_intf_counters_enable_b3e225d2") 1997 api.RegisterMessage((*ACLStatsIntfCountersEnableReply)(nil), "acl_stats_intf_counters_enable_reply_e8d4e804") 1998 api.RegisterMessage((*MacipACLAdd)(nil), "macip_acl_add_ce6fbad0") 1999 api.RegisterMessage((*MacipACLAddReplace)(nil), "macip_acl_add_replace_2a461dd4") 2000 api.RegisterMessage((*MacipACLAddReplaceReply)(nil), "macip_acl_add_replace_reply_ac407b0c") 2001 api.RegisterMessage((*MacipACLAddReply)(nil), "macip_acl_add_reply_ac407b0c") 2002 api.RegisterMessage((*MacipACLDel)(nil), "macip_acl_del_ef34fea4") 2003 api.RegisterMessage((*MacipACLDelReply)(nil), "macip_acl_del_reply_e8d4e804") 2004 api.RegisterMessage((*MacipACLDetails)(nil), "macip_acl_details_27135b59") 2005 api.RegisterMessage((*MacipACLDump)(nil), "macip_acl_dump_ef34fea4") 2006 api.RegisterMessage((*MacipACLInterfaceAddDel)(nil), "macip_acl_interface_add_del_4b8690b1") 2007 api.RegisterMessage((*MacipACLInterfaceAddDelReply)(nil), "macip_acl_interface_add_del_reply_e8d4e804") 2008 api.RegisterMessage((*MacipACLInterfaceGet)(nil), "macip_acl_interface_get_51077d14") 2009 api.RegisterMessage((*MacipACLInterfaceGetReply)(nil), "macip_acl_interface_get_reply_accf9b05") 2010 api.RegisterMessage((*MacipACLInterfaceListDetails)(nil), "macip_acl_interface_list_details_a0c5d56d") 2011 api.RegisterMessage((*MacipACLInterfaceListDump)(nil), "macip_acl_interface_list_dump_f9e6675e") 2012 } 2013 2014 // Messages returns list of all messages in this module. 2015 func AllMessages() []api.Message { 2016 return []api.Message{ 2017 (*ACLAddReplace)(nil), 2018 (*ACLAddReplaceReply)(nil), 2019 (*ACLDel)(nil), 2020 (*ACLDelReply)(nil), 2021 (*ACLDetails)(nil), 2022 (*ACLDump)(nil), 2023 (*ACLInterfaceAddDel)(nil), 2024 (*ACLInterfaceAddDelReply)(nil), 2025 (*ACLInterfaceEtypeWhitelistDetails)(nil), 2026 (*ACLInterfaceEtypeWhitelistDump)(nil), 2027 (*ACLInterfaceListDetails)(nil), 2028 (*ACLInterfaceListDump)(nil), 2029 (*ACLInterfaceSetACLList)(nil), 2030 (*ACLInterfaceSetACLListReply)(nil), 2031 (*ACLInterfaceSetEtypeWhitelist)(nil), 2032 (*ACLInterfaceSetEtypeWhitelistReply)(nil), 2033 (*ACLPluginControlPing)(nil), 2034 (*ACLPluginControlPingReply)(nil), 2035 (*ACLPluginGetConnTableMaxEntries)(nil), 2036 (*ACLPluginGetConnTableMaxEntriesReply)(nil), 2037 (*ACLPluginGetVersion)(nil), 2038 (*ACLPluginGetVersionReply)(nil), 2039 (*ACLPluginUseHashLookupGet)(nil), 2040 (*ACLPluginUseHashLookupGetReply)(nil), 2041 (*ACLPluginUseHashLookupSet)(nil), 2042 (*ACLPluginUseHashLookupSetReply)(nil), 2043 (*ACLStatsIntfCountersEnable)(nil), 2044 (*ACLStatsIntfCountersEnableReply)(nil), 2045 (*MacipACLAdd)(nil), 2046 (*MacipACLAddReplace)(nil), 2047 (*MacipACLAddReplaceReply)(nil), 2048 (*MacipACLAddReply)(nil), 2049 (*MacipACLDel)(nil), 2050 (*MacipACLDelReply)(nil), 2051 (*MacipACLDetails)(nil), 2052 (*MacipACLDump)(nil), 2053 (*MacipACLInterfaceAddDel)(nil), 2054 (*MacipACLInterfaceAddDelReply)(nil), 2055 (*MacipACLInterfaceGet)(nil), 2056 (*MacipACLInterfaceGetReply)(nil), 2057 (*MacipACLInterfaceListDetails)(nil), 2058 (*MacipACLInterfaceListDump)(nil), 2059 } 2060 }