github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/session/session.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: core/session.api.json 6 7 // Package session contains generated bindings for API file session.api. 8 // 9 // Contents: 10 // - 2 enums 11 // - 26 messages 12 package session 13 14 import ( 15 "strconv" 16 17 interface_types "github.com/networkservicemesh/govpp/binapi/interface_types" 18 ip_types "github.com/networkservicemesh/govpp/binapi/ip_types" 19 api "go.fd.io/govpp/api" 20 codec "go.fd.io/govpp/codec" 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 = "session" 31 APIVersion = "4.0.0" 32 VersionCrc = 0x37cc4b71 33 ) 34 35 // SessionRuleScope defines enum 'session_rule_scope'. 36 type SessionRuleScope uint32 37 38 const ( 39 SESSION_RULE_SCOPE_API_GLOBAL SessionRuleScope = 0 40 SESSION_RULE_SCOPE_API_LOCAL SessionRuleScope = 1 41 SESSION_RULE_SCOPE_API_BOTH SessionRuleScope = 2 42 ) 43 44 var ( 45 SessionRuleScope_name = map[uint32]string{ 46 0: "SESSION_RULE_SCOPE_API_GLOBAL", 47 1: "SESSION_RULE_SCOPE_API_LOCAL", 48 2: "SESSION_RULE_SCOPE_API_BOTH", 49 } 50 SessionRuleScope_value = map[string]uint32{ 51 "SESSION_RULE_SCOPE_API_GLOBAL": 0, 52 "SESSION_RULE_SCOPE_API_LOCAL": 1, 53 "SESSION_RULE_SCOPE_API_BOTH": 2, 54 } 55 ) 56 57 func (x SessionRuleScope) String() string { 58 s, ok := SessionRuleScope_name[uint32(x)] 59 if ok { 60 return s 61 } 62 return "SessionRuleScope(" + strconv.Itoa(int(x)) + ")" 63 } 64 65 // TransportProto defines enum 'transport_proto'. 66 type TransportProto uint8 67 68 const ( 69 TRANSPORT_PROTO_API_TCP TransportProto = 0 70 TRANSPORT_PROTO_API_UDP TransportProto = 1 71 TRANSPORT_PROTO_API_NONE TransportProto = 2 72 TRANSPORT_PROTO_API_TLS TransportProto = 3 73 TRANSPORT_PROTO_API_QUIC TransportProto = 4 74 ) 75 76 var ( 77 TransportProto_name = map[uint8]string{ 78 0: "TRANSPORT_PROTO_API_TCP", 79 1: "TRANSPORT_PROTO_API_UDP", 80 2: "TRANSPORT_PROTO_API_NONE", 81 3: "TRANSPORT_PROTO_API_TLS", 82 4: "TRANSPORT_PROTO_API_QUIC", 83 } 84 TransportProto_value = map[string]uint8{ 85 "TRANSPORT_PROTO_API_TCP": 0, 86 "TRANSPORT_PROTO_API_UDP": 1, 87 "TRANSPORT_PROTO_API_NONE": 2, 88 "TRANSPORT_PROTO_API_TLS": 3, 89 "TRANSPORT_PROTO_API_QUIC": 4, 90 } 91 ) 92 93 func (x TransportProto) String() string { 94 s, ok := TransportProto_name[uint8(x)] 95 if ok { 96 return s 97 } 98 return "TransportProto(" + strconv.Itoa(int(x)) + ")" 99 } 100 101 // Add certificate and key 102 // - engine - crypto engine 103 // - cert_len - cert length (comes first) 104 // - certkey_len - cert and key length 105 // - certkey - cert & key data (due to API limitation) 106 // 107 // AppAddCertKeyPair defines message 'app_add_cert_key_pair'. 108 type AppAddCertKeyPair struct { 109 CertLen uint16 `binapi:"u16,name=cert_len" json:"cert_len,omitempty"` 110 CertkeyLen uint16 `binapi:"u16,name=certkey_len" json:"-"` 111 Certkey []byte `binapi:"u8[certkey_len],name=certkey" json:"certkey,omitempty"` 112 } 113 114 func (m *AppAddCertKeyPair) Reset() { *m = AppAddCertKeyPair{} } 115 func (*AppAddCertKeyPair) GetMessageName() string { return "app_add_cert_key_pair" } 116 func (*AppAddCertKeyPair) GetCrcString() string { return "02eb8016" } 117 func (*AppAddCertKeyPair) GetMessageType() api.MessageType { 118 return api.RequestMessage 119 } 120 121 func (m *AppAddCertKeyPair) Size() (size int) { 122 if m == nil { 123 return 0 124 } 125 size += 2 // m.CertLen 126 size += 2 // m.CertkeyLen 127 size += 1 * len(m.Certkey) // m.Certkey 128 return size 129 } 130 func (m *AppAddCertKeyPair) Marshal(b []byte) ([]byte, error) { 131 if b == nil { 132 b = make([]byte, m.Size()) 133 } 134 buf := codec.NewBuffer(b) 135 buf.EncodeUint16(m.CertLen) 136 buf.EncodeUint16(uint16(len(m.Certkey))) 137 buf.EncodeBytes(m.Certkey, 0) 138 return buf.Bytes(), nil 139 } 140 func (m *AppAddCertKeyPair) Unmarshal(b []byte) error { 141 buf := codec.NewBuffer(b) 142 m.CertLen = buf.DecodeUint16() 143 m.CertkeyLen = buf.DecodeUint16() 144 m.Certkey = make([]byte, m.CertkeyLen) 145 copy(m.Certkey, buf.DecodeBytes(len(m.Certkey))) 146 return nil 147 } 148 149 // Add certificate and key 150 // - retval - return code for the request 151 // - index - index in certificate store 152 // 153 // AppAddCertKeyPairReply defines message 'app_add_cert_key_pair_reply'. 154 type AppAddCertKeyPairReply struct { 155 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 156 Index uint32 `binapi:"u32,name=index" json:"index,omitempty"` 157 } 158 159 func (m *AppAddCertKeyPairReply) Reset() { *m = AppAddCertKeyPairReply{} } 160 func (*AppAddCertKeyPairReply) GetMessageName() string { return "app_add_cert_key_pair_reply" } 161 func (*AppAddCertKeyPairReply) GetCrcString() string { return "b42958d0" } 162 func (*AppAddCertKeyPairReply) GetMessageType() api.MessageType { 163 return api.ReplyMessage 164 } 165 166 func (m *AppAddCertKeyPairReply) Size() (size int) { 167 if m == nil { 168 return 0 169 } 170 size += 4 // m.Retval 171 size += 4 // m.Index 172 return size 173 } 174 func (m *AppAddCertKeyPairReply) Marshal(b []byte) ([]byte, error) { 175 if b == nil { 176 b = make([]byte, m.Size()) 177 } 178 buf := codec.NewBuffer(b) 179 buf.EncodeInt32(m.Retval) 180 buf.EncodeUint32(m.Index) 181 return buf.Bytes(), nil 182 } 183 func (m *AppAddCertKeyPairReply) Unmarshal(b []byte) error { 184 buf := codec.NewBuffer(b) 185 m.Retval = buf.DecodeInt32() 186 m.Index = buf.DecodeUint32() 187 return nil 188 } 189 190 // Application attach to session layer 191 // - options - segment size, fifo sizes, etc. 192 // - namespace_id - string 193 // 194 // AppAttach defines message 'app_attach'. 195 type AppAttach struct { 196 Options []uint64 `binapi:"u64[18],name=options" json:"options,omitempty"` 197 NamespaceID string `binapi:"string[],name=namespace_id" json:"namespace_id,omitempty"` 198 } 199 200 func (m *AppAttach) Reset() { *m = AppAttach{} } 201 func (*AppAttach) GetMessageName() string { return "app_attach" } 202 func (*AppAttach) GetCrcString() string { return "5f4a260d" } 203 func (*AppAttach) GetMessageType() api.MessageType { 204 return api.RequestMessage 205 } 206 207 func (m *AppAttach) Size() (size int) { 208 if m == nil { 209 return 0 210 } 211 size += 8 * 18 // m.Options 212 size += 4 + len(m.NamespaceID) // m.NamespaceID 213 return size 214 } 215 func (m *AppAttach) Marshal(b []byte) ([]byte, error) { 216 if b == nil { 217 b = make([]byte, m.Size()) 218 } 219 buf := codec.NewBuffer(b) 220 for i := 0; i < 18; i++ { 221 var x uint64 222 if i < len(m.Options) { 223 x = uint64(m.Options[i]) 224 } 225 buf.EncodeUint64(x) 226 } 227 buf.EncodeString(m.NamespaceID, 0) 228 return buf.Bytes(), nil 229 } 230 func (m *AppAttach) Unmarshal(b []byte) error { 231 buf := codec.NewBuffer(b) 232 m.Options = make([]uint64, 18) 233 for i := 0; i < len(m.Options); i++ { 234 m.Options[i] = buf.DecodeUint64() 235 } 236 m.NamespaceID = buf.DecodeString(0) 237 return nil 238 } 239 240 // Application attach reply 241 // - retval - return code for the request 242 // - app_mq - app message queue 243 // - vpp_ctrl_mq - vpp message queue for control events that should 244 // be handled in main thread, i.e., bind/connect 245 // - vpp_ctrl_mq_thread_index - thread index of the ctrl mq 246 // - app_index - index of the newly created app 247 // - n_fds - number of fds exchanged 248 // - fd_flags - set of flags that indicate which fds are to be expected 249 // over the socket (set only if socket transport available) 250 // - segment_size - size of first shm segment 251 // - segment_handle - handle for segment 252 // - segment_name - name of segment client needs to attach to 253 // 254 // AppAttachReply defines message 'app_attach_reply'. 255 type AppAttachReply struct { 256 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 257 AppMq uint64 `binapi:"u64,name=app_mq" json:"app_mq,omitempty"` 258 VppCtrlMq uint64 `binapi:"u64,name=vpp_ctrl_mq" json:"vpp_ctrl_mq,omitempty"` 259 VppCtrlMqThread uint8 `binapi:"u8,name=vpp_ctrl_mq_thread" json:"vpp_ctrl_mq_thread,omitempty"` 260 AppIndex uint32 `binapi:"u32,name=app_index" json:"app_index,omitempty"` 261 NFds uint8 `binapi:"u8,name=n_fds" json:"n_fds,omitempty"` 262 FdFlags uint8 `binapi:"u8,name=fd_flags" json:"fd_flags,omitempty"` 263 SegmentSize uint32 `binapi:"u32,name=segment_size" json:"segment_size,omitempty"` 264 SegmentHandle uint64 `binapi:"u64,name=segment_handle" json:"segment_handle,omitempty"` 265 SegmentName string `binapi:"string[],name=segment_name" json:"segment_name,omitempty"` 266 } 267 268 func (m *AppAttachReply) Reset() { *m = AppAttachReply{} } 269 func (*AppAttachReply) GetMessageName() string { return "app_attach_reply" } 270 func (*AppAttachReply) GetCrcString() string { return "5c89c3b0" } 271 func (*AppAttachReply) GetMessageType() api.MessageType { 272 return api.ReplyMessage 273 } 274 275 func (m *AppAttachReply) Size() (size int) { 276 if m == nil { 277 return 0 278 } 279 size += 4 // m.Retval 280 size += 8 // m.AppMq 281 size += 8 // m.VppCtrlMq 282 size += 1 // m.VppCtrlMqThread 283 size += 4 // m.AppIndex 284 size += 1 // m.NFds 285 size += 1 // m.FdFlags 286 size += 4 // m.SegmentSize 287 size += 8 // m.SegmentHandle 288 size += 4 + len(m.SegmentName) // m.SegmentName 289 return size 290 } 291 func (m *AppAttachReply) Marshal(b []byte) ([]byte, error) { 292 if b == nil { 293 b = make([]byte, m.Size()) 294 } 295 buf := codec.NewBuffer(b) 296 buf.EncodeInt32(m.Retval) 297 buf.EncodeUint64(m.AppMq) 298 buf.EncodeUint64(m.VppCtrlMq) 299 buf.EncodeUint8(m.VppCtrlMqThread) 300 buf.EncodeUint32(m.AppIndex) 301 buf.EncodeUint8(m.NFds) 302 buf.EncodeUint8(m.FdFlags) 303 buf.EncodeUint32(m.SegmentSize) 304 buf.EncodeUint64(m.SegmentHandle) 305 buf.EncodeString(m.SegmentName, 0) 306 return buf.Bytes(), nil 307 } 308 func (m *AppAttachReply) Unmarshal(b []byte) error { 309 buf := codec.NewBuffer(b) 310 m.Retval = buf.DecodeInt32() 311 m.AppMq = buf.DecodeUint64() 312 m.VppCtrlMq = buf.DecodeUint64() 313 m.VppCtrlMqThread = buf.DecodeUint8() 314 m.AppIndex = buf.DecodeUint32() 315 m.NFds = buf.DecodeUint8() 316 m.FdFlags = buf.DecodeUint8() 317 m.SegmentSize = buf.DecodeUint32() 318 m.SegmentHandle = buf.DecodeUint64() 319 m.SegmentName = buf.DecodeString(0) 320 return nil 321 } 322 323 // Delete certificate and key 324 // - index - index in certificate store 325 // 326 // AppDelCertKeyPair defines message 'app_del_cert_key_pair'. 327 type AppDelCertKeyPair struct { 328 Index uint32 `binapi:"u32,name=index" json:"index,omitempty"` 329 } 330 331 func (m *AppDelCertKeyPair) Reset() { *m = AppDelCertKeyPair{} } 332 func (*AppDelCertKeyPair) GetMessageName() string { return "app_del_cert_key_pair" } 333 func (*AppDelCertKeyPair) GetCrcString() string { return "8ac76db6" } 334 func (*AppDelCertKeyPair) GetMessageType() api.MessageType { 335 return api.RequestMessage 336 } 337 338 func (m *AppDelCertKeyPair) Size() (size int) { 339 if m == nil { 340 return 0 341 } 342 size += 4 // m.Index 343 return size 344 } 345 func (m *AppDelCertKeyPair) Marshal(b []byte) ([]byte, error) { 346 if b == nil { 347 b = make([]byte, m.Size()) 348 } 349 buf := codec.NewBuffer(b) 350 buf.EncodeUint32(m.Index) 351 return buf.Bytes(), nil 352 } 353 func (m *AppDelCertKeyPair) Unmarshal(b []byte) error { 354 buf := codec.NewBuffer(b) 355 m.Index = buf.DecodeUint32() 356 return nil 357 } 358 359 // AppDelCertKeyPairReply defines message 'app_del_cert_key_pair_reply'. 360 type AppDelCertKeyPairReply struct { 361 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 362 } 363 364 func (m *AppDelCertKeyPairReply) Reset() { *m = AppDelCertKeyPairReply{} } 365 func (*AppDelCertKeyPairReply) GetMessageName() string { return "app_del_cert_key_pair_reply" } 366 func (*AppDelCertKeyPairReply) GetCrcString() string { return "e8d4e804" } 367 func (*AppDelCertKeyPairReply) GetMessageType() api.MessageType { 368 return api.ReplyMessage 369 } 370 371 func (m *AppDelCertKeyPairReply) Size() (size int) { 372 if m == nil { 373 return 0 374 } 375 size += 4 // m.Retval 376 return size 377 } 378 func (m *AppDelCertKeyPairReply) Marshal(b []byte) ([]byte, error) { 379 if b == nil { 380 b = make([]byte, m.Size()) 381 } 382 buf := codec.NewBuffer(b) 383 buf.EncodeInt32(m.Retval) 384 return buf.Bytes(), nil 385 } 386 func (m *AppDelCertKeyPairReply) Unmarshal(b []byte) error { 387 buf := codec.NewBuffer(b) 388 m.Retval = buf.DecodeInt32() 389 return nil 390 } 391 392 // add/del application namespace 393 // 394 // client to vpp direction only 395 // - secret - secret shared between app and vpp 396 // - sw_if_index - local interface that "supports" namespace. Set to 397 // ~0 if no preference 398 // - ip4_fib_id - id of ip4 fib that "supports" the namespace. Ignored 399 // if sw_if_index set. 400 // - ip6_fib_id - id of ip6 fib that "supports" the namespace. Ignored 401 // if sw_if_index set. 402 // - namespace_id - namespace id 403 // 404 // AppNamespaceAddDel defines message 'app_namespace_add_del'. 405 // Deprecated: the message will be removed in the future versions 406 type AppNamespaceAddDel struct { 407 Secret uint64 `binapi:"u64,name=secret" json:"secret,omitempty"` 408 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"` 409 IP4FibID uint32 `binapi:"u32,name=ip4_fib_id" json:"ip4_fib_id,omitempty"` 410 IP6FibID uint32 `binapi:"u32,name=ip6_fib_id" json:"ip6_fib_id,omitempty"` 411 NamespaceID string `binapi:"string[],name=namespace_id" json:"namespace_id,omitempty"` 412 } 413 414 func (m *AppNamespaceAddDel) Reset() { *m = AppNamespaceAddDel{} } 415 func (*AppNamespaceAddDel) GetMessageName() string { return "app_namespace_add_del" } 416 func (*AppNamespaceAddDel) GetCrcString() string { return "6306aecb" } 417 func (*AppNamespaceAddDel) GetMessageType() api.MessageType { 418 return api.RequestMessage 419 } 420 421 func (m *AppNamespaceAddDel) Size() (size int) { 422 if m == nil { 423 return 0 424 } 425 size += 8 // m.Secret 426 size += 4 // m.SwIfIndex 427 size += 4 // m.IP4FibID 428 size += 4 // m.IP6FibID 429 size += 4 + len(m.NamespaceID) // m.NamespaceID 430 return size 431 } 432 func (m *AppNamespaceAddDel) Marshal(b []byte) ([]byte, error) { 433 if b == nil { 434 b = make([]byte, m.Size()) 435 } 436 buf := codec.NewBuffer(b) 437 buf.EncodeUint64(m.Secret) 438 buf.EncodeUint32(uint32(m.SwIfIndex)) 439 buf.EncodeUint32(m.IP4FibID) 440 buf.EncodeUint32(m.IP6FibID) 441 buf.EncodeString(m.NamespaceID, 0) 442 return buf.Bytes(), nil 443 } 444 func (m *AppNamespaceAddDel) Unmarshal(b []byte) error { 445 buf := codec.NewBuffer(b) 446 m.Secret = buf.DecodeUint64() 447 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 448 m.IP4FibID = buf.DecodeUint32() 449 m.IP6FibID = buf.DecodeUint32() 450 m.NamespaceID = buf.DecodeString(0) 451 return nil 452 } 453 454 // Reply for app namespace add/del 455 // - retval - return code 456 // - appns_index - app namespace index 457 // 458 // AppNamespaceAddDelReply defines message 'app_namespace_add_del_reply'. 459 // Deprecated: the message will be removed in the future versions 460 type AppNamespaceAddDelReply struct { 461 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 462 AppnsIndex uint32 `binapi:"u32,name=appns_index" json:"appns_index,omitempty"` 463 } 464 465 func (m *AppNamespaceAddDelReply) Reset() { *m = AppNamespaceAddDelReply{} } 466 func (*AppNamespaceAddDelReply) GetMessageName() string { return "app_namespace_add_del_reply" } 467 func (*AppNamespaceAddDelReply) GetCrcString() string { return "85137120" } 468 func (*AppNamespaceAddDelReply) GetMessageType() api.MessageType { 469 return api.ReplyMessage 470 } 471 472 func (m *AppNamespaceAddDelReply) Size() (size int) { 473 if m == nil { 474 return 0 475 } 476 size += 4 // m.Retval 477 size += 4 // m.AppnsIndex 478 return size 479 } 480 func (m *AppNamespaceAddDelReply) Marshal(b []byte) ([]byte, error) { 481 if b == nil { 482 b = make([]byte, m.Size()) 483 } 484 buf := codec.NewBuffer(b) 485 buf.EncodeInt32(m.Retval) 486 buf.EncodeUint32(m.AppnsIndex) 487 return buf.Bytes(), nil 488 } 489 func (m *AppNamespaceAddDelReply) Unmarshal(b []byte) error { 490 buf := codec.NewBuffer(b) 491 m.Retval = buf.DecodeInt32() 492 m.AppnsIndex = buf.DecodeUint32() 493 return nil 494 } 495 496 // add/del application namespace 497 // 498 // client to vpp direction only 499 // - secret - secret shared between app and vpp 500 // - sw_if_index - local interface that "supports" namespace. Set to 501 // ~0 if no preference 502 // - ip4_fib_id - id of ip4 fib that "supports" the namespace. Ignored 503 // if sw_if_index set. 504 // - ip6_fib_id - id of ip6 fib that "supports" the namespace. Ignored 505 // if sw_if_index set. 506 // - namespace_id - namespace id 507 // - netns - linux net namespace 508 // 509 // AppNamespaceAddDelV2 defines message 'app_namespace_add_del_v2'. 510 // Deprecated: the message will be removed in the future versions 511 type AppNamespaceAddDelV2 struct { 512 Secret uint64 `binapi:"u64,name=secret" json:"secret,omitempty"` 513 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"` 514 IP4FibID uint32 `binapi:"u32,name=ip4_fib_id" json:"ip4_fib_id,omitempty"` 515 IP6FibID uint32 `binapi:"u32,name=ip6_fib_id" json:"ip6_fib_id,omitempty"` 516 NamespaceID string `binapi:"string[64],name=namespace_id" json:"namespace_id,omitempty"` 517 Netns string `binapi:"string[64],name=netns" json:"netns,omitempty"` 518 } 519 520 func (m *AppNamespaceAddDelV2) Reset() { *m = AppNamespaceAddDelV2{} } 521 func (*AppNamespaceAddDelV2) GetMessageName() string { return "app_namespace_add_del_v2" } 522 func (*AppNamespaceAddDelV2) GetCrcString() string { return "ee0755cf" } 523 func (*AppNamespaceAddDelV2) GetMessageType() api.MessageType { 524 return api.RequestMessage 525 } 526 527 func (m *AppNamespaceAddDelV2) Size() (size int) { 528 if m == nil { 529 return 0 530 } 531 size += 8 // m.Secret 532 size += 4 // m.SwIfIndex 533 size += 4 // m.IP4FibID 534 size += 4 // m.IP6FibID 535 size += 64 // m.NamespaceID 536 size += 64 // m.Netns 537 return size 538 } 539 func (m *AppNamespaceAddDelV2) Marshal(b []byte) ([]byte, error) { 540 if b == nil { 541 b = make([]byte, m.Size()) 542 } 543 buf := codec.NewBuffer(b) 544 buf.EncodeUint64(m.Secret) 545 buf.EncodeUint32(uint32(m.SwIfIndex)) 546 buf.EncodeUint32(m.IP4FibID) 547 buf.EncodeUint32(m.IP6FibID) 548 buf.EncodeString(m.NamespaceID, 64) 549 buf.EncodeString(m.Netns, 64) 550 return buf.Bytes(), nil 551 } 552 func (m *AppNamespaceAddDelV2) Unmarshal(b []byte) error { 553 buf := codec.NewBuffer(b) 554 m.Secret = buf.DecodeUint64() 555 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 556 m.IP4FibID = buf.DecodeUint32() 557 m.IP6FibID = buf.DecodeUint32() 558 m.NamespaceID = buf.DecodeString(64) 559 m.Netns = buf.DecodeString(64) 560 return nil 561 } 562 563 // Reply for app namespace add/del 564 // - retval - return code 565 // - appns_index - app namespace index 566 // 567 // AppNamespaceAddDelV2Reply defines message 'app_namespace_add_del_v2_reply'. 568 // Deprecated: the message will be removed in the future versions 569 type AppNamespaceAddDelV2Reply struct { 570 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 571 AppnsIndex uint32 `binapi:"u32,name=appns_index" json:"appns_index,omitempty"` 572 } 573 574 func (m *AppNamespaceAddDelV2Reply) Reset() { *m = AppNamespaceAddDelV2Reply{} } 575 func (*AppNamespaceAddDelV2Reply) GetMessageName() string { return "app_namespace_add_del_v2_reply" } 576 func (*AppNamespaceAddDelV2Reply) GetCrcString() string { return "85137120" } 577 func (*AppNamespaceAddDelV2Reply) GetMessageType() api.MessageType { 578 return api.ReplyMessage 579 } 580 581 func (m *AppNamespaceAddDelV2Reply) Size() (size int) { 582 if m == nil { 583 return 0 584 } 585 size += 4 // m.Retval 586 size += 4 // m.AppnsIndex 587 return size 588 } 589 func (m *AppNamespaceAddDelV2Reply) Marshal(b []byte) ([]byte, error) { 590 if b == nil { 591 b = make([]byte, m.Size()) 592 } 593 buf := codec.NewBuffer(b) 594 buf.EncodeInt32(m.Retval) 595 buf.EncodeUint32(m.AppnsIndex) 596 return buf.Bytes(), nil 597 } 598 func (m *AppNamespaceAddDelV2Reply) Unmarshal(b []byte) error { 599 buf := codec.NewBuffer(b) 600 m.Retval = buf.DecodeInt32() 601 m.AppnsIndex = buf.DecodeUint32() 602 return nil 603 } 604 605 // add/del application namespace 606 // 607 // client to vpp direction only 608 // - secret - secret shared between app and vpp 609 // - sw_if_index - local interface that "supports" namespace. Set to 610 // ~0 if no preference 611 // - ip4_fib_id - id of ip4 fib that "supports" the namespace. Ignored 612 // if sw_if_index set. 613 // - ip6_fib_id - id of ip6 fib that "supports" the namespace. Ignored 614 // if sw_if_index set. 615 // - namespace_id - namespace id 616 // - netns - linux net namespace 617 // - sock_name - socket name (path, abstract socket name) 618 // 619 // AppNamespaceAddDelV3 defines message 'app_namespace_add_del_v3'. 620 // Deprecated: the message will be removed in the future versions 621 type AppNamespaceAddDelV3 struct { 622 Secret uint64 `binapi:"u64,name=secret" json:"secret,omitempty"` 623 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 624 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"` 625 IP4FibID uint32 `binapi:"u32,name=ip4_fib_id" json:"ip4_fib_id,omitempty"` 626 IP6FibID uint32 `binapi:"u32,name=ip6_fib_id" json:"ip6_fib_id,omitempty"` 627 NamespaceID string `binapi:"string[64],name=namespace_id" json:"namespace_id,omitempty"` 628 Netns string `binapi:"string[64],name=netns" json:"netns,omitempty"` 629 SockName string `binapi:"string[],name=sock_name" json:"sock_name,omitempty"` 630 } 631 632 func (m *AppNamespaceAddDelV3) Reset() { *m = AppNamespaceAddDelV3{} } 633 func (*AppNamespaceAddDelV3) GetMessageName() string { return "app_namespace_add_del_v3" } 634 func (*AppNamespaceAddDelV3) GetCrcString() string { return "8a7e40a1" } 635 func (*AppNamespaceAddDelV3) GetMessageType() api.MessageType { 636 return api.RequestMessage 637 } 638 639 func (m *AppNamespaceAddDelV3) Size() (size int) { 640 if m == nil { 641 return 0 642 } 643 size += 8 // m.Secret 644 size += 1 // m.IsAdd 645 size += 4 // m.SwIfIndex 646 size += 4 // m.IP4FibID 647 size += 4 // m.IP6FibID 648 size += 64 // m.NamespaceID 649 size += 64 // m.Netns 650 size += 4 + len(m.SockName) // m.SockName 651 return size 652 } 653 func (m *AppNamespaceAddDelV3) Marshal(b []byte) ([]byte, error) { 654 if b == nil { 655 b = make([]byte, m.Size()) 656 } 657 buf := codec.NewBuffer(b) 658 buf.EncodeUint64(m.Secret) 659 buf.EncodeBool(m.IsAdd) 660 buf.EncodeUint32(uint32(m.SwIfIndex)) 661 buf.EncodeUint32(m.IP4FibID) 662 buf.EncodeUint32(m.IP6FibID) 663 buf.EncodeString(m.NamespaceID, 64) 664 buf.EncodeString(m.Netns, 64) 665 buf.EncodeString(m.SockName, 0) 666 return buf.Bytes(), nil 667 } 668 func (m *AppNamespaceAddDelV3) Unmarshal(b []byte) error { 669 buf := codec.NewBuffer(b) 670 m.Secret = buf.DecodeUint64() 671 m.IsAdd = buf.DecodeBool() 672 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 673 m.IP4FibID = buf.DecodeUint32() 674 m.IP6FibID = buf.DecodeUint32() 675 m.NamespaceID = buf.DecodeString(64) 676 m.Netns = buf.DecodeString(64) 677 m.SockName = buf.DecodeString(0) 678 return nil 679 } 680 681 // AppNamespaceAddDelV3Reply defines message 'app_namespace_add_del_v3_reply'. 682 // Deprecated: the message will be removed in the future versions 683 type AppNamespaceAddDelV3Reply struct { 684 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 685 AppnsIndex uint32 `binapi:"u32,name=appns_index" json:"appns_index,omitempty"` 686 } 687 688 func (m *AppNamespaceAddDelV3Reply) Reset() { *m = AppNamespaceAddDelV3Reply{} } 689 func (*AppNamespaceAddDelV3Reply) GetMessageName() string { return "app_namespace_add_del_v3_reply" } 690 func (*AppNamespaceAddDelV3Reply) GetCrcString() string { return "85137120" } 691 func (*AppNamespaceAddDelV3Reply) GetMessageType() api.MessageType { 692 return api.ReplyMessage 693 } 694 695 func (m *AppNamespaceAddDelV3Reply) Size() (size int) { 696 if m == nil { 697 return 0 698 } 699 size += 4 // m.Retval 700 size += 4 // m.AppnsIndex 701 return size 702 } 703 func (m *AppNamespaceAddDelV3Reply) Marshal(b []byte) ([]byte, error) { 704 if b == nil { 705 b = make([]byte, m.Size()) 706 } 707 buf := codec.NewBuffer(b) 708 buf.EncodeInt32(m.Retval) 709 buf.EncodeUint32(m.AppnsIndex) 710 return buf.Bytes(), nil 711 } 712 func (m *AppNamespaceAddDelV3Reply) Unmarshal(b []byte) error { 713 buf := codec.NewBuffer(b) 714 m.Retval = buf.DecodeInt32() 715 m.AppnsIndex = buf.DecodeUint32() 716 return nil 717 } 718 719 // add/del application namespace 720 // 721 // client to vpp direction only 722 // - secret - secret shared between app and vpp 723 // - sw_if_index - local interface that "supports" namespace. Set to 724 // ~0 if no preference 725 // - ip4_fib_id - id of ip4 fib that "supports" the namespace. Ignored 726 // if sw_if_index set. 727 // - ip6_fib_id - id of ip6 fib that "supports" the namespace. Ignored 728 // if sw_if_index set. 729 // - namespace_id - namespace id 730 // - sock_name - socket name (path, abstract socket name) 731 // 732 // AppNamespaceAddDelV4 defines message 'app_namespace_add_del_v4'. 733 // Deprecated: the message will be removed in the future versions 734 type AppNamespaceAddDelV4 struct { 735 Secret uint64 `binapi:"u64,name=secret" json:"secret,omitempty"` 736 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 737 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"` 738 IP4FibID uint32 `binapi:"u32,name=ip4_fib_id" json:"ip4_fib_id,omitempty"` 739 IP6FibID uint32 `binapi:"u32,name=ip6_fib_id" json:"ip6_fib_id,omitempty"` 740 NamespaceID string `binapi:"string[64],name=namespace_id" json:"namespace_id,omitempty"` 741 SockName string `binapi:"string[],name=sock_name" json:"sock_name,omitempty"` 742 } 743 744 func (m *AppNamespaceAddDelV4) Reset() { *m = AppNamespaceAddDelV4{} } 745 func (*AppNamespaceAddDelV4) GetMessageName() string { return "app_namespace_add_del_v4" } 746 func (*AppNamespaceAddDelV4) GetCrcString() string { return "42c1d824" } 747 func (*AppNamespaceAddDelV4) GetMessageType() api.MessageType { 748 return api.RequestMessage 749 } 750 751 func (m *AppNamespaceAddDelV4) Size() (size int) { 752 if m == nil { 753 return 0 754 } 755 size += 8 // m.Secret 756 size += 1 // m.IsAdd 757 size += 4 // m.SwIfIndex 758 size += 4 // m.IP4FibID 759 size += 4 // m.IP6FibID 760 size += 64 // m.NamespaceID 761 size += 4 + len(m.SockName) // m.SockName 762 return size 763 } 764 func (m *AppNamespaceAddDelV4) Marshal(b []byte) ([]byte, error) { 765 if b == nil { 766 b = make([]byte, m.Size()) 767 } 768 buf := codec.NewBuffer(b) 769 buf.EncodeUint64(m.Secret) 770 buf.EncodeBool(m.IsAdd) 771 buf.EncodeUint32(uint32(m.SwIfIndex)) 772 buf.EncodeUint32(m.IP4FibID) 773 buf.EncodeUint32(m.IP6FibID) 774 buf.EncodeString(m.NamespaceID, 64) 775 buf.EncodeString(m.SockName, 0) 776 return buf.Bytes(), nil 777 } 778 func (m *AppNamespaceAddDelV4) Unmarshal(b []byte) error { 779 buf := codec.NewBuffer(b) 780 m.Secret = buf.DecodeUint64() 781 m.IsAdd = buf.DecodeBool() 782 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 783 m.IP4FibID = buf.DecodeUint32() 784 m.IP6FibID = buf.DecodeUint32() 785 m.NamespaceID = buf.DecodeString(64) 786 m.SockName = buf.DecodeString(0) 787 return nil 788 } 789 790 // Reply for app namespace add/del 791 // - retval - return code 792 // - appns_index - app namespace index 793 // 794 // AppNamespaceAddDelV4Reply defines message 'app_namespace_add_del_v4_reply'. 795 type AppNamespaceAddDelV4Reply struct { 796 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 797 AppnsIndex uint32 `binapi:"u32,name=appns_index" json:"appns_index,omitempty"` 798 } 799 800 func (m *AppNamespaceAddDelV4Reply) Reset() { *m = AppNamespaceAddDelV4Reply{} } 801 func (*AppNamespaceAddDelV4Reply) GetMessageName() string { return "app_namespace_add_del_v4_reply" } 802 func (*AppNamespaceAddDelV4Reply) GetCrcString() string { return "85137120" } 803 func (*AppNamespaceAddDelV4Reply) GetMessageType() api.MessageType { 804 return api.ReplyMessage 805 } 806 807 func (m *AppNamespaceAddDelV4Reply) Size() (size int) { 808 if m == nil { 809 return 0 810 } 811 size += 4 // m.Retval 812 size += 4 // m.AppnsIndex 813 return size 814 } 815 func (m *AppNamespaceAddDelV4Reply) Marshal(b []byte) ([]byte, error) { 816 if b == nil { 817 b = make([]byte, m.Size()) 818 } 819 buf := codec.NewBuffer(b) 820 buf.EncodeInt32(m.Retval) 821 buf.EncodeUint32(m.AppnsIndex) 822 return buf.Bytes(), nil 823 } 824 func (m *AppNamespaceAddDelV4Reply) Unmarshal(b []byte) error { 825 buf := codec.NewBuffer(b) 826 m.Retval = buf.DecodeInt32() 827 m.AppnsIndex = buf.DecodeUint32() 828 return nil 829 } 830 831 // add/del application worker 832 // 833 // client to vpp direction only 834 // - app_index - application index 835 // - wrk_index - worker index, if a delete 836 // - is_add - set if an add 837 // 838 // AppWorkerAddDel defines message 'app_worker_add_del'. 839 type AppWorkerAddDel struct { 840 AppIndex uint32 `binapi:"u32,name=app_index" json:"app_index,omitempty"` 841 WrkIndex uint32 `binapi:"u32,name=wrk_index" json:"wrk_index,omitempty"` 842 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 843 } 844 845 func (m *AppWorkerAddDel) Reset() { *m = AppWorkerAddDel{} } 846 func (*AppWorkerAddDel) GetMessageName() string { return "app_worker_add_del" } 847 func (*AppWorkerAddDel) GetCrcString() string { return "753253dc" } 848 func (*AppWorkerAddDel) GetMessageType() api.MessageType { 849 return api.RequestMessage 850 } 851 852 func (m *AppWorkerAddDel) Size() (size int) { 853 if m == nil { 854 return 0 855 } 856 size += 4 // m.AppIndex 857 size += 4 // m.WrkIndex 858 size += 1 // m.IsAdd 859 return size 860 } 861 func (m *AppWorkerAddDel) Marshal(b []byte) ([]byte, error) { 862 if b == nil { 863 b = make([]byte, m.Size()) 864 } 865 buf := codec.NewBuffer(b) 866 buf.EncodeUint32(m.AppIndex) 867 buf.EncodeUint32(m.WrkIndex) 868 buf.EncodeBool(m.IsAdd) 869 return buf.Bytes(), nil 870 } 871 func (m *AppWorkerAddDel) Unmarshal(b []byte) error { 872 buf := codec.NewBuffer(b) 873 m.AppIndex = buf.DecodeUint32() 874 m.WrkIndex = buf.DecodeUint32() 875 m.IsAdd = buf.DecodeBool() 876 return nil 877 } 878 879 // Reply for app worker add/del 880 // - retval - return code 881 // - wrk_index - worker index, if add 882 // - app_event_queue_address - vpp event queue address of new worker 883 // - n_fds - number of fds exchanged 884 // - fd_flags - set of flags that indicate which fds are to be expected 885 // over the socket (set only if socket transport available) 886 // - segment_handle - handle for segment 887 // - is_add - add if non zero, else delete 888 // - segment_name - name of segment client needs to attach to 889 // 890 // AppWorkerAddDelReply defines message 'app_worker_add_del_reply'. 891 type AppWorkerAddDelReply struct { 892 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 893 WrkIndex uint32 `binapi:"u32,name=wrk_index" json:"wrk_index,omitempty"` 894 AppEventQueueAddress uint64 `binapi:"u64,name=app_event_queue_address" json:"app_event_queue_address,omitempty"` 895 NFds uint8 `binapi:"u8,name=n_fds" json:"n_fds,omitempty"` 896 FdFlags uint8 `binapi:"u8,name=fd_flags" json:"fd_flags,omitempty"` 897 SegmentHandle uint64 `binapi:"u64,name=segment_handle" json:"segment_handle,omitempty"` 898 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 899 SegmentName string `binapi:"string[],name=segment_name" json:"segment_name,omitempty"` 900 } 901 902 func (m *AppWorkerAddDelReply) Reset() { *m = AppWorkerAddDelReply{} } 903 func (*AppWorkerAddDelReply) GetMessageName() string { return "app_worker_add_del_reply" } 904 func (*AppWorkerAddDelReply) GetCrcString() string { return "5735ffe7" } 905 func (*AppWorkerAddDelReply) GetMessageType() api.MessageType { 906 return api.ReplyMessage 907 } 908 909 func (m *AppWorkerAddDelReply) Size() (size int) { 910 if m == nil { 911 return 0 912 } 913 size += 4 // m.Retval 914 size += 4 // m.WrkIndex 915 size += 8 // m.AppEventQueueAddress 916 size += 1 // m.NFds 917 size += 1 // m.FdFlags 918 size += 8 // m.SegmentHandle 919 size += 1 // m.IsAdd 920 size += 4 + len(m.SegmentName) // m.SegmentName 921 return size 922 } 923 func (m *AppWorkerAddDelReply) Marshal(b []byte) ([]byte, error) { 924 if b == nil { 925 b = make([]byte, m.Size()) 926 } 927 buf := codec.NewBuffer(b) 928 buf.EncodeInt32(m.Retval) 929 buf.EncodeUint32(m.WrkIndex) 930 buf.EncodeUint64(m.AppEventQueueAddress) 931 buf.EncodeUint8(m.NFds) 932 buf.EncodeUint8(m.FdFlags) 933 buf.EncodeUint64(m.SegmentHandle) 934 buf.EncodeBool(m.IsAdd) 935 buf.EncodeString(m.SegmentName, 0) 936 return buf.Bytes(), nil 937 } 938 func (m *AppWorkerAddDelReply) Unmarshal(b []byte) error { 939 buf := codec.NewBuffer(b) 940 m.Retval = buf.DecodeInt32() 941 m.WrkIndex = buf.DecodeUint32() 942 m.AppEventQueueAddress = buf.DecodeUint64() 943 m.NFds = buf.DecodeUint8() 944 m.FdFlags = buf.DecodeUint8() 945 m.SegmentHandle = buf.DecodeUint64() 946 m.IsAdd = buf.DecodeBool() 947 m.SegmentName = buf.DecodeString(0) 948 return nil 949 } 950 951 // Application detach from session layer 952 // ApplicationDetach defines message 'application_detach'. 953 type ApplicationDetach struct{} 954 955 func (m *ApplicationDetach) Reset() { *m = ApplicationDetach{} } 956 func (*ApplicationDetach) GetMessageName() string { return "application_detach" } 957 func (*ApplicationDetach) GetCrcString() string { return "51077d14" } 958 func (*ApplicationDetach) GetMessageType() api.MessageType { 959 return api.RequestMessage 960 } 961 962 func (m *ApplicationDetach) Size() (size int) { 963 if m == nil { 964 return 0 965 } 966 return size 967 } 968 func (m *ApplicationDetach) Marshal(b []byte) ([]byte, error) { 969 if b == nil { 970 b = make([]byte, m.Size()) 971 } 972 buf := codec.NewBuffer(b) 973 return buf.Bytes(), nil 974 } 975 func (m *ApplicationDetach) Unmarshal(b []byte) error { 976 return nil 977 } 978 979 // ApplicationDetachReply defines message 'application_detach_reply'. 980 type ApplicationDetachReply struct { 981 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 982 } 983 984 func (m *ApplicationDetachReply) Reset() { *m = ApplicationDetachReply{} } 985 func (*ApplicationDetachReply) GetMessageName() string { return "application_detach_reply" } 986 func (*ApplicationDetachReply) GetCrcString() string { return "e8d4e804" } 987 func (*ApplicationDetachReply) GetMessageType() api.MessageType { 988 return api.ReplyMessage 989 } 990 991 func (m *ApplicationDetachReply) Size() (size int) { 992 if m == nil { 993 return 0 994 } 995 size += 4 // m.Retval 996 return size 997 } 998 func (m *ApplicationDetachReply) Marshal(b []byte) ([]byte, error) { 999 if b == nil { 1000 b = make([]byte, m.Size()) 1001 } 1002 buf := codec.NewBuffer(b) 1003 buf.EncodeInt32(m.Retval) 1004 return buf.Bytes(), nil 1005 } 1006 func (m *ApplicationDetachReply) Unmarshal(b []byte) error { 1007 buf := codec.NewBuffer(b) 1008 m.Retval = buf.DecodeInt32() 1009 return nil 1010 } 1011 1012 // enable/disable session layer 1013 // 1014 // client to vpp direction only 1015 // - is_enable - disable session layer if 0, enable otherwise 1016 // 1017 // SessionEnableDisable defines message 'session_enable_disable'. 1018 type SessionEnableDisable struct { 1019 IsEnable bool `binapi:"bool,name=is_enable,default=true" json:"is_enable,omitempty"` 1020 } 1021 1022 func (m *SessionEnableDisable) Reset() { *m = SessionEnableDisable{} } 1023 func (*SessionEnableDisable) GetMessageName() string { return "session_enable_disable" } 1024 func (*SessionEnableDisable) GetCrcString() string { return "c264d7bf" } 1025 func (*SessionEnableDisable) GetMessageType() api.MessageType { 1026 return api.RequestMessage 1027 } 1028 1029 func (m *SessionEnableDisable) Size() (size int) { 1030 if m == nil { 1031 return 0 1032 } 1033 size += 1 // m.IsEnable 1034 return size 1035 } 1036 func (m *SessionEnableDisable) Marshal(b []byte) ([]byte, error) { 1037 if b == nil { 1038 b = make([]byte, m.Size()) 1039 } 1040 buf := codec.NewBuffer(b) 1041 buf.EncodeBool(m.IsEnable) 1042 return buf.Bytes(), nil 1043 } 1044 func (m *SessionEnableDisable) Unmarshal(b []byte) error { 1045 buf := codec.NewBuffer(b) 1046 m.IsEnable = buf.DecodeBool() 1047 return nil 1048 } 1049 1050 // SessionEnableDisableReply defines message 'session_enable_disable_reply'. 1051 type SessionEnableDisableReply struct { 1052 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1053 } 1054 1055 func (m *SessionEnableDisableReply) Reset() { *m = SessionEnableDisableReply{} } 1056 func (*SessionEnableDisableReply) GetMessageName() string { return "session_enable_disable_reply" } 1057 func (*SessionEnableDisableReply) GetCrcString() string { return "e8d4e804" } 1058 func (*SessionEnableDisableReply) GetMessageType() api.MessageType { 1059 return api.ReplyMessage 1060 } 1061 1062 func (m *SessionEnableDisableReply) Size() (size int) { 1063 if m == nil { 1064 return 0 1065 } 1066 size += 4 // m.Retval 1067 return size 1068 } 1069 func (m *SessionEnableDisableReply) Marshal(b []byte) ([]byte, error) { 1070 if b == nil { 1071 b = make([]byte, m.Size()) 1072 } 1073 buf := codec.NewBuffer(b) 1074 buf.EncodeInt32(m.Retval) 1075 return buf.Bytes(), nil 1076 } 1077 func (m *SessionEnableDisableReply) Unmarshal(b []byte) error { 1078 buf := codec.NewBuffer(b) 1079 m.Retval = buf.DecodeInt32() 1080 return nil 1081 } 1082 1083 // add/del session rule 1084 // 1085 // client to vpp direction only 1086 // - transport_proto - transport protocol 1087 // - is_ip4 - flag to indicate if ip addresses are ip4 or 6 1088 // - lcl_ip - local ip 1089 // - lcl_plen - local prefix length 1090 // - rmt_ip - remote ip 1091 // - rmt_ple - remote prefix length 1092 // - lcl_port - local port 1093 // - rmt_port - remote port 1094 // - action_index - the only action defined now is forward to 1095 // application with index action_index 1096 // - is_add - flag to indicate if add or del 1097 // - appns_index - application namespace where rule is to be applied to 1098 // - scope - enum that indicates scope of the rule: global or local. 1099 // If 0, default is global, 1 is global 2 is local, 3 is both 1100 // - tag - tag 1101 // 1102 // SessionRuleAddDel defines message 'session_rule_add_del'. 1103 type SessionRuleAddDel struct { 1104 TransportProto TransportProto `binapi:"transport_proto,name=transport_proto" json:"transport_proto,omitempty"` 1105 Lcl ip_types.Prefix `binapi:"prefix,name=lcl" json:"lcl,omitempty"` 1106 Rmt ip_types.Prefix `binapi:"prefix,name=rmt" json:"rmt,omitempty"` 1107 LclPort uint16 `binapi:"u16,name=lcl_port" json:"lcl_port,omitempty"` 1108 RmtPort uint16 `binapi:"u16,name=rmt_port" json:"rmt_port,omitempty"` 1109 ActionIndex uint32 `binapi:"u32,name=action_index" json:"action_index,omitempty"` 1110 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` 1111 AppnsIndex uint32 `binapi:"u32,name=appns_index" json:"appns_index,omitempty"` 1112 Scope SessionRuleScope `binapi:"session_rule_scope,name=scope" json:"scope,omitempty"` 1113 Tag string `binapi:"string[64],name=tag" json:"tag,omitempty"` 1114 } 1115 1116 func (m *SessionRuleAddDel) Reset() { *m = SessionRuleAddDel{} } 1117 func (*SessionRuleAddDel) GetMessageName() string { return "session_rule_add_del" } 1118 func (*SessionRuleAddDel) GetCrcString() string { return "82a90af5" } 1119 func (*SessionRuleAddDel) GetMessageType() api.MessageType { 1120 return api.RequestMessage 1121 } 1122 1123 func (m *SessionRuleAddDel) Size() (size int) { 1124 if m == nil { 1125 return 0 1126 } 1127 size += 1 // m.TransportProto 1128 size += 1 // m.Lcl.Address.Af 1129 size += 1 * 16 // m.Lcl.Address.Un 1130 size += 1 // m.Lcl.Len 1131 size += 1 // m.Rmt.Address.Af 1132 size += 1 * 16 // m.Rmt.Address.Un 1133 size += 1 // m.Rmt.Len 1134 size += 2 // m.LclPort 1135 size += 2 // m.RmtPort 1136 size += 4 // m.ActionIndex 1137 size += 1 // m.IsAdd 1138 size += 4 // m.AppnsIndex 1139 size += 4 // m.Scope 1140 size += 64 // m.Tag 1141 return size 1142 } 1143 func (m *SessionRuleAddDel) Marshal(b []byte) ([]byte, error) { 1144 if b == nil { 1145 b = make([]byte, m.Size()) 1146 } 1147 buf := codec.NewBuffer(b) 1148 buf.EncodeUint8(uint8(m.TransportProto)) 1149 buf.EncodeUint8(uint8(m.Lcl.Address.Af)) 1150 buf.EncodeBytes(m.Lcl.Address.Un.XXX_UnionData[:], 16) 1151 buf.EncodeUint8(m.Lcl.Len) 1152 buf.EncodeUint8(uint8(m.Rmt.Address.Af)) 1153 buf.EncodeBytes(m.Rmt.Address.Un.XXX_UnionData[:], 16) 1154 buf.EncodeUint8(m.Rmt.Len) 1155 buf.EncodeUint16(m.LclPort) 1156 buf.EncodeUint16(m.RmtPort) 1157 buf.EncodeUint32(m.ActionIndex) 1158 buf.EncodeBool(m.IsAdd) 1159 buf.EncodeUint32(m.AppnsIndex) 1160 buf.EncodeUint32(uint32(m.Scope)) 1161 buf.EncodeString(m.Tag, 64) 1162 return buf.Bytes(), nil 1163 } 1164 func (m *SessionRuleAddDel) Unmarshal(b []byte) error { 1165 buf := codec.NewBuffer(b) 1166 m.TransportProto = TransportProto(buf.DecodeUint8()) 1167 m.Lcl.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1168 copy(m.Lcl.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1169 m.Lcl.Len = buf.DecodeUint8() 1170 m.Rmt.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1171 copy(m.Rmt.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1172 m.Rmt.Len = buf.DecodeUint8() 1173 m.LclPort = buf.DecodeUint16() 1174 m.RmtPort = buf.DecodeUint16() 1175 m.ActionIndex = buf.DecodeUint32() 1176 m.IsAdd = buf.DecodeBool() 1177 m.AppnsIndex = buf.DecodeUint32() 1178 m.Scope = SessionRuleScope(buf.DecodeUint32()) 1179 m.Tag = buf.DecodeString(64) 1180 return nil 1181 } 1182 1183 // SessionRuleAddDelReply defines message 'session_rule_add_del_reply'. 1184 type SessionRuleAddDelReply struct { 1185 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1186 } 1187 1188 func (m *SessionRuleAddDelReply) Reset() { *m = SessionRuleAddDelReply{} } 1189 func (*SessionRuleAddDelReply) GetMessageName() string { return "session_rule_add_del_reply" } 1190 func (*SessionRuleAddDelReply) GetCrcString() string { return "e8d4e804" } 1191 func (*SessionRuleAddDelReply) GetMessageType() api.MessageType { 1192 return api.ReplyMessage 1193 } 1194 1195 func (m *SessionRuleAddDelReply) Size() (size int) { 1196 if m == nil { 1197 return 0 1198 } 1199 size += 4 // m.Retval 1200 return size 1201 } 1202 func (m *SessionRuleAddDelReply) Marshal(b []byte) ([]byte, error) { 1203 if b == nil { 1204 b = make([]byte, m.Size()) 1205 } 1206 buf := codec.NewBuffer(b) 1207 buf.EncodeInt32(m.Retval) 1208 return buf.Bytes(), nil 1209 } 1210 func (m *SessionRuleAddDelReply) Unmarshal(b []byte) error { 1211 buf := codec.NewBuffer(b) 1212 m.Retval = buf.DecodeInt32() 1213 return nil 1214 } 1215 1216 // Session rules details 1217 // - transport_proto - transport protocol 1218 // - is_ip4 - flag to indicate if ip addresses are ip4 or 6 1219 // - lcl_ip - local ip 1220 // - lcl_plen - local prefix length 1221 // - rmt_ip - remote ip 1222 // - rmt_ple - remote prefix length 1223 // - lcl_port - local port 1224 // - rmt_port - remote port 1225 // - action_index - the only action defined now is forward to 1226 // application with index action_index 1227 // - appns_index - application namespace where rule is to be applied to 1228 // - scope - enum that indicates scope of the rule: global or local. 1229 // If 0, default is global, 1 is global 2 is local, 3 is both 1230 // - tag - tag 1231 // 1232 // SessionRulesDetails defines message 'session_rules_details'. 1233 type SessionRulesDetails struct { 1234 TransportProto TransportProto `binapi:"transport_proto,name=transport_proto" json:"transport_proto,omitempty"` 1235 Lcl ip_types.Prefix `binapi:"prefix,name=lcl" json:"lcl,omitempty"` 1236 Rmt ip_types.Prefix `binapi:"prefix,name=rmt" json:"rmt,omitempty"` 1237 LclPort uint16 `binapi:"u16,name=lcl_port" json:"lcl_port,omitempty"` 1238 RmtPort uint16 `binapi:"u16,name=rmt_port" json:"rmt_port,omitempty"` 1239 ActionIndex uint32 `binapi:"u32,name=action_index" json:"action_index,omitempty"` 1240 AppnsIndex uint32 `binapi:"u32,name=appns_index" json:"appns_index,omitempty"` 1241 Scope SessionRuleScope `binapi:"session_rule_scope,name=scope" json:"scope,omitempty"` 1242 Tag string `binapi:"string[64],name=tag" json:"tag,omitempty"` 1243 } 1244 1245 func (m *SessionRulesDetails) Reset() { *m = SessionRulesDetails{} } 1246 func (*SessionRulesDetails) GetMessageName() string { return "session_rules_details" } 1247 func (*SessionRulesDetails) GetCrcString() string { return "4ef746e7" } 1248 func (*SessionRulesDetails) GetMessageType() api.MessageType { 1249 return api.ReplyMessage 1250 } 1251 1252 func (m *SessionRulesDetails) Size() (size int) { 1253 if m == nil { 1254 return 0 1255 } 1256 size += 1 // m.TransportProto 1257 size += 1 // m.Lcl.Address.Af 1258 size += 1 * 16 // m.Lcl.Address.Un 1259 size += 1 // m.Lcl.Len 1260 size += 1 // m.Rmt.Address.Af 1261 size += 1 * 16 // m.Rmt.Address.Un 1262 size += 1 // m.Rmt.Len 1263 size += 2 // m.LclPort 1264 size += 2 // m.RmtPort 1265 size += 4 // m.ActionIndex 1266 size += 4 // m.AppnsIndex 1267 size += 4 // m.Scope 1268 size += 64 // m.Tag 1269 return size 1270 } 1271 func (m *SessionRulesDetails) Marshal(b []byte) ([]byte, error) { 1272 if b == nil { 1273 b = make([]byte, m.Size()) 1274 } 1275 buf := codec.NewBuffer(b) 1276 buf.EncodeUint8(uint8(m.TransportProto)) 1277 buf.EncodeUint8(uint8(m.Lcl.Address.Af)) 1278 buf.EncodeBytes(m.Lcl.Address.Un.XXX_UnionData[:], 16) 1279 buf.EncodeUint8(m.Lcl.Len) 1280 buf.EncodeUint8(uint8(m.Rmt.Address.Af)) 1281 buf.EncodeBytes(m.Rmt.Address.Un.XXX_UnionData[:], 16) 1282 buf.EncodeUint8(m.Rmt.Len) 1283 buf.EncodeUint16(m.LclPort) 1284 buf.EncodeUint16(m.RmtPort) 1285 buf.EncodeUint32(m.ActionIndex) 1286 buf.EncodeUint32(m.AppnsIndex) 1287 buf.EncodeUint32(uint32(m.Scope)) 1288 buf.EncodeString(m.Tag, 64) 1289 return buf.Bytes(), nil 1290 } 1291 func (m *SessionRulesDetails) Unmarshal(b []byte) error { 1292 buf := codec.NewBuffer(b) 1293 m.TransportProto = TransportProto(buf.DecodeUint8()) 1294 m.Lcl.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1295 copy(m.Lcl.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1296 m.Lcl.Len = buf.DecodeUint8() 1297 m.Rmt.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1298 copy(m.Rmt.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1299 m.Rmt.Len = buf.DecodeUint8() 1300 m.LclPort = buf.DecodeUint16() 1301 m.RmtPort = buf.DecodeUint16() 1302 m.ActionIndex = buf.DecodeUint32() 1303 m.AppnsIndex = buf.DecodeUint32() 1304 m.Scope = SessionRuleScope(buf.DecodeUint32()) 1305 m.Tag = buf.DecodeString(64) 1306 return nil 1307 } 1308 1309 // Dump session rules 1310 // SessionRulesDump defines message 'session_rules_dump'. 1311 type SessionRulesDump struct{} 1312 1313 func (m *SessionRulesDump) Reset() { *m = SessionRulesDump{} } 1314 func (*SessionRulesDump) GetMessageName() string { return "session_rules_dump" } 1315 func (*SessionRulesDump) GetCrcString() string { return "51077d14" } 1316 func (*SessionRulesDump) GetMessageType() api.MessageType { 1317 return api.RequestMessage 1318 } 1319 1320 func (m *SessionRulesDump) Size() (size int) { 1321 if m == nil { 1322 return 0 1323 } 1324 return size 1325 } 1326 func (m *SessionRulesDump) Marshal(b []byte) ([]byte, error) { 1327 if b == nil { 1328 b = make([]byte, m.Size()) 1329 } 1330 buf := codec.NewBuffer(b) 1331 return buf.Bytes(), nil 1332 } 1333 func (m *SessionRulesDump) Unmarshal(b []byte) error { 1334 return nil 1335 } 1336 1337 // enable/disable session layer socket api 1338 // 1339 // client to vpp direction only 1340 // - is_enable - disable session layer if 0, enable otherwise 1341 // 1342 // SessionSapiEnableDisable defines message 'session_sapi_enable_disable'. 1343 type SessionSapiEnableDisable struct { 1344 IsEnable bool `binapi:"bool,name=is_enable,default=true" json:"is_enable,omitempty"` 1345 } 1346 1347 func (m *SessionSapiEnableDisable) Reset() { *m = SessionSapiEnableDisable{} } 1348 func (*SessionSapiEnableDisable) GetMessageName() string { return "session_sapi_enable_disable" } 1349 func (*SessionSapiEnableDisable) GetCrcString() string { return "c264d7bf" } 1350 func (*SessionSapiEnableDisable) GetMessageType() api.MessageType { 1351 return api.RequestMessage 1352 } 1353 1354 func (m *SessionSapiEnableDisable) Size() (size int) { 1355 if m == nil { 1356 return 0 1357 } 1358 size += 1 // m.IsEnable 1359 return size 1360 } 1361 func (m *SessionSapiEnableDisable) Marshal(b []byte) ([]byte, error) { 1362 if b == nil { 1363 b = make([]byte, m.Size()) 1364 } 1365 buf := codec.NewBuffer(b) 1366 buf.EncodeBool(m.IsEnable) 1367 return buf.Bytes(), nil 1368 } 1369 func (m *SessionSapiEnableDisable) Unmarshal(b []byte) error { 1370 buf := codec.NewBuffer(b) 1371 m.IsEnable = buf.DecodeBool() 1372 return nil 1373 } 1374 1375 // SessionSapiEnableDisableReply defines message 'session_sapi_enable_disable_reply'. 1376 type SessionSapiEnableDisableReply struct { 1377 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1378 } 1379 1380 func (m *SessionSapiEnableDisableReply) Reset() { *m = SessionSapiEnableDisableReply{} } 1381 func (*SessionSapiEnableDisableReply) GetMessageName() string { 1382 return "session_sapi_enable_disable_reply" 1383 } 1384 func (*SessionSapiEnableDisableReply) GetCrcString() string { return "e8d4e804" } 1385 func (*SessionSapiEnableDisableReply) GetMessageType() api.MessageType { 1386 return api.ReplyMessage 1387 } 1388 1389 func (m *SessionSapiEnableDisableReply) Size() (size int) { 1390 if m == nil { 1391 return 0 1392 } 1393 size += 4 // m.Retval 1394 return size 1395 } 1396 func (m *SessionSapiEnableDisableReply) Marshal(b []byte) ([]byte, error) { 1397 if b == nil { 1398 b = make([]byte, m.Size()) 1399 } 1400 buf := codec.NewBuffer(b) 1401 buf.EncodeInt32(m.Retval) 1402 return buf.Bytes(), nil 1403 } 1404 func (m *SessionSapiEnableDisableReply) Unmarshal(b []byte) error { 1405 buf := codec.NewBuffer(b) 1406 m.Retval = buf.DecodeInt32() 1407 return nil 1408 } 1409 1410 func init() { file_session_binapi_init() } 1411 func file_session_binapi_init() { 1412 api.RegisterMessage((*AppAddCertKeyPair)(nil), "app_add_cert_key_pair_02eb8016") 1413 api.RegisterMessage((*AppAddCertKeyPairReply)(nil), "app_add_cert_key_pair_reply_b42958d0") 1414 api.RegisterMessage((*AppAttach)(nil), "app_attach_5f4a260d") 1415 api.RegisterMessage((*AppAttachReply)(nil), "app_attach_reply_5c89c3b0") 1416 api.RegisterMessage((*AppDelCertKeyPair)(nil), "app_del_cert_key_pair_8ac76db6") 1417 api.RegisterMessage((*AppDelCertKeyPairReply)(nil), "app_del_cert_key_pair_reply_e8d4e804") 1418 api.RegisterMessage((*AppNamespaceAddDel)(nil), "app_namespace_add_del_6306aecb") 1419 api.RegisterMessage((*AppNamespaceAddDelReply)(nil), "app_namespace_add_del_reply_85137120") 1420 api.RegisterMessage((*AppNamespaceAddDelV2)(nil), "app_namespace_add_del_v2_ee0755cf") 1421 api.RegisterMessage((*AppNamespaceAddDelV2Reply)(nil), "app_namespace_add_del_v2_reply_85137120") 1422 api.RegisterMessage((*AppNamespaceAddDelV3)(nil), "app_namespace_add_del_v3_8a7e40a1") 1423 api.RegisterMessage((*AppNamespaceAddDelV3Reply)(nil), "app_namespace_add_del_v3_reply_85137120") 1424 api.RegisterMessage((*AppNamespaceAddDelV4)(nil), "app_namespace_add_del_v4_42c1d824") 1425 api.RegisterMessage((*AppNamespaceAddDelV4Reply)(nil), "app_namespace_add_del_v4_reply_85137120") 1426 api.RegisterMessage((*AppWorkerAddDel)(nil), "app_worker_add_del_753253dc") 1427 api.RegisterMessage((*AppWorkerAddDelReply)(nil), "app_worker_add_del_reply_5735ffe7") 1428 api.RegisterMessage((*ApplicationDetach)(nil), "application_detach_51077d14") 1429 api.RegisterMessage((*ApplicationDetachReply)(nil), "application_detach_reply_e8d4e804") 1430 api.RegisterMessage((*SessionEnableDisable)(nil), "session_enable_disable_c264d7bf") 1431 api.RegisterMessage((*SessionEnableDisableReply)(nil), "session_enable_disable_reply_e8d4e804") 1432 api.RegisterMessage((*SessionRuleAddDel)(nil), "session_rule_add_del_82a90af5") 1433 api.RegisterMessage((*SessionRuleAddDelReply)(nil), "session_rule_add_del_reply_e8d4e804") 1434 api.RegisterMessage((*SessionRulesDetails)(nil), "session_rules_details_4ef746e7") 1435 api.RegisterMessage((*SessionRulesDump)(nil), "session_rules_dump_51077d14") 1436 api.RegisterMessage((*SessionSapiEnableDisable)(nil), "session_sapi_enable_disable_c264d7bf") 1437 api.RegisterMessage((*SessionSapiEnableDisableReply)(nil), "session_sapi_enable_disable_reply_e8d4e804") 1438 } 1439 1440 // Messages returns list of all messages in this module. 1441 func AllMessages() []api.Message { 1442 return []api.Message{ 1443 (*AppAddCertKeyPair)(nil), 1444 (*AppAddCertKeyPairReply)(nil), 1445 (*AppAttach)(nil), 1446 (*AppAttachReply)(nil), 1447 (*AppDelCertKeyPair)(nil), 1448 (*AppDelCertKeyPairReply)(nil), 1449 (*AppNamespaceAddDel)(nil), 1450 (*AppNamespaceAddDelReply)(nil), 1451 (*AppNamespaceAddDelV2)(nil), 1452 (*AppNamespaceAddDelV2Reply)(nil), 1453 (*AppNamespaceAddDelV3)(nil), 1454 (*AppNamespaceAddDelV3Reply)(nil), 1455 (*AppNamespaceAddDelV4)(nil), 1456 (*AppNamespaceAddDelV4Reply)(nil), 1457 (*AppWorkerAddDel)(nil), 1458 (*AppWorkerAddDelReply)(nil), 1459 (*ApplicationDetach)(nil), 1460 (*ApplicationDetachReply)(nil), 1461 (*SessionEnableDisable)(nil), 1462 (*SessionEnableDisableReply)(nil), 1463 (*SessionRuleAddDel)(nil), 1464 (*SessionRuleAddDelReply)(nil), 1465 (*SessionRulesDetails)(nil), 1466 (*SessionRulesDump)(nil), 1467 (*SessionSapiEnableDisable)(nil), 1468 (*SessionSapiEnableDisableReply)(nil), 1469 } 1470 }