GoVPP release v0.5.0
[govpp.git] / binapi / nat44_ei / nat44_ei.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2 // versions:
3 //  binapi-generator: v0.5.0
4 //  VPP:              22.02-release
5 // source: /usr/share/vpp/api/plugins/nat44_ei.api.json
6
7 // Package nat44_ei contains generated bindings for API file nat44_ei.api.
8 //
9 // Contents:
10 //   1 enum
11 //  78 messages
12 //
13 package nat44_ei
14
15 import (
16         "strconv"
17
18         api "git.fd.io/govpp.git/api"
19         interface_types "git.fd.io/govpp.git/binapi/interface_types"
20         ip_types "git.fd.io/govpp.git/binapi/ip_types"
21         nat_types "git.fd.io/govpp.git/binapi/nat_types"
22         codec "git.fd.io/govpp.git/codec"
23 )
24
25 // This is a compile-time assertion to ensure that this generated file
26 // is compatible with the GoVPP api package it is being compiled against.
27 // A compilation error at this line likely means your copy of the
28 // GoVPP api package needs to be updated.
29 const _ = api.GoVppAPIPackageIsVersion2
30
31 const (
32         APIFile    = "nat44_ei"
33         APIVersion = "1.1.1"
34         VersionCrc = 0xfa6ff1f7
35 )
36
37 // Nat44EiConfigFlags defines enum 'nat44_ei_config_flags'.
38 type Nat44EiConfigFlags uint8
39
40 const (
41         NAT44_EI_NONE                Nat44EiConfigFlags = 0
42         NAT44_EI_STATIC_MAPPING_ONLY Nat44EiConfigFlags = 1
43         NAT44_EI_CONNECTION_TRACKING Nat44EiConfigFlags = 2
44         NAT44_EI_OUT2IN_DPO          Nat44EiConfigFlags = 4
45         NAT44_EI_ADDR_ONLY_MAPPING   Nat44EiConfigFlags = 8
46         NAT44_EI_IF_INSIDE           Nat44EiConfigFlags = 16
47         NAT44_EI_IF_OUTSIDE          Nat44EiConfigFlags = 32
48         NAT44_EI_STATIC_MAPPING      Nat44EiConfigFlags = 64
49 )
50
51 var (
52         Nat44EiConfigFlags_name = map[uint8]string{
53                 0:  "NAT44_EI_NONE",
54                 1:  "NAT44_EI_STATIC_MAPPING_ONLY",
55                 2:  "NAT44_EI_CONNECTION_TRACKING",
56                 4:  "NAT44_EI_OUT2IN_DPO",
57                 8:  "NAT44_EI_ADDR_ONLY_MAPPING",
58                 16: "NAT44_EI_IF_INSIDE",
59                 32: "NAT44_EI_IF_OUTSIDE",
60                 64: "NAT44_EI_STATIC_MAPPING",
61         }
62         Nat44EiConfigFlags_value = map[string]uint8{
63                 "NAT44_EI_NONE":                0,
64                 "NAT44_EI_STATIC_MAPPING_ONLY": 1,
65                 "NAT44_EI_CONNECTION_TRACKING": 2,
66                 "NAT44_EI_OUT2IN_DPO":          4,
67                 "NAT44_EI_ADDR_ONLY_MAPPING":   8,
68                 "NAT44_EI_IF_INSIDE":           16,
69                 "NAT44_EI_IF_OUTSIDE":          32,
70                 "NAT44_EI_STATIC_MAPPING":      64,
71         }
72 )
73
74 func (x Nat44EiConfigFlags) String() string {
75         s, ok := Nat44EiConfigFlags_name[uint8(x)]
76         if ok {
77                 return s
78         }
79         str := func(n uint8) string {
80                 s, ok := Nat44EiConfigFlags_name[uint8(n)]
81                 if ok {
82                         return s
83                 }
84                 return "Nat44EiConfigFlags(" + strconv.Itoa(int(n)) + ")"
85         }
86         for i := uint8(0); i <= 8; i++ {
87                 val := uint8(x)
88                 if val&(1<<i) != 0 {
89                         if s != "" {
90                                 s += "|"
91                         }
92                         s += str(1 << i)
93                 }
94         }
95         if s == "" {
96                 return str(uint8(x))
97         }
98         return s
99 }
100
101 // Nat44EiAddDelAddressRange defines message 'nat44_ei_add_del_address_range'.
102 // InProgress: the message form may change in the future versions
103 type Nat44EiAddDelAddressRange struct {
104         FirstIPAddress ip_types.IP4Address `binapi:"ip4_address,name=first_ip_address" json:"first_ip_address,omitempty"`
105         LastIPAddress  ip_types.IP4Address `binapi:"ip4_address,name=last_ip_address" json:"last_ip_address,omitempty"`
106         VrfID          uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
107         IsAdd          bool                `binapi:"bool,name=is_add" json:"is_add,omitempty"`
108 }
109
110 func (m *Nat44EiAddDelAddressRange) Reset()               { *m = Nat44EiAddDelAddressRange{} }
111 func (*Nat44EiAddDelAddressRange) GetMessageName() string { return "nat44_ei_add_del_address_range" }
112 func (*Nat44EiAddDelAddressRange) GetCrcString() string   { return "35f21abc" }
113 func (*Nat44EiAddDelAddressRange) GetMessageType() api.MessageType {
114         return api.RequestMessage
115 }
116
117 func (m *Nat44EiAddDelAddressRange) Size() (size int) {
118         if m == nil {
119                 return 0
120         }
121         size += 1 * 4 // m.FirstIPAddress
122         size += 1 * 4 // m.LastIPAddress
123         size += 4     // m.VrfID
124         size += 1     // m.IsAdd
125         return size
126 }
127 func (m *Nat44EiAddDelAddressRange) Marshal(b []byte) ([]byte, error) {
128         if b == nil {
129                 b = make([]byte, m.Size())
130         }
131         buf := codec.NewBuffer(b)
132         buf.EncodeBytes(m.FirstIPAddress[:], 4)
133         buf.EncodeBytes(m.LastIPAddress[:], 4)
134         buf.EncodeUint32(m.VrfID)
135         buf.EncodeBool(m.IsAdd)
136         return buf.Bytes(), nil
137 }
138 func (m *Nat44EiAddDelAddressRange) Unmarshal(b []byte) error {
139         buf := codec.NewBuffer(b)
140         copy(m.FirstIPAddress[:], buf.DecodeBytes(4))
141         copy(m.LastIPAddress[:], buf.DecodeBytes(4))
142         m.VrfID = buf.DecodeUint32()
143         m.IsAdd = buf.DecodeBool()
144         return nil
145 }
146
147 // Nat44EiAddDelAddressRangeReply defines message 'nat44_ei_add_del_address_range_reply'.
148 // InProgress: the message form may change in the future versions
149 type Nat44EiAddDelAddressRangeReply struct {
150         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
151 }
152
153 func (m *Nat44EiAddDelAddressRangeReply) Reset() { *m = Nat44EiAddDelAddressRangeReply{} }
154 func (*Nat44EiAddDelAddressRangeReply) GetMessageName() string {
155         return "nat44_ei_add_del_address_range_reply"
156 }
157 func (*Nat44EiAddDelAddressRangeReply) GetCrcString() string { return "e8d4e804" }
158 func (*Nat44EiAddDelAddressRangeReply) GetMessageType() api.MessageType {
159         return api.ReplyMessage
160 }
161
162 func (m *Nat44EiAddDelAddressRangeReply) Size() (size int) {
163         if m == nil {
164                 return 0
165         }
166         size += 4 // m.Retval
167         return size
168 }
169 func (m *Nat44EiAddDelAddressRangeReply) Marshal(b []byte) ([]byte, error) {
170         if b == nil {
171                 b = make([]byte, m.Size())
172         }
173         buf := codec.NewBuffer(b)
174         buf.EncodeInt32(m.Retval)
175         return buf.Bytes(), nil
176 }
177 func (m *Nat44EiAddDelAddressRangeReply) Unmarshal(b []byte) error {
178         buf := codec.NewBuffer(b)
179         m.Retval = buf.DecodeInt32()
180         return nil
181 }
182
183 // Nat44EiAddDelIdentityMapping defines message 'nat44_ei_add_del_identity_mapping'.
184 // Deprecated: the message will be removed in the future versions
185 type Nat44EiAddDelIdentityMapping struct {
186         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
187         Flags     Nat44EiConfigFlags             `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
188         IPAddress ip_types.IP4Address            `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
189         Protocol  uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
190         Port      uint16                         `binapi:"u16,name=port" json:"port,omitempty"`
191         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
192         VrfID     uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
193         Tag       string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
194 }
195
196 func (m *Nat44EiAddDelIdentityMapping) Reset() { *m = Nat44EiAddDelIdentityMapping{} }
197 func (*Nat44EiAddDelIdentityMapping) GetMessageName() string {
198         return "nat44_ei_add_del_identity_mapping"
199 }
200 func (*Nat44EiAddDelIdentityMapping) GetCrcString() string { return "cb8606b9" }
201 func (*Nat44EiAddDelIdentityMapping) GetMessageType() api.MessageType {
202         return api.RequestMessage
203 }
204
205 func (m *Nat44EiAddDelIdentityMapping) Size() (size int) {
206         if m == nil {
207                 return 0
208         }
209         size += 1     // m.IsAdd
210         size += 1     // m.Flags
211         size += 1 * 4 // m.IPAddress
212         size += 1     // m.Protocol
213         size += 2     // m.Port
214         size += 4     // m.SwIfIndex
215         size += 4     // m.VrfID
216         size += 64    // m.Tag
217         return size
218 }
219 func (m *Nat44EiAddDelIdentityMapping) Marshal(b []byte) ([]byte, error) {
220         if b == nil {
221                 b = make([]byte, m.Size())
222         }
223         buf := codec.NewBuffer(b)
224         buf.EncodeBool(m.IsAdd)
225         buf.EncodeUint8(uint8(m.Flags))
226         buf.EncodeBytes(m.IPAddress[:], 4)
227         buf.EncodeUint8(m.Protocol)
228         buf.EncodeUint16(m.Port)
229         buf.EncodeUint32(uint32(m.SwIfIndex))
230         buf.EncodeUint32(m.VrfID)
231         buf.EncodeString(m.Tag, 64)
232         return buf.Bytes(), nil
233 }
234 func (m *Nat44EiAddDelIdentityMapping) Unmarshal(b []byte) error {
235         buf := codec.NewBuffer(b)
236         m.IsAdd = buf.DecodeBool()
237         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
238         copy(m.IPAddress[:], buf.DecodeBytes(4))
239         m.Protocol = buf.DecodeUint8()
240         m.Port = buf.DecodeUint16()
241         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
242         m.VrfID = buf.DecodeUint32()
243         m.Tag = buf.DecodeString(64)
244         return nil
245 }
246
247 // Nat44EiAddDelIdentityMappingReply defines message 'nat44_ei_add_del_identity_mapping_reply'.
248 // Deprecated: the message will be removed in the future versions
249 type Nat44EiAddDelIdentityMappingReply struct {
250         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
251 }
252
253 func (m *Nat44EiAddDelIdentityMappingReply) Reset() { *m = Nat44EiAddDelIdentityMappingReply{} }
254 func (*Nat44EiAddDelIdentityMappingReply) GetMessageName() string {
255         return "nat44_ei_add_del_identity_mapping_reply"
256 }
257 func (*Nat44EiAddDelIdentityMappingReply) GetCrcString() string { return "e8d4e804" }
258 func (*Nat44EiAddDelIdentityMappingReply) GetMessageType() api.MessageType {
259         return api.ReplyMessage
260 }
261
262 func (m *Nat44EiAddDelIdentityMappingReply) Size() (size int) {
263         if m == nil {
264                 return 0
265         }
266         size += 4 // m.Retval
267         return size
268 }
269 func (m *Nat44EiAddDelIdentityMappingReply) Marshal(b []byte) ([]byte, error) {
270         if b == nil {
271                 b = make([]byte, m.Size())
272         }
273         buf := codec.NewBuffer(b)
274         buf.EncodeInt32(m.Retval)
275         return buf.Bytes(), nil
276 }
277 func (m *Nat44EiAddDelIdentityMappingReply) Unmarshal(b []byte) error {
278         buf := codec.NewBuffer(b)
279         m.Retval = buf.DecodeInt32()
280         return nil
281 }
282
283 // Nat44EiAddDelInterfaceAddr defines message 'nat44_ei_add_del_interface_addr'.
284 // Deprecated: the message will be removed in the future versions
285 type Nat44EiAddDelInterfaceAddr struct {
286         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
287         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
288         Flags     Nat44EiConfigFlags             `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
289 }
290
291 func (m *Nat44EiAddDelInterfaceAddr) Reset()               { *m = Nat44EiAddDelInterfaceAddr{} }
292 func (*Nat44EiAddDelInterfaceAddr) GetMessageName() string { return "nat44_ei_add_del_interface_addr" }
293 func (*Nat44EiAddDelInterfaceAddr) GetCrcString() string   { return "883abbcc" }
294 func (*Nat44EiAddDelInterfaceAddr) GetMessageType() api.MessageType {
295         return api.RequestMessage
296 }
297
298 func (m *Nat44EiAddDelInterfaceAddr) Size() (size int) {
299         if m == nil {
300                 return 0
301         }
302         size += 1 // m.IsAdd
303         size += 4 // m.SwIfIndex
304         size += 1 // m.Flags
305         return size
306 }
307 func (m *Nat44EiAddDelInterfaceAddr) Marshal(b []byte) ([]byte, error) {
308         if b == nil {
309                 b = make([]byte, m.Size())
310         }
311         buf := codec.NewBuffer(b)
312         buf.EncodeBool(m.IsAdd)
313         buf.EncodeUint32(uint32(m.SwIfIndex))
314         buf.EncodeUint8(uint8(m.Flags))
315         return buf.Bytes(), nil
316 }
317 func (m *Nat44EiAddDelInterfaceAddr) Unmarshal(b []byte) error {
318         buf := codec.NewBuffer(b)
319         m.IsAdd = buf.DecodeBool()
320         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
321         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
322         return nil
323 }
324
325 // Nat44EiAddDelInterfaceAddrReply defines message 'nat44_ei_add_del_interface_addr_reply'.
326 // Deprecated: the message will be removed in the future versions
327 type Nat44EiAddDelInterfaceAddrReply struct {
328         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
329 }
330
331 func (m *Nat44EiAddDelInterfaceAddrReply) Reset() { *m = Nat44EiAddDelInterfaceAddrReply{} }
332 func (*Nat44EiAddDelInterfaceAddrReply) GetMessageName() string {
333         return "nat44_ei_add_del_interface_addr_reply"
334 }
335 func (*Nat44EiAddDelInterfaceAddrReply) GetCrcString() string { return "e8d4e804" }
336 func (*Nat44EiAddDelInterfaceAddrReply) GetMessageType() api.MessageType {
337         return api.ReplyMessage
338 }
339
340 func (m *Nat44EiAddDelInterfaceAddrReply) Size() (size int) {
341         if m == nil {
342                 return 0
343         }
344         size += 4 // m.Retval
345         return size
346 }
347 func (m *Nat44EiAddDelInterfaceAddrReply) Marshal(b []byte) ([]byte, error) {
348         if b == nil {
349                 b = make([]byte, m.Size())
350         }
351         buf := codec.NewBuffer(b)
352         buf.EncodeInt32(m.Retval)
353         return buf.Bytes(), nil
354 }
355 func (m *Nat44EiAddDelInterfaceAddrReply) Unmarshal(b []byte) error {
356         buf := codec.NewBuffer(b)
357         m.Retval = buf.DecodeInt32()
358         return nil
359 }
360
361 // Nat44EiAddDelOutputInterface defines message 'nat44_ei_add_del_output_interface'.
362 type Nat44EiAddDelOutputInterface struct {
363         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
364         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
365 }
366
367 func (m *Nat44EiAddDelOutputInterface) Reset() { *m = Nat44EiAddDelOutputInterface{} }
368 func (*Nat44EiAddDelOutputInterface) GetMessageName() string {
369         return "nat44_ei_add_del_output_interface"
370 }
371 func (*Nat44EiAddDelOutputInterface) GetCrcString() string { return "47d6e753" }
372 func (*Nat44EiAddDelOutputInterface) GetMessageType() api.MessageType {
373         return api.RequestMessage
374 }
375
376 func (m *Nat44EiAddDelOutputInterface) Size() (size int) {
377         if m == nil {
378                 return 0
379         }
380         size += 1 // m.IsAdd
381         size += 4 // m.SwIfIndex
382         return size
383 }
384 func (m *Nat44EiAddDelOutputInterface) Marshal(b []byte) ([]byte, error) {
385         if b == nil {
386                 b = make([]byte, m.Size())
387         }
388         buf := codec.NewBuffer(b)
389         buf.EncodeBool(m.IsAdd)
390         buf.EncodeUint32(uint32(m.SwIfIndex))
391         return buf.Bytes(), nil
392 }
393 func (m *Nat44EiAddDelOutputInterface) Unmarshal(b []byte) error {
394         buf := codec.NewBuffer(b)
395         m.IsAdd = buf.DecodeBool()
396         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
397         return nil
398 }
399
400 // Nat44EiAddDelOutputInterfaceReply defines message 'nat44_ei_add_del_output_interface_reply'.
401 type Nat44EiAddDelOutputInterfaceReply struct {
402         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
403 }
404
405 func (m *Nat44EiAddDelOutputInterfaceReply) Reset() { *m = Nat44EiAddDelOutputInterfaceReply{} }
406 func (*Nat44EiAddDelOutputInterfaceReply) GetMessageName() string {
407         return "nat44_ei_add_del_output_interface_reply"
408 }
409 func (*Nat44EiAddDelOutputInterfaceReply) GetCrcString() string { return "e8d4e804" }
410 func (*Nat44EiAddDelOutputInterfaceReply) GetMessageType() api.MessageType {
411         return api.ReplyMessage
412 }
413
414 func (m *Nat44EiAddDelOutputInterfaceReply) Size() (size int) {
415         if m == nil {
416                 return 0
417         }
418         size += 4 // m.Retval
419         return size
420 }
421 func (m *Nat44EiAddDelOutputInterfaceReply) Marshal(b []byte) ([]byte, error) {
422         if b == nil {
423                 b = make([]byte, m.Size())
424         }
425         buf := codec.NewBuffer(b)
426         buf.EncodeInt32(m.Retval)
427         return buf.Bytes(), nil
428 }
429 func (m *Nat44EiAddDelOutputInterfaceReply) Unmarshal(b []byte) error {
430         buf := codec.NewBuffer(b)
431         m.Retval = buf.DecodeInt32()
432         return nil
433 }
434
435 // Nat44EiAddDelStaticMapping defines message 'nat44_ei_add_del_static_mapping'.
436 // InProgress: the message form may change in the future versions
437 type Nat44EiAddDelStaticMapping struct {
438         IsAdd             bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
439         Flags             Nat44EiConfigFlags             `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
440         LocalIPAddress    ip_types.IP4Address            `binapi:"ip4_address,name=local_ip_address" json:"local_ip_address,omitempty"`
441         ExternalIPAddress ip_types.IP4Address            `binapi:"ip4_address,name=external_ip_address" json:"external_ip_address,omitempty"`
442         Protocol          uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
443         LocalPort         uint16                         `binapi:"u16,name=local_port" json:"local_port,omitempty"`
444         ExternalPort      uint16                         `binapi:"u16,name=external_port" json:"external_port,omitempty"`
445         ExternalSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=external_sw_if_index" json:"external_sw_if_index,omitempty"`
446         VrfID             uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
447         Tag               string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
448 }
449
450 func (m *Nat44EiAddDelStaticMapping) Reset()               { *m = Nat44EiAddDelStaticMapping{} }
451 func (*Nat44EiAddDelStaticMapping) GetMessageName() string { return "nat44_ei_add_del_static_mapping" }
452 func (*Nat44EiAddDelStaticMapping) GetCrcString() string   { return "b404b7fe" }
453 func (*Nat44EiAddDelStaticMapping) GetMessageType() api.MessageType {
454         return api.RequestMessage
455 }
456
457 func (m *Nat44EiAddDelStaticMapping) Size() (size int) {
458         if m == nil {
459                 return 0
460         }
461         size += 1     // m.IsAdd
462         size += 1     // m.Flags
463         size += 1 * 4 // m.LocalIPAddress
464         size += 1 * 4 // m.ExternalIPAddress
465         size += 1     // m.Protocol
466         size += 2     // m.LocalPort
467         size += 2     // m.ExternalPort
468         size += 4     // m.ExternalSwIfIndex
469         size += 4     // m.VrfID
470         size += 64    // m.Tag
471         return size
472 }
473 func (m *Nat44EiAddDelStaticMapping) Marshal(b []byte) ([]byte, error) {
474         if b == nil {
475                 b = make([]byte, m.Size())
476         }
477         buf := codec.NewBuffer(b)
478         buf.EncodeBool(m.IsAdd)
479         buf.EncodeUint8(uint8(m.Flags))
480         buf.EncodeBytes(m.LocalIPAddress[:], 4)
481         buf.EncodeBytes(m.ExternalIPAddress[:], 4)
482         buf.EncodeUint8(m.Protocol)
483         buf.EncodeUint16(m.LocalPort)
484         buf.EncodeUint16(m.ExternalPort)
485         buf.EncodeUint32(uint32(m.ExternalSwIfIndex))
486         buf.EncodeUint32(m.VrfID)
487         buf.EncodeString(m.Tag, 64)
488         return buf.Bytes(), nil
489 }
490 func (m *Nat44EiAddDelStaticMapping) Unmarshal(b []byte) error {
491         buf := codec.NewBuffer(b)
492         m.IsAdd = buf.DecodeBool()
493         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
494         copy(m.LocalIPAddress[:], buf.DecodeBytes(4))
495         copy(m.ExternalIPAddress[:], buf.DecodeBytes(4))
496         m.Protocol = buf.DecodeUint8()
497         m.LocalPort = buf.DecodeUint16()
498         m.ExternalPort = buf.DecodeUint16()
499         m.ExternalSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
500         m.VrfID = buf.DecodeUint32()
501         m.Tag = buf.DecodeString(64)
502         return nil
503 }
504
505 // Nat44EiAddDelStaticMappingReply defines message 'nat44_ei_add_del_static_mapping_reply'.
506 // InProgress: the message form may change in the future versions
507 type Nat44EiAddDelStaticMappingReply struct {
508         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
509 }
510
511 func (m *Nat44EiAddDelStaticMappingReply) Reset() { *m = Nat44EiAddDelStaticMappingReply{} }
512 func (*Nat44EiAddDelStaticMappingReply) GetMessageName() string {
513         return "nat44_ei_add_del_static_mapping_reply"
514 }
515 func (*Nat44EiAddDelStaticMappingReply) GetCrcString() string { return "e8d4e804" }
516 func (*Nat44EiAddDelStaticMappingReply) GetMessageType() api.MessageType {
517         return api.ReplyMessage
518 }
519
520 func (m *Nat44EiAddDelStaticMappingReply) Size() (size int) {
521         if m == nil {
522                 return 0
523         }
524         size += 4 // m.Retval
525         return size
526 }
527 func (m *Nat44EiAddDelStaticMappingReply) Marshal(b []byte) ([]byte, error) {
528         if b == nil {
529                 b = make([]byte, m.Size())
530         }
531         buf := codec.NewBuffer(b)
532         buf.EncodeInt32(m.Retval)
533         return buf.Bytes(), nil
534 }
535 func (m *Nat44EiAddDelStaticMappingReply) Unmarshal(b []byte) error {
536         buf := codec.NewBuffer(b)
537         m.Retval = buf.DecodeInt32()
538         return nil
539 }
540
541 // Nat44EiAddressDetails defines message 'nat44_ei_address_details'.
542 // InProgress: the message form may change in the future versions
543 type Nat44EiAddressDetails struct {
544         IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
545         VrfID     uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
546 }
547
548 func (m *Nat44EiAddressDetails) Reset()               { *m = Nat44EiAddressDetails{} }
549 func (*Nat44EiAddressDetails) GetMessageName() string { return "nat44_ei_address_details" }
550 func (*Nat44EiAddressDetails) GetCrcString() string   { return "318f1202" }
551 func (*Nat44EiAddressDetails) GetMessageType() api.MessageType {
552         return api.ReplyMessage
553 }
554
555 func (m *Nat44EiAddressDetails) Size() (size int) {
556         if m == nil {
557                 return 0
558         }
559         size += 1 * 4 // m.IPAddress
560         size += 4     // m.VrfID
561         return size
562 }
563 func (m *Nat44EiAddressDetails) Marshal(b []byte) ([]byte, error) {
564         if b == nil {
565                 b = make([]byte, m.Size())
566         }
567         buf := codec.NewBuffer(b)
568         buf.EncodeBytes(m.IPAddress[:], 4)
569         buf.EncodeUint32(m.VrfID)
570         return buf.Bytes(), nil
571 }
572 func (m *Nat44EiAddressDetails) Unmarshal(b []byte) error {
573         buf := codec.NewBuffer(b)
574         copy(m.IPAddress[:], buf.DecodeBytes(4))
575         m.VrfID = buf.DecodeUint32()
576         return nil
577 }
578
579 // Nat44EiAddressDump defines message 'nat44_ei_address_dump'.
580 // InProgress: the message form may change in the future versions
581 type Nat44EiAddressDump struct{}
582
583 func (m *Nat44EiAddressDump) Reset()               { *m = Nat44EiAddressDump{} }
584 func (*Nat44EiAddressDump) GetMessageName() string { return "nat44_ei_address_dump" }
585 func (*Nat44EiAddressDump) GetCrcString() string   { return "51077d14" }
586 func (*Nat44EiAddressDump) GetMessageType() api.MessageType {
587         return api.RequestMessage
588 }
589
590 func (m *Nat44EiAddressDump) Size() (size int) {
591         if m == nil {
592                 return 0
593         }
594         return size
595 }
596 func (m *Nat44EiAddressDump) Marshal(b []byte) ([]byte, error) {
597         if b == nil {
598                 b = make([]byte, m.Size())
599         }
600         buf := codec.NewBuffer(b)
601         return buf.Bytes(), nil
602 }
603 func (m *Nat44EiAddressDump) Unmarshal(b []byte) error {
604         return nil
605 }
606
607 // Nat44EiDelSession defines message 'nat44_ei_del_session'.
608 // InProgress: the message form may change in the future versions
609 type Nat44EiDelSession struct {
610         Address        ip_types.IP4Address `binapi:"ip4_address,name=address" json:"address,omitempty"`
611         Protocol       uint8               `binapi:"u8,name=protocol" json:"protocol,omitempty"`
612         Port           uint16              `binapi:"u16,name=port" json:"port,omitempty"`
613         VrfID          uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
614         Flags          Nat44EiConfigFlags  `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
615         ExtHostAddress ip_types.IP4Address `binapi:"ip4_address,name=ext_host_address" json:"ext_host_address,omitempty"`
616         ExtHostPort    uint16              `binapi:"u16,name=ext_host_port" json:"ext_host_port,omitempty"`
617 }
618
619 func (m *Nat44EiDelSession) Reset()               { *m = Nat44EiDelSession{} }
620 func (*Nat44EiDelSession) GetMessageName() string { return "nat44_ei_del_session" }
621 func (*Nat44EiDelSession) GetCrcString() string   { return "74969ffe" }
622 func (*Nat44EiDelSession) GetMessageType() api.MessageType {
623         return api.RequestMessage
624 }
625
626 func (m *Nat44EiDelSession) Size() (size int) {
627         if m == nil {
628                 return 0
629         }
630         size += 1 * 4 // m.Address
631         size += 1     // m.Protocol
632         size += 2     // m.Port
633         size += 4     // m.VrfID
634         size += 1     // m.Flags
635         size += 1 * 4 // m.ExtHostAddress
636         size += 2     // m.ExtHostPort
637         return size
638 }
639 func (m *Nat44EiDelSession) Marshal(b []byte) ([]byte, error) {
640         if b == nil {
641                 b = make([]byte, m.Size())
642         }
643         buf := codec.NewBuffer(b)
644         buf.EncodeBytes(m.Address[:], 4)
645         buf.EncodeUint8(m.Protocol)
646         buf.EncodeUint16(m.Port)
647         buf.EncodeUint32(m.VrfID)
648         buf.EncodeUint8(uint8(m.Flags))
649         buf.EncodeBytes(m.ExtHostAddress[:], 4)
650         buf.EncodeUint16(m.ExtHostPort)
651         return buf.Bytes(), nil
652 }
653 func (m *Nat44EiDelSession) Unmarshal(b []byte) error {
654         buf := codec.NewBuffer(b)
655         copy(m.Address[:], buf.DecodeBytes(4))
656         m.Protocol = buf.DecodeUint8()
657         m.Port = buf.DecodeUint16()
658         m.VrfID = buf.DecodeUint32()
659         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
660         copy(m.ExtHostAddress[:], buf.DecodeBytes(4))
661         m.ExtHostPort = buf.DecodeUint16()
662         return nil
663 }
664
665 // Nat44EiDelSessionReply defines message 'nat44_ei_del_session_reply'.
666 // InProgress: the message form may change in the future versions
667 type Nat44EiDelSessionReply struct {
668         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
669 }
670
671 func (m *Nat44EiDelSessionReply) Reset()               { *m = Nat44EiDelSessionReply{} }
672 func (*Nat44EiDelSessionReply) GetMessageName() string { return "nat44_ei_del_session_reply" }
673 func (*Nat44EiDelSessionReply) GetCrcString() string   { return "e8d4e804" }
674 func (*Nat44EiDelSessionReply) GetMessageType() api.MessageType {
675         return api.ReplyMessage
676 }
677
678 func (m *Nat44EiDelSessionReply) Size() (size int) {
679         if m == nil {
680                 return 0
681         }
682         size += 4 // m.Retval
683         return size
684 }
685 func (m *Nat44EiDelSessionReply) Marshal(b []byte) ([]byte, error) {
686         if b == nil {
687                 b = make([]byte, m.Size())
688         }
689         buf := codec.NewBuffer(b)
690         buf.EncodeInt32(m.Retval)
691         return buf.Bytes(), nil
692 }
693 func (m *Nat44EiDelSessionReply) Unmarshal(b []byte) error {
694         buf := codec.NewBuffer(b)
695         m.Retval = buf.DecodeInt32()
696         return nil
697 }
698
699 // Nat44EiDelUser defines message 'nat44_ei_del_user'.
700 // InProgress: the message form may change in the future versions
701 type Nat44EiDelUser struct {
702         IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
703         FibIndex  uint32              `binapi:"u32,name=fib_index" json:"fib_index,omitempty"`
704 }
705
706 func (m *Nat44EiDelUser) Reset()               { *m = Nat44EiDelUser{} }
707 func (*Nat44EiDelUser) GetMessageName() string { return "nat44_ei_del_user" }
708 func (*Nat44EiDelUser) GetCrcString() string   { return "99a9f998" }
709 func (*Nat44EiDelUser) GetMessageType() api.MessageType {
710         return api.RequestMessage
711 }
712
713 func (m *Nat44EiDelUser) Size() (size int) {
714         if m == nil {
715                 return 0
716         }
717         size += 1 * 4 // m.IPAddress
718         size += 4     // m.FibIndex
719         return size
720 }
721 func (m *Nat44EiDelUser) Marshal(b []byte) ([]byte, error) {
722         if b == nil {
723                 b = make([]byte, m.Size())
724         }
725         buf := codec.NewBuffer(b)
726         buf.EncodeBytes(m.IPAddress[:], 4)
727         buf.EncodeUint32(m.FibIndex)
728         return buf.Bytes(), nil
729 }
730 func (m *Nat44EiDelUser) Unmarshal(b []byte) error {
731         buf := codec.NewBuffer(b)
732         copy(m.IPAddress[:], buf.DecodeBytes(4))
733         m.FibIndex = buf.DecodeUint32()
734         return nil
735 }
736
737 // Nat44EiDelUserReply defines message 'nat44_ei_del_user_reply'.
738 // InProgress: the message form may change in the future versions
739 type Nat44EiDelUserReply struct {
740         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
741 }
742
743 func (m *Nat44EiDelUserReply) Reset()               { *m = Nat44EiDelUserReply{} }
744 func (*Nat44EiDelUserReply) GetMessageName() string { return "nat44_ei_del_user_reply" }
745 func (*Nat44EiDelUserReply) GetCrcString() string   { return "e8d4e804" }
746 func (*Nat44EiDelUserReply) GetMessageType() api.MessageType {
747         return api.ReplyMessage
748 }
749
750 func (m *Nat44EiDelUserReply) Size() (size int) {
751         if m == nil {
752                 return 0
753         }
754         size += 4 // m.Retval
755         return size
756 }
757 func (m *Nat44EiDelUserReply) Marshal(b []byte) ([]byte, error) {
758         if b == nil {
759                 b = make([]byte, m.Size())
760         }
761         buf := codec.NewBuffer(b)
762         buf.EncodeInt32(m.Retval)
763         return buf.Bytes(), nil
764 }
765 func (m *Nat44EiDelUserReply) Unmarshal(b []byte) error {
766         buf := codec.NewBuffer(b)
767         m.Retval = buf.DecodeInt32()
768         return nil
769 }
770
771 // Nat44EiForwardingEnableDisable defines message 'nat44_ei_forwarding_enable_disable'.
772 // InProgress: the message form may change in the future versions
773 type Nat44EiForwardingEnableDisable struct {
774         Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
775 }
776
777 func (m *Nat44EiForwardingEnableDisable) Reset() { *m = Nat44EiForwardingEnableDisable{} }
778 func (*Nat44EiForwardingEnableDisable) GetMessageName() string {
779         return "nat44_ei_forwarding_enable_disable"
780 }
781 func (*Nat44EiForwardingEnableDisable) GetCrcString() string { return "b3e225d2" }
782 func (*Nat44EiForwardingEnableDisable) GetMessageType() api.MessageType {
783         return api.RequestMessage
784 }
785
786 func (m *Nat44EiForwardingEnableDisable) Size() (size int) {
787         if m == nil {
788                 return 0
789         }
790         size += 1 // m.Enable
791         return size
792 }
793 func (m *Nat44EiForwardingEnableDisable) Marshal(b []byte) ([]byte, error) {
794         if b == nil {
795                 b = make([]byte, m.Size())
796         }
797         buf := codec.NewBuffer(b)
798         buf.EncodeBool(m.Enable)
799         return buf.Bytes(), nil
800 }
801 func (m *Nat44EiForwardingEnableDisable) Unmarshal(b []byte) error {
802         buf := codec.NewBuffer(b)
803         m.Enable = buf.DecodeBool()
804         return nil
805 }
806
807 // Nat44EiForwardingEnableDisableReply defines message 'nat44_ei_forwarding_enable_disable_reply'.
808 // InProgress: the message form may change in the future versions
809 type Nat44EiForwardingEnableDisableReply struct {
810         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
811 }
812
813 func (m *Nat44EiForwardingEnableDisableReply) Reset() { *m = Nat44EiForwardingEnableDisableReply{} }
814 func (*Nat44EiForwardingEnableDisableReply) GetMessageName() string {
815         return "nat44_ei_forwarding_enable_disable_reply"
816 }
817 func (*Nat44EiForwardingEnableDisableReply) GetCrcString() string { return "e8d4e804" }
818 func (*Nat44EiForwardingEnableDisableReply) GetMessageType() api.MessageType {
819         return api.ReplyMessage
820 }
821
822 func (m *Nat44EiForwardingEnableDisableReply) Size() (size int) {
823         if m == nil {
824                 return 0
825         }
826         size += 4 // m.Retval
827         return size
828 }
829 func (m *Nat44EiForwardingEnableDisableReply) Marshal(b []byte) ([]byte, error) {
830         if b == nil {
831                 b = make([]byte, m.Size())
832         }
833         buf := codec.NewBuffer(b)
834         buf.EncodeInt32(m.Retval)
835         return buf.Bytes(), nil
836 }
837 func (m *Nat44EiForwardingEnableDisableReply) Unmarshal(b []byte) error {
838         buf := codec.NewBuffer(b)
839         m.Retval = buf.DecodeInt32()
840         return nil
841 }
842
843 // Nat44EiGetAddrAndPortAllocAlg defines message 'nat44_ei_get_addr_and_port_alloc_alg'.
844 // Deprecated: the message will be removed in the future versions
845 type Nat44EiGetAddrAndPortAllocAlg struct{}
846
847 func (m *Nat44EiGetAddrAndPortAllocAlg) Reset() { *m = Nat44EiGetAddrAndPortAllocAlg{} }
848 func (*Nat44EiGetAddrAndPortAllocAlg) GetMessageName() string {
849         return "nat44_ei_get_addr_and_port_alloc_alg"
850 }
851 func (*Nat44EiGetAddrAndPortAllocAlg) GetCrcString() string { return "51077d14" }
852 func (*Nat44EiGetAddrAndPortAllocAlg) GetMessageType() api.MessageType {
853         return api.RequestMessage
854 }
855
856 func (m *Nat44EiGetAddrAndPortAllocAlg) Size() (size int) {
857         if m == nil {
858                 return 0
859         }
860         return size
861 }
862 func (m *Nat44EiGetAddrAndPortAllocAlg) Marshal(b []byte) ([]byte, error) {
863         if b == nil {
864                 b = make([]byte, m.Size())
865         }
866         buf := codec.NewBuffer(b)
867         return buf.Bytes(), nil
868 }
869 func (m *Nat44EiGetAddrAndPortAllocAlg) Unmarshal(b []byte) error {
870         return nil
871 }
872
873 // Nat44EiGetAddrAndPortAllocAlgReply defines message 'nat44_ei_get_addr_and_port_alloc_alg_reply'.
874 // Deprecated: the message will be removed in the future versions
875 type Nat44EiGetAddrAndPortAllocAlgReply struct {
876         Retval     int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
877         Alg        uint8  `binapi:"u8,name=alg" json:"alg,omitempty"`
878         PsidOffset uint8  `binapi:"u8,name=psid_offset" json:"psid_offset,omitempty"`
879         PsidLength uint8  `binapi:"u8,name=psid_length" json:"psid_length,omitempty"`
880         Psid       uint16 `binapi:"u16,name=psid" json:"psid,omitempty"`
881         StartPort  uint16 `binapi:"u16,name=start_port" json:"start_port,omitempty"`
882         EndPort    uint16 `binapi:"u16,name=end_port" json:"end_port,omitempty"`
883 }
884
885 func (m *Nat44EiGetAddrAndPortAllocAlgReply) Reset() { *m = Nat44EiGetAddrAndPortAllocAlgReply{} }
886 func (*Nat44EiGetAddrAndPortAllocAlgReply) GetMessageName() string {
887         return "nat44_ei_get_addr_and_port_alloc_alg_reply"
888 }
889 func (*Nat44EiGetAddrAndPortAllocAlgReply) GetCrcString() string { return "3607a7d0" }
890 func (*Nat44EiGetAddrAndPortAllocAlgReply) GetMessageType() api.MessageType {
891         return api.ReplyMessage
892 }
893
894 func (m *Nat44EiGetAddrAndPortAllocAlgReply) Size() (size int) {
895         if m == nil {
896                 return 0
897         }
898         size += 4 // m.Retval
899         size += 1 // m.Alg
900         size += 1 // m.PsidOffset
901         size += 1 // m.PsidLength
902         size += 2 // m.Psid
903         size += 2 // m.StartPort
904         size += 2 // m.EndPort
905         return size
906 }
907 func (m *Nat44EiGetAddrAndPortAllocAlgReply) Marshal(b []byte) ([]byte, error) {
908         if b == nil {
909                 b = make([]byte, m.Size())
910         }
911         buf := codec.NewBuffer(b)
912         buf.EncodeInt32(m.Retval)
913         buf.EncodeUint8(m.Alg)
914         buf.EncodeUint8(m.PsidOffset)
915         buf.EncodeUint8(m.PsidLength)
916         buf.EncodeUint16(m.Psid)
917         buf.EncodeUint16(m.StartPort)
918         buf.EncodeUint16(m.EndPort)
919         return buf.Bytes(), nil
920 }
921 func (m *Nat44EiGetAddrAndPortAllocAlgReply) Unmarshal(b []byte) error {
922         buf := codec.NewBuffer(b)
923         m.Retval = buf.DecodeInt32()
924         m.Alg = buf.DecodeUint8()
925         m.PsidOffset = buf.DecodeUint8()
926         m.PsidLength = buf.DecodeUint8()
927         m.Psid = buf.DecodeUint16()
928         m.StartPort = buf.DecodeUint16()
929         m.EndPort = buf.DecodeUint16()
930         return nil
931 }
932
933 // Nat44EiGetMssClamping defines message 'nat44_ei_get_mss_clamping'.
934 // Deprecated: the message will be removed in the future versions
935 type Nat44EiGetMssClamping struct{}
936
937 func (m *Nat44EiGetMssClamping) Reset()               { *m = Nat44EiGetMssClamping{} }
938 func (*Nat44EiGetMssClamping) GetMessageName() string { return "nat44_ei_get_mss_clamping" }
939 func (*Nat44EiGetMssClamping) GetCrcString() string   { return "51077d14" }
940 func (*Nat44EiGetMssClamping) GetMessageType() api.MessageType {
941         return api.RequestMessage
942 }
943
944 func (m *Nat44EiGetMssClamping) Size() (size int) {
945         if m == nil {
946                 return 0
947         }
948         return size
949 }
950 func (m *Nat44EiGetMssClamping) Marshal(b []byte) ([]byte, error) {
951         if b == nil {
952                 b = make([]byte, m.Size())
953         }
954         buf := codec.NewBuffer(b)
955         return buf.Bytes(), nil
956 }
957 func (m *Nat44EiGetMssClamping) Unmarshal(b []byte) error {
958         return nil
959 }
960
961 // Nat44EiGetMssClampingReply defines message 'nat44_ei_get_mss_clamping_reply'.
962 // Deprecated: the message will be removed in the future versions
963 type Nat44EiGetMssClampingReply struct {
964         Retval   int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
965         MssValue uint16 `binapi:"u16,name=mss_value" json:"mss_value,omitempty"`
966         Enable   bool   `binapi:"bool,name=enable" json:"enable,omitempty"`
967 }
968
969 func (m *Nat44EiGetMssClampingReply) Reset()               { *m = Nat44EiGetMssClampingReply{} }
970 func (*Nat44EiGetMssClampingReply) GetMessageName() string { return "nat44_ei_get_mss_clamping_reply" }
971 func (*Nat44EiGetMssClampingReply) GetCrcString() string   { return "1c0b2a78" }
972 func (*Nat44EiGetMssClampingReply) GetMessageType() api.MessageType {
973         return api.ReplyMessage
974 }
975
976 func (m *Nat44EiGetMssClampingReply) Size() (size int) {
977         if m == nil {
978                 return 0
979         }
980         size += 4 // m.Retval
981         size += 2 // m.MssValue
982         size += 1 // m.Enable
983         return size
984 }
985 func (m *Nat44EiGetMssClampingReply) Marshal(b []byte) ([]byte, error) {
986         if b == nil {
987                 b = make([]byte, m.Size())
988         }
989         buf := codec.NewBuffer(b)
990         buf.EncodeInt32(m.Retval)
991         buf.EncodeUint16(m.MssValue)
992         buf.EncodeBool(m.Enable)
993         return buf.Bytes(), nil
994 }
995 func (m *Nat44EiGetMssClampingReply) Unmarshal(b []byte) error {
996         buf := codec.NewBuffer(b)
997         m.Retval = buf.DecodeInt32()
998         m.MssValue = buf.DecodeUint16()
999         m.Enable = buf.DecodeBool()
1000         return nil
1001 }
1002
1003 // Nat44EiHaFlush defines message 'nat44_ei_ha_flush'.
1004 // InProgress: the message form may change in the future versions
1005 type Nat44EiHaFlush struct{}
1006
1007 func (m *Nat44EiHaFlush) Reset()               { *m = Nat44EiHaFlush{} }
1008 func (*Nat44EiHaFlush) GetMessageName() string { return "nat44_ei_ha_flush" }
1009 func (*Nat44EiHaFlush) GetCrcString() string   { return "51077d14" }
1010 func (*Nat44EiHaFlush) GetMessageType() api.MessageType {
1011         return api.RequestMessage
1012 }
1013
1014 func (m *Nat44EiHaFlush) Size() (size int) {
1015         if m == nil {
1016                 return 0
1017         }
1018         return size
1019 }
1020 func (m *Nat44EiHaFlush) Marshal(b []byte) ([]byte, error) {
1021         if b == nil {
1022                 b = make([]byte, m.Size())
1023         }
1024         buf := codec.NewBuffer(b)
1025         return buf.Bytes(), nil
1026 }
1027 func (m *Nat44EiHaFlush) Unmarshal(b []byte) error {
1028         return nil
1029 }
1030
1031 // Nat44EiHaFlushReply defines message 'nat44_ei_ha_flush_reply'.
1032 // InProgress: the message form may change in the future versions
1033 type Nat44EiHaFlushReply struct {
1034         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1035 }
1036
1037 func (m *Nat44EiHaFlushReply) Reset()               { *m = Nat44EiHaFlushReply{} }
1038 func (*Nat44EiHaFlushReply) GetMessageName() string { return "nat44_ei_ha_flush_reply" }
1039 func (*Nat44EiHaFlushReply) GetCrcString() string   { return "e8d4e804" }
1040 func (*Nat44EiHaFlushReply) GetMessageType() api.MessageType {
1041         return api.ReplyMessage
1042 }
1043
1044 func (m *Nat44EiHaFlushReply) Size() (size int) {
1045         if m == nil {
1046                 return 0
1047         }
1048         size += 4 // m.Retval
1049         return size
1050 }
1051 func (m *Nat44EiHaFlushReply) Marshal(b []byte) ([]byte, error) {
1052         if b == nil {
1053                 b = make([]byte, m.Size())
1054         }
1055         buf := codec.NewBuffer(b)
1056         buf.EncodeInt32(m.Retval)
1057         return buf.Bytes(), nil
1058 }
1059 func (m *Nat44EiHaFlushReply) Unmarshal(b []byte) error {
1060         buf := codec.NewBuffer(b)
1061         m.Retval = buf.DecodeInt32()
1062         return nil
1063 }
1064
1065 // Nat44EiHaGetFailover defines message 'nat44_ei_ha_get_failover'.
1066 // Deprecated: the message will be removed in the future versions
1067 type Nat44EiHaGetFailover struct{}
1068
1069 func (m *Nat44EiHaGetFailover) Reset()               { *m = Nat44EiHaGetFailover{} }
1070 func (*Nat44EiHaGetFailover) GetMessageName() string { return "nat44_ei_ha_get_failover" }
1071 func (*Nat44EiHaGetFailover) GetCrcString() string   { return "51077d14" }
1072 func (*Nat44EiHaGetFailover) GetMessageType() api.MessageType {
1073         return api.RequestMessage
1074 }
1075
1076 func (m *Nat44EiHaGetFailover) Size() (size int) {
1077         if m == nil {
1078                 return 0
1079         }
1080         return size
1081 }
1082 func (m *Nat44EiHaGetFailover) Marshal(b []byte) ([]byte, error) {
1083         if b == nil {
1084                 b = make([]byte, m.Size())
1085         }
1086         buf := codec.NewBuffer(b)
1087         return buf.Bytes(), nil
1088 }
1089 func (m *Nat44EiHaGetFailover) Unmarshal(b []byte) error {
1090         return nil
1091 }
1092
1093 // Nat44EiHaGetFailoverReply defines message 'nat44_ei_ha_get_failover_reply'.
1094 // Deprecated: the message will be removed in the future versions
1095 type Nat44EiHaGetFailoverReply struct {
1096         Retval                 int32               `binapi:"i32,name=retval" json:"retval,omitempty"`
1097         IPAddress              ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
1098         Port                   uint16              `binapi:"u16,name=port" json:"port,omitempty"`
1099         SessionRefreshInterval uint32              `binapi:"u32,name=session_refresh_interval" json:"session_refresh_interval,omitempty"`
1100 }
1101
1102 func (m *Nat44EiHaGetFailoverReply) Reset()               { *m = Nat44EiHaGetFailoverReply{} }
1103 func (*Nat44EiHaGetFailoverReply) GetMessageName() string { return "nat44_ei_ha_get_failover_reply" }
1104 func (*Nat44EiHaGetFailoverReply) GetCrcString() string   { return "a67d8752" }
1105 func (*Nat44EiHaGetFailoverReply) GetMessageType() api.MessageType {
1106         return api.ReplyMessage
1107 }
1108
1109 func (m *Nat44EiHaGetFailoverReply) Size() (size int) {
1110         if m == nil {
1111                 return 0
1112         }
1113         size += 4     // m.Retval
1114         size += 1 * 4 // m.IPAddress
1115         size += 2     // m.Port
1116         size += 4     // m.SessionRefreshInterval
1117         return size
1118 }
1119 func (m *Nat44EiHaGetFailoverReply) Marshal(b []byte) ([]byte, error) {
1120         if b == nil {
1121                 b = make([]byte, m.Size())
1122         }
1123         buf := codec.NewBuffer(b)
1124         buf.EncodeInt32(m.Retval)
1125         buf.EncodeBytes(m.IPAddress[:], 4)
1126         buf.EncodeUint16(m.Port)
1127         buf.EncodeUint32(m.SessionRefreshInterval)
1128         return buf.Bytes(), nil
1129 }
1130 func (m *Nat44EiHaGetFailoverReply) Unmarshal(b []byte) error {
1131         buf := codec.NewBuffer(b)
1132         m.Retval = buf.DecodeInt32()
1133         copy(m.IPAddress[:], buf.DecodeBytes(4))
1134         m.Port = buf.DecodeUint16()
1135         m.SessionRefreshInterval = buf.DecodeUint32()
1136         return nil
1137 }
1138
1139 // Nat44EiHaGetListener defines message 'nat44_ei_ha_get_listener'.
1140 // Deprecated: the message will be removed in the future versions
1141 type Nat44EiHaGetListener struct{}
1142
1143 func (m *Nat44EiHaGetListener) Reset()               { *m = Nat44EiHaGetListener{} }
1144 func (*Nat44EiHaGetListener) GetMessageName() string { return "nat44_ei_ha_get_listener" }
1145 func (*Nat44EiHaGetListener) GetCrcString() string   { return "51077d14" }
1146 func (*Nat44EiHaGetListener) GetMessageType() api.MessageType {
1147         return api.RequestMessage
1148 }
1149
1150 func (m *Nat44EiHaGetListener) Size() (size int) {
1151         if m == nil {
1152                 return 0
1153         }
1154         return size
1155 }
1156 func (m *Nat44EiHaGetListener) Marshal(b []byte) ([]byte, error) {
1157         if b == nil {
1158                 b = make([]byte, m.Size())
1159         }
1160         buf := codec.NewBuffer(b)
1161         return buf.Bytes(), nil
1162 }
1163 func (m *Nat44EiHaGetListener) Unmarshal(b []byte) error {
1164         return nil
1165 }
1166
1167 // Nat44EiHaGetListenerReply defines message 'nat44_ei_ha_get_listener_reply'.
1168 // Deprecated: the message will be removed in the future versions
1169 type Nat44EiHaGetListenerReply struct {
1170         Retval    int32               `binapi:"i32,name=retval" json:"retval,omitempty"`
1171         IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
1172         Port      uint16              `binapi:"u16,name=port" json:"port,omitempty"`
1173         PathMtu   uint32              `binapi:"u32,name=path_mtu" json:"path_mtu,omitempty"`
1174 }
1175
1176 func (m *Nat44EiHaGetListenerReply) Reset()               { *m = Nat44EiHaGetListenerReply{} }
1177 func (*Nat44EiHaGetListenerReply) GetMessageName() string { return "nat44_ei_ha_get_listener_reply" }
1178 func (*Nat44EiHaGetListenerReply) GetCrcString() string   { return "123ea41f" }
1179 func (*Nat44EiHaGetListenerReply) GetMessageType() api.MessageType {
1180         return api.ReplyMessage
1181 }
1182
1183 func (m *Nat44EiHaGetListenerReply) Size() (size int) {
1184         if m == nil {
1185                 return 0
1186         }
1187         size += 4     // m.Retval
1188         size += 1 * 4 // m.IPAddress
1189         size += 2     // m.Port
1190         size += 4     // m.PathMtu
1191         return size
1192 }
1193 func (m *Nat44EiHaGetListenerReply) Marshal(b []byte) ([]byte, error) {
1194         if b == nil {
1195                 b = make([]byte, m.Size())
1196         }
1197         buf := codec.NewBuffer(b)
1198         buf.EncodeInt32(m.Retval)
1199         buf.EncodeBytes(m.IPAddress[:], 4)
1200         buf.EncodeUint16(m.Port)
1201         buf.EncodeUint32(m.PathMtu)
1202         return buf.Bytes(), nil
1203 }
1204 func (m *Nat44EiHaGetListenerReply) Unmarshal(b []byte) error {
1205         buf := codec.NewBuffer(b)
1206         m.Retval = buf.DecodeInt32()
1207         copy(m.IPAddress[:], buf.DecodeBytes(4))
1208         m.Port = buf.DecodeUint16()
1209         m.PathMtu = buf.DecodeUint32()
1210         return nil
1211 }
1212
1213 // Nat44EiHaResync defines message 'nat44_ei_ha_resync'.
1214 // InProgress: the message form may change in the future versions
1215 type Nat44EiHaResync struct {
1216         WantResyncEvent uint8  `binapi:"u8,name=want_resync_event" json:"want_resync_event,omitempty"`
1217         PID             uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
1218 }
1219
1220 func (m *Nat44EiHaResync) Reset()               { *m = Nat44EiHaResync{} }
1221 func (*Nat44EiHaResync) GetMessageName() string { return "nat44_ei_ha_resync" }
1222 func (*Nat44EiHaResync) GetCrcString() string   { return "c8ab9e03" }
1223 func (*Nat44EiHaResync) GetMessageType() api.MessageType {
1224         return api.RequestMessage
1225 }
1226
1227 func (m *Nat44EiHaResync) Size() (size int) {
1228         if m == nil {
1229                 return 0
1230         }
1231         size += 1 // m.WantResyncEvent
1232         size += 4 // m.PID
1233         return size
1234 }
1235 func (m *Nat44EiHaResync) Marshal(b []byte) ([]byte, error) {
1236         if b == nil {
1237                 b = make([]byte, m.Size())
1238         }
1239         buf := codec.NewBuffer(b)
1240         buf.EncodeUint8(m.WantResyncEvent)
1241         buf.EncodeUint32(m.PID)
1242         return buf.Bytes(), nil
1243 }
1244 func (m *Nat44EiHaResync) Unmarshal(b []byte) error {
1245         buf := codec.NewBuffer(b)
1246         m.WantResyncEvent = buf.DecodeUint8()
1247         m.PID = buf.DecodeUint32()
1248         return nil
1249 }
1250
1251 // Nat44EiHaResyncCompletedEvent defines message 'nat44_ei_ha_resync_completed_event'.
1252 // InProgress: the message form may change in the future versions
1253 type Nat44EiHaResyncCompletedEvent struct {
1254         PID         uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
1255         MissedCount uint32 `binapi:"u32,name=missed_count" json:"missed_count,omitempty"`
1256 }
1257
1258 func (m *Nat44EiHaResyncCompletedEvent) Reset() { *m = Nat44EiHaResyncCompletedEvent{} }
1259 func (*Nat44EiHaResyncCompletedEvent) GetMessageName() string {
1260         return "nat44_ei_ha_resync_completed_event"
1261 }
1262 func (*Nat44EiHaResyncCompletedEvent) GetCrcString() string { return "fdc598fb" }
1263 func (*Nat44EiHaResyncCompletedEvent) GetMessageType() api.MessageType {
1264         return api.EventMessage
1265 }
1266
1267 func (m *Nat44EiHaResyncCompletedEvent) Size() (size int) {
1268         if m == nil {
1269                 return 0
1270         }
1271         size += 4 // m.PID
1272         size += 4 // m.MissedCount
1273         return size
1274 }
1275 func (m *Nat44EiHaResyncCompletedEvent) Marshal(b []byte) ([]byte, error) {
1276         if b == nil {
1277                 b = make([]byte, m.Size())
1278         }
1279         buf := codec.NewBuffer(b)
1280         buf.EncodeUint32(m.PID)
1281         buf.EncodeUint32(m.MissedCount)
1282         return buf.Bytes(), nil
1283 }
1284 func (m *Nat44EiHaResyncCompletedEvent) Unmarshal(b []byte) error {
1285         buf := codec.NewBuffer(b)
1286         m.PID = buf.DecodeUint32()
1287         m.MissedCount = buf.DecodeUint32()
1288         return nil
1289 }
1290
1291 // Nat44EiHaResyncReply defines message 'nat44_ei_ha_resync_reply'.
1292 // InProgress: the message form may change in the future versions
1293 type Nat44EiHaResyncReply struct {
1294         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1295 }
1296
1297 func (m *Nat44EiHaResyncReply) Reset()               { *m = Nat44EiHaResyncReply{} }
1298 func (*Nat44EiHaResyncReply) GetMessageName() string { return "nat44_ei_ha_resync_reply" }
1299 func (*Nat44EiHaResyncReply) GetCrcString() string   { return "e8d4e804" }
1300 func (*Nat44EiHaResyncReply) GetMessageType() api.MessageType {
1301         return api.ReplyMessage
1302 }
1303
1304 func (m *Nat44EiHaResyncReply) Size() (size int) {
1305         if m == nil {
1306                 return 0
1307         }
1308         size += 4 // m.Retval
1309         return size
1310 }
1311 func (m *Nat44EiHaResyncReply) Marshal(b []byte) ([]byte, error) {
1312         if b == nil {
1313                 b = make([]byte, m.Size())
1314         }
1315         buf := codec.NewBuffer(b)
1316         buf.EncodeInt32(m.Retval)
1317         return buf.Bytes(), nil
1318 }
1319 func (m *Nat44EiHaResyncReply) Unmarshal(b []byte) error {
1320         buf := codec.NewBuffer(b)
1321         m.Retval = buf.DecodeInt32()
1322         return nil
1323 }
1324
1325 // Nat44EiHaSetFailover defines message 'nat44_ei_ha_set_failover'.
1326 // InProgress: the message form may change in the future versions
1327 type Nat44EiHaSetFailover struct {
1328         IPAddress              ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
1329         Port                   uint16              `binapi:"u16,name=port" json:"port,omitempty"`
1330         SessionRefreshInterval uint32              `binapi:"u32,name=session_refresh_interval" json:"session_refresh_interval,omitempty"`
1331 }
1332
1333 func (m *Nat44EiHaSetFailover) Reset()               { *m = Nat44EiHaSetFailover{} }
1334 func (*Nat44EiHaSetFailover) GetMessageName() string { return "nat44_ei_ha_set_failover" }
1335 func (*Nat44EiHaSetFailover) GetCrcString() string   { return "718246af" }
1336 func (*Nat44EiHaSetFailover) GetMessageType() api.MessageType {
1337         return api.RequestMessage
1338 }
1339
1340 func (m *Nat44EiHaSetFailover) Size() (size int) {
1341         if m == nil {
1342                 return 0
1343         }
1344         size += 1 * 4 // m.IPAddress
1345         size += 2     // m.Port
1346         size += 4     // m.SessionRefreshInterval
1347         return size
1348 }
1349 func (m *Nat44EiHaSetFailover) Marshal(b []byte) ([]byte, error) {
1350         if b == nil {
1351                 b = make([]byte, m.Size())
1352         }
1353         buf := codec.NewBuffer(b)
1354         buf.EncodeBytes(m.IPAddress[:], 4)
1355         buf.EncodeUint16(m.Port)
1356         buf.EncodeUint32(m.SessionRefreshInterval)
1357         return buf.Bytes(), nil
1358 }
1359 func (m *Nat44EiHaSetFailover) Unmarshal(b []byte) error {
1360         buf := codec.NewBuffer(b)
1361         copy(m.IPAddress[:], buf.DecodeBytes(4))
1362         m.Port = buf.DecodeUint16()
1363         m.SessionRefreshInterval = buf.DecodeUint32()
1364         return nil
1365 }
1366
1367 // Nat44EiHaSetFailoverReply defines message 'nat44_ei_ha_set_failover_reply'.
1368 // InProgress: the message form may change in the future versions
1369 type Nat44EiHaSetFailoverReply struct {
1370         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1371 }
1372
1373 func (m *Nat44EiHaSetFailoverReply) Reset()               { *m = Nat44EiHaSetFailoverReply{} }
1374 func (*Nat44EiHaSetFailoverReply) GetMessageName() string { return "nat44_ei_ha_set_failover_reply" }
1375 func (*Nat44EiHaSetFailoverReply) GetCrcString() string   { return "e8d4e804" }
1376 func (*Nat44EiHaSetFailoverReply) GetMessageType() api.MessageType {
1377         return api.ReplyMessage
1378 }
1379
1380 func (m *Nat44EiHaSetFailoverReply) Size() (size int) {
1381         if m == nil {
1382                 return 0
1383         }
1384         size += 4 // m.Retval
1385         return size
1386 }
1387 func (m *Nat44EiHaSetFailoverReply) Marshal(b []byte) ([]byte, error) {
1388         if b == nil {
1389                 b = make([]byte, m.Size())
1390         }
1391         buf := codec.NewBuffer(b)
1392         buf.EncodeInt32(m.Retval)
1393         return buf.Bytes(), nil
1394 }
1395 func (m *Nat44EiHaSetFailoverReply) Unmarshal(b []byte) error {
1396         buf := codec.NewBuffer(b)
1397         m.Retval = buf.DecodeInt32()
1398         return nil
1399 }
1400
1401 // Nat44EiHaSetListener defines message 'nat44_ei_ha_set_listener'.
1402 // InProgress: the message form may change in the future versions
1403 type Nat44EiHaSetListener struct {
1404         IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
1405         Port      uint16              `binapi:"u16,name=port" json:"port,omitempty"`
1406         PathMtu   uint32              `binapi:"u32,name=path_mtu" json:"path_mtu,omitempty"`
1407 }
1408
1409 func (m *Nat44EiHaSetListener) Reset()               { *m = Nat44EiHaSetListener{} }
1410 func (*Nat44EiHaSetListener) GetMessageName() string { return "nat44_ei_ha_set_listener" }
1411 func (*Nat44EiHaSetListener) GetCrcString() string   { return "e4a8cb4e" }
1412 func (*Nat44EiHaSetListener) GetMessageType() api.MessageType {
1413         return api.RequestMessage
1414 }
1415
1416 func (m *Nat44EiHaSetListener) Size() (size int) {
1417         if m == nil {
1418                 return 0
1419         }
1420         size += 1 * 4 // m.IPAddress
1421         size += 2     // m.Port
1422         size += 4     // m.PathMtu
1423         return size
1424 }
1425 func (m *Nat44EiHaSetListener) Marshal(b []byte) ([]byte, error) {
1426         if b == nil {
1427                 b = make([]byte, m.Size())
1428         }
1429         buf := codec.NewBuffer(b)
1430         buf.EncodeBytes(m.IPAddress[:], 4)
1431         buf.EncodeUint16(m.Port)
1432         buf.EncodeUint32(m.PathMtu)
1433         return buf.Bytes(), nil
1434 }
1435 func (m *Nat44EiHaSetListener) Unmarshal(b []byte) error {
1436         buf := codec.NewBuffer(b)
1437         copy(m.IPAddress[:], buf.DecodeBytes(4))
1438         m.Port = buf.DecodeUint16()
1439         m.PathMtu = buf.DecodeUint32()
1440         return nil
1441 }
1442
1443 // Nat44EiHaSetListenerReply defines message 'nat44_ei_ha_set_listener_reply'.
1444 // InProgress: the message form may change in the future versions
1445 type Nat44EiHaSetListenerReply struct {
1446         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1447 }
1448
1449 func (m *Nat44EiHaSetListenerReply) Reset()               { *m = Nat44EiHaSetListenerReply{} }
1450 func (*Nat44EiHaSetListenerReply) GetMessageName() string { return "nat44_ei_ha_set_listener_reply" }
1451 func (*Nat44EiHaSetListenerReply) GetCrcString() string   { return "e8d4e804" }
1452 func (*Nat44EiHaSetListenerReply) GetMessageType() api.MessageType {
1453         return api.ReplyMessage
1454 }
1455
1456 func (m *Nat44EiHaSetListenerReply) Size() (size int) {
1457         if m == nil {
1458                 return 0
1459         }
1460         size += 4 // m.Retval
1461         return size
1462 }
1463 func (m *Nat44EiHaSetListenerReply) Marshal(b []byte) ([]byte, error) {
1464         if b == nil {
1465                 b = make([]byte, m.Size())
1466         }
1467         buf := codec.NewBuffer(b)
1468         buf.EncodeInt32(m.Retval)
1469         return buf.Bytes(), nil
1470 }
1471 func (m *Nat44EiHaSetListenerReply) Unmarshal(b []byte) error {
1472         buf := codec.NewBuffer(b)
1473         m.Retval = buf.DecodeInt32()
1474         return nil
1475 }
1476
1477 // Nat44EiIdentityMappingDetails defines message 'nat44_ei_identity_mapping_details'.
1478 // Deprecated: the message will be removed in the future versions
1479 type Nat44EiIdentityMappingDetails struct {
1480         Flags     Nat44EiConfigFlags             `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
1481         IPAddress ip_types.IP4Address            `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
1482         Protocol  uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
1483         Port      uint16                         `binapi:"u16,name=port" json:"port,omitempty"`
1484         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1485         VrfID     uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
1486         Tag       string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
1487 }
1488
1489 func (m *Nat44EiIdentityMappingDetails) Reset() { *m = Nat44EiIdentityMappingDetails{} }
1490 func (*Nat44EiIdentityMappingDetails) GetMessageName() string {
1491         return "nat44_ei_identity_mapping_details"
1492 }
1493 func (*Nat44EiIdentityMappingDetails) GetCrcString() string { return "30d53e26" }
1494 func (*Nat44EiIdentityMappingDetails) GetMessageType() api.MessageType {
1495         return api.ReplyMessage
1496 }
1497
1498 func (m *Nat44EiIdentityMappingDetails) Size() (size int) {
1499         if m == nil {
1500                 return 0
1501         }
1502         size += 1     // m.Flags
1503         size += 1 * 4 // m.IPAddress
1504         size += 1     // m.Protocol
1505         size += 2     // m.Port
1506         size += 4     // m.SwIfIndex
1507         size += 4     // m.VrfID
1508         size += 64    // m.Tag
1509         return size
1510 }
1511 func (m *Nat44EiIdentityMappingDetails) Marshal(b []byte) ([]byte, error) {
1512         if b == nil {
1513                 b = make([]byte, m.Size())
1514         }
1515         buf := codec.NewBuffer(b)
1516         buf.EncodeUint8(uint8(m.Flags))
1517         buf.EncodeBytes(m.IPAddress[:], 4)
1518         buf.EncodeUint8(m.Protocol)
1519         buf.EncodeUint16(m.Port)
1520         buf.EncodeUint32(uint32(m.SwIfIndex))
1521         buf.EncodeUint32(m.VrfID)
1522         buf.EncodeString(m.Tag, 64)
1523         return buf.Bytes(), nil
1524 }
1525 func (m *Nat44EiIdentityMappingDetails) Unmarshal(b []byte) error {
1526         buf := codec.NewBuffer(b)
1527         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
1528         copy(m.IPAddress[:], buf.DecodeBytes(4))
1529         m.Protocol = buf.DecodeUint8()
1530         m.Port = buf.DecodeUint16()
1531         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1532         m.VrfID = buf.DecodeUint32()
1533         m.Tag = buf.DecodeString(64)
1534         return nil
1535 }
1536
1537 // Nat44EiIdentityMappingDump defines message 'nat44_ei_identity_mapping_dump'.
1538 // Deprecated: the message will be removed in the future versions
1539 type Nat44EiIdentityMappingDump struct{}
1540
1541 func (m *Nat44EiIdentityMappingDump) Reset()               { *m = Nat44EiIdentityMappingDump{} }
1542 func (*Nat44EiIdentityMappingDump) GetMessageName() string { return "nat44_ei_identity_mapping_dump" }
1543 func (*Nat44EiIdentityMappingDump) GetCrcString() string   { return "51077d14" }
1544 func (*Nat44EiIdentityMappingDump) GetMessageType() api.MessageType {
1545         return api.RequestMessage
1546 }
1547
1548 func (m *Nat44EiIdentityMappingDump) Size() (size int) {
1549         if m == nil {
1550                 return 0
1551         }
1552         return size
1553 }
1554 func (m *Nat44EiIdentityMappingDump) Marshal(b []byte) ([]byte, error) {
1555         if b == nil {
1556                 b = make([]byte, m.Size())
1557         }
1558         buf := codec.NewBuffer(b)
1559         return buf.Bytes(), nil
1560 }
1561 func (m *Nat44EiIdentityMappingDump) Unmarshal(b []byte) error {
1562         return nil
1563 }
1564
1565 // Nat44EiInterfaceAddDelFeature defines message 'nat44_ei_interface_add_del_feature'.
1566 // InProgress: the message form may change in the future versions
1567 type Nat44EiInterfaceAddDelFeature struct {
1568         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
1569         Flags     Nat44EiConfigFlags             `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
1570         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1571 }
1572
1573 func (m *Nat44EiInterfaceAddDelFeature) Reset() { *m = Nat44EiInterfaceAddDelFeature{} }
1574 func (*Nat44EiInterfaceAddDelFeature) GetMessageName() string {
1575         return "nat44_ei_interface_add_del_feature"
1576 }
1577 func (*Nat44EiInterfaceAddDelFeature) GetCrcString() string { return "63a2db8b" }
1578 func (*Nat44EiInterfaceAddDelFeature) GetMessageType() api.MessageType {
1579         return api.RequestMessage
1580 }
1581
1582 func (m *Nat44EiInterfaceAddDelFeature) Size() (size int) {
1583         if m == nil {
1584                 return 0
1585         }
1586         size += 1 // m.IsAdd
1587         size += 1 // m.Flags
1588         size += 4 // m.SwIfIndex
1589         return size
1590 }
1591 func (m *Nat44EiInterfaceAddDelFeature) Marshal(b []byte) ([]byte, error) {
1592         if b == nil {
1593                 b = make([]byte, m.Size())
1594         }
1595         buf := codec.NewBuffer(b)
1596         buf.EncodeBool(m.IsAdd)
1597         buf.EncodeUint8(uint8(m.Flags))
1598         buf.EncodeUint32(uint32(m.SwIfIndex))
1599         return buf.Bytes(), nil
1600 }
1601 func (m *Nat44EiInterfaceAddDelFeature) Unmarshal(b []byte) error {
1602         buf := codec.NewBuffer(b)
1603         m.IsAdd = buf.DecodeBool()
1604         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
1605         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1606         return nil
1607 }
1608
1609 // Nat44EiInterfaceAddDelFeatureReply defines message 'nat44_ei_interface_add_del_feature_reply'.
1610 // InProgress: the message form may change in the future versions
1611 type Nat44EiInterfaceAddDelFeatureReply struct {
1612         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1613 }
1614
1615 func (m *Nat44EiInterfaceAddDelFeatureReply) Reset() { *m = Nat44EiInterfaceAddDelFeatureReply{} }
1616 func (*Nat44EiInterfaceAddDelFeatureReply) GetMessageName() string {
1617         return "nat44_ei_interface_add_del_feature_reply"
1618 }
1619 func (*Nat44EiInterfaceAddDelFeatureReply) GetCrcString() string { return "e8d4e804" }
1620 func (*Nat44EiInterfaceAddDelFeatureReply) GetMessageType() api.MessageType {
1621         return api.ReplyMessage
1622 }
1623
1624 func (m *Nat44EiInterfaceAddDelFeatureReply) Size() (size int) {
1625         if m == nil {
1626                 return 0
1627         }
1628         size += 4 // m.Retval
1629         return size
1630 }
1631 func (m *Nat44EiInterfaceAddDelFeatureReply) Marshal(b []byte) ([]byte, error) {
1632         if b == nil {
1633                 b = make([]byte, m.Size())
1634         }
1635         buf := codec.NewBuffer(b)
1636         buf.EncodeInt32(m.Retval)
1637         return buf.Bytes(), nil
1638 }
1639 func (m *Nat44EiInterfaceAddDelFeatureReply) Unmarshal(b []byte) error {
1640         buf := codec.NewBuffer(b)
1641         m.Retval = buf.DecodeInt32()
1642         return nil
1643 }
1644
1645 // Nat44EiInterfaceAddDelOutputFeature defines message 'nat44_ei_interface_add_del_output_feature'.
1646 // Deprecated: the message will be removed in the future versions
1647 type Nat44EiInterfaceAddDelOutputFeature struct {
1648         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
1649         Flags     Nat44EiConfigFlags             `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
1650         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1651 }
1652
1653 func (m *Nat44EiInterfaceAddDelOutputFeature) Reset() { *m = Nat44EiInterfaceAddDelOutputFeature{} }
1654 func (*Nat44EiInterfaceAddDelOutputFeature) GetMessageName() string {
1655         return "nat44_ei_interface_add_del_output_feature"
1656 }
1657 func (*Nat44EiInterfaceAddDelOutputFeature) GetCrcString() string { return "63a2db8b" }
1658 func (*Nat44EiInterfaceAddDelOutputFeature) GetMessageType() api.MessageType {
1659         return api.RequestMessage
1660 }
1661
1662 func (m *Nat44EiInterfaceAddDelOutputFeature) Size() (size int) {
1663         if m == nil {
1664                 return 0
1665         }
1666         size += 1 // m.IsAdd
1667         size += 1 // m.Flags
1668         size += 4 // m.SwIfIndex
1669         return size
1670 }
1671 func (m *Nat44EiInterfaceAddDelOutputFeature) Marshal(b []byte) ([]byte, error) {
1672         if b == nil {
1673                 b = make([]byte, m.Size())
1674         }
1675         buf := codec.NewBuffer(b)
1676         buf.EncodeBool(m.IsAdd)
1677         buf.EncodeUint8(uint8(m.Flags))
1678         buf.EncodeUint32(uint32(m.SwIfIndex))
1679         return buf.Bytes(), nil
1680 }
1681 func (m *Nat44EiInterfaceAddDelOutputFeature) Unmarshal(b []byte) error {
1682         buf := codec.NewBuffer(b)
1683         m.IsAdd = buf.DecodeBool()
1684         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
1685         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1686         return nil
1687 }
1688
1689 // Nat44EiInterfaceAddDelOutputFeatureReply defines message 'nat44_ei_interface_add_del_output_feature_reply'.
1690 // Deprecated: the message will be removed in the future versions
1691 type Nat44EiInterfaceAddDelOutputFeatureReply struct {
1692         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1693 }
1694
1695 func (m *Nat44EiInterfaceAddDelOutputFeatureReply) Reset() {
1696         *m = Nat44EiInterfaceAddDelOutputFeatureReply{}
1697 }
1698 func (*Nat44EiInterfaceAddDelOutputFeatureReply) GetMessageName() string {
1699         return "nat44_ei_interface_add_del_output_feature_reply"
1700 }
1701 func (*Nat44EiInterfaceAddDelOutputFeatureReply) GetCrcString() string { return "e8d4e804" }
1702 func (*Nat44EiInterfaceAddDelOutputFeatureReply) GetMessageType() api.MessageType {
1703         return api.ReplyMessage
1704 }
1705
1706 func (m *Nat44EiInterfaceAddDelOutputFeatureReply) Size() (size int) {
1707         if m == nil {
1708                 return 0
1709         }
1710         size += 4 // m.Retval
1711         return size
1712 }
1713 func (m *Nat44EiInterfaceAddDelOutputFeatureReply) Marshal(b []byte) ([]byte, error) {
1714         if b == nil {
1715                 b = make([]byte, m.Size())
1716         }
1717         buf := codec.NewBuffer(b)
1718         buf.EncodeInt32(m.Retval)
1719         return buf.Bytes(), nil
1720 }
1721 func (m *Nat44EiInterfaceAddDelOutputFeatureReply) Unmarshal(b []byte) error {
1722         buf := codec.NewBuffer(b)
1723         m.Retval = buf.DecodeInt32()
1724         return nil
1725 }
1726
1727 // Nat44EiInterfaceAddrDetails defines message 'nat44_ei_interface_addr_details'.
1728 // Deprecated: the message will be removed in the future versions
1729 type Nat44EiInterfaceAddrDetails struct {
1730         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1731 }
1732
1733 func (m *Nat44EiInterfaceAddrDetails) Reset()               { *m = Nat44EiInterfaceAddrDetails{} }
1734 func (*Nat44EiInterfaceAddrDetails) GetMessageName() string { return "nat44_ei_interface_addr_details" }
1735 func (*Nat44EiInterfaceAddrDetails) GetCrcString() string   { return "0b45011c" }
1736 func (*Nat44EiInterfaceAddrDetails) GetMessageType() api.MessageType {
1737         return api.ReplyMessage
1738 }
1739
1740 func (m *Nat44EiInterfaceAddrDetails) Size() (size int) {
1741         if m == nil {
1742                 return 0
1743         }
1744         size += 4 // m.SwIfIndex
1745         return size
1746 }
1747 func (m *Nat44EiInterfaceAddrDetails) Marshal(b []byte) ([]byte, error) {
1748         if b == nil {
1749                 b = make([]byte, m.Size())
1750         }
1751         buf := codec.NewBuffer(b)
1752         buf.EncodeUint32(uint32(m.SwIfIndex))
1753         return buf.Bytes(), nil
1754 }
1755 func (m *Nat44EiInterfaceAddrDetails) Unmarshal(b []byte) error {
1756         buf := codec.NewBuffer(b)
1757         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1758         return nil
1759 }
1760
1761 // Nat44EiInterfaceAddrDump defines message 'nat44_ei_interface_addr_dump'.
1762 // Deprecated: the message will be removed in the future versions
1763 type Nat44EiInterfaceAddrDump struct{}
1764
1765 func (m *Nat44EiInterfaceAddrDump) Reset()               { *m = Nat44EiInterfaceAddrDump{} }
1766 func (*Nat44EiInterfaceAddrDump) GetMessageName() string { return "nat44_ei_interface_addr_dump" }
1767 func (*Nat44EiInterfaceAddrDump) GetCrcString() string   { return "51077d14" }
1768 func (*Nat44EiInterfaceAddrDump) GetMessageType() api.MessageType {
1769         return api.RequestMessage
1770 }
1771
1772 func (m *Nat44EiInterfaceAddrDump) Size() (size int) {
1773         if m == nil {
1774                 return 0
1775         }
1776         return size
1777 }
1778 func (m *Nat44EiInterfaceAddrDump) Marshal(b []byte) ([]byte, error) {
1779         if b == nil {
1780                 b = make([]byte, m.Size())
1781         }
1782         buf := codec.NewBuffer(b)
1783         return buf.Bytes(), nil
1784 }
1785 func (m *Nat44EiInterfaceAddrDump) Unmarshal(b []byte) error {
1786         return nil
1787 }
1788
1789 // Nat44EiInterfaceDetails defines message 'nat44_ei_interface_details'.
1790 // InProgress: the message form may change in the future versions
1791 type Nat44EiInterfaceDetails struct {
1792         Flags     Nat44EiConfigFlags             `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
1793         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1794 }
1795
1796 func (m *Nat44EiInterfaceDetails) Reset()               { *m = Nat44EiInterfaceDetails{} }
1797 func (*Nat44EiInterfaceDetails) GetMessageName() string { return "nat44_ei_interface_details" }
1798 func (*Nat44EiInterfaceDetails) GetCrcString() string   { return "f446e508" }
1799 func (*Nat44EiInterfaceDetails) GetMessageType() api.MessageType {
1800         return api.ReplyMessage
1801 }
1802
1803 func (m *Nat44EiInterfaceDetails) Size() (size int) {
1804         if m == nil {
1805                 return 0
1806         }
1807         size += 1 // m.Flags
1808         size += 4 // m.SwIfIndex
1809         return size
1810 }
1811 func (m *Nat44EiInterfaceDetails) Marshal(b []byte) ([]byte, error) {
1812         if b == nil {
1813                 b = make([]byte, m.Size())
1814         }
1815         buf := codec.NewBuffer(b)
1816         buf.EncodeUint8(uint8(m.Flags))
1817         buf.EncodeUint32(uint32(m.SwIfIndex))
1818         return buf.Bytes(), nil
1819 }
1820 func (m *Nat44EiInterfaceDetails) Unmarshal(b []byte) error {
1821         buf := codec.NewBuffer(b)
1822         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
1823         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1824         return nil
1825 }
1826
1827 // Nat44EiInterfaceDump defines message 'nat44_ei_interface_dump'.
1828 // InProgress: the message form may change in the future versions
1829 type Nat44EiInterfaceDump struct{}
1830
1831 func (m *Nat44EiInterfaceDump) Reset()               { *m = Nat44EiInterfaceDump{} }
1832 func (*Nat44EiInterfaceDump) GetMessageName() string { return "nat44_ei_interface_dump" }
1833 func (*Nat44EiInterfaceDump) GetCrcString() string   { return "51077d14" }
1834 func (*Nat44EiInterfaceDump) GetMessageType() api.MessageType {
1835         return api.RequestMessage
1836 }
1837
1838 func (m *Nat44EiInterfaceDump) Size() (size int) {
1839         if m == nil {
1840                 return 0
1841         }
1842         return size
1843 }
1844 func (m *Nat44EiInterfaceDump) Marshal(b []byte) ([]byte, error) {
1845         if b == nil {
1846                 b = make([]byte, m.Size())
1847         }
1848         buf := codec.NewBuffer(b)
1849         return buf.Bytes(), nil
1850 }
1851 func (m *Nat44EiInterfaceDump) Unmarshal(b []byte) error {
1852         return nil
1853 }
1854
1855 // Nat44EiInterfaceOutputFeatureDetails defines message 'nat44_ei_interface_output_feature_details'.
1856 // Deprecated: the message will be removed in the future versions
1857 type Nat44EiInterfaceOutputFeatureDetails struct {
1858         Flags     Nat44EiConfigFlags             `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
1859         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1860 }
1861
1862 func (m *Nat44EiInterfaceOutputFeatureDetails) Reset() { *m = Nat44EiInterfaceOutputFeatureDetails{} }
1863 func (*Nat44EiInterfaceOutputFeatureDetails) GetMessageName() string {
1864         return "nat44_ei_interface_output_feature_details"
1865 }
1866 func (*Nat44EiInterfaceOutputFeatureDetails) GetCrcString() string { return "f446e508" }
1867 func (*Nat44EiInterfaceOutputFeatureDetails) GetMessageType() api.MessageType {
1868         return api.ReplyMessage
1869 }
1870
1871 func (m *Nat44EiInterfaceOutputFeatureDetails) Size() (size int) {
1872         if m == nil {
1873                 return 0
1874         }
1875         size += 1 // m.Flags
1876         size += 4 // m.SwIfIndex
1877         return size
1878 }
1879 func (m *Nat44EiInterfaceOutputFeatureDetails) Marshal(b []byte) ([]byte, error) {
1880         if b == nil {
1881                 b = make([]byte, m.Size())
1882         }
1883         buf := codec.NewBuffer(b)
1884         buf.EncodeUint8(uint8(m.Flags))
1885         buf.EncodeUint32(uint32(m.SwIfIndex))
1886         return buf.Bytes(), nil
1887 }
1888 func (m *Nat44EiInterfaceOutputFeatureDetails) Unmarshal(b []byte) error {
1889         buf := codec.NewBuffer(b)
1890         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
1891         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1892         return nil
1893 }
1894
1895 // Nat44EiInterfaceOutputFeatureDump defines message 'nat44_ei_interface_output_feature_dump'.
1896 // Deprecated: the message will be removed in the future versions
1897 type Nat44EiInterfaceOutputFeatureDump struct{}
1898
1899 func (m *Nat44EiInterfaceOutputFeatureDump) Reset() { *m = Nat44EiInterfaceOutputFeatureDump{} }
1900 func (*Nat44EiInterfaceOutputFeatureDump) GetMessageName() string {
1901         return "nat44_ei_interface_output_feature_dump"
1902 }
1903 func (*Nat44EiInterfaceOutputFeatureDump) GetCrcString() string { return "51077d14" }
1904 func (*Nat44EiInterfaceOutputFeatureDump) GetMessageType() api.MessageType {
1905         return api.RequestMessage
1906 }
1907
1908 func (m *Nat44EiInterfaceOutputFeatureDump) Size() (size int) {
1909         if m == nil {
1910                 return 0
1911         }
1912         return size
1913 }
1914 func (m *Nat44EiInterfaceOutputFeatureDump) Marshal(b []byte) ([]byte, error) {
1915         if b == nil {
1916                 b = make([]byte, m.Size())
1917         }
1918         buf := codec.NewBuffer(b)
1919         return buf.Bytes(), nil
1920 }
1921 func (m *Nat44EiInterfaceOutputFeatureDump) Unmarshal(b []byte) error {
1922         return nil
1923 }
1924
1925 // Nat44EiIpfixEnableDisable defines message 'nat44_ei_ipfix_enable_disable'.
1926 // InProgress: the message form may change in the future versions
1927 type Nat44EiIpfixEnableDisable struct {
1928         DomainID uint32 `binapi:"u32,name=domain_id" json:"domain_id,omitempty"`
1929         SrcPort  uint16 `binapi:"u16,name=src_port" json:"src_port,omitempty"`
1930         Enable   bool   `binapi:"bool,name=enable" json:"enable,omitempty"`
1931 }
1932
1933 func (m *Nat44EiIpfixEnableDisable) Reset()               { *m = Nat44EiIpfixEnableDisable{} }
1934 func (*Nat44EiIpfixEnableDisable) GetMessageName() string { return "nat44_ei_ipfix_enable_disable" }
1935 func (*Nat44EiIpfixEnableDisable) GetCrcString() string   { return "9af4a2d2" }
1936 func (*Nat44EiIpfixEnableDisable) GetMessageType() api.MessageType {
1937         return api.RequestMessage
1938 }
1939
1940 func (m *Nat44EiIpfixEnableDisable) Size() (size int) {
1941         if m == nil {
1942                 return 0
1943         }
1944         size += 4 // m.DomainID
1945         size += 2 // m.SrcPort
1946         size += 1 // m.Enable
1947         return size
1948 }
1949 func (m *Nat44EiIpfixEnableDisable) Marshal(b []byte) ([]byte, error) {
1950         if b == nil {
1951                 b = make([]byte, m.Size())
1952         }
1953         buf := codec.NewBuffer(b)
1954         buf.EncodeUint32(m.DomainID)
1955         buf.EncodeUint16(m.SrcPort)
1956         buf.EncodeBool(m.Enable)
1957         return buf.Bytes(), nil
1958 }
1959 func (m *Nat44EiIpfixEnableDisable) Unmarshal(b []byte) error {
1960         buf := codec.NewBuffer(b)
1961         m.DomainID = buf.DecodeUint32()
1962         m.SrcPort = buf.DecodeUint16()
1963         m.Enable = buf.DecodeBool()
1964         return nil
1965 }
1966
1967 // Nat44EiIpfixEnableDisableReply defines message 'nat44_ei_ipfix_enable_disable_reply'.
1968 // InProgress: the message form may change in the future versions
1969 type Nat44EiIpfixEnableDisableReply struct {
1970         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1971 }
1972
1973 func (m *Nat44EiIpfixEnableDisableReply) Reset() { *m = Nat44EiIpfixEnableDisableReply{} }
1974 func (*Nat44EiIpfixEnableDisableReply) GetMessageName() string {
1975         return "nat44_ei_ipfix_enable_disable_reply"
1976 }
1977 func (*Nat44EiIpfixEnableDisableReply) GetCrcString() string { return "e8d4e804" }
1978 func (*Nat44EiIpfixEnableDisableReply) GetMessageType() api.MessageType {
1979         return api.ReplyMessage
1980 }
1981
1982 func (m *Nat44EiIpfixEnableDisableReply) Size() (size int) {
1983         if m == nil {
1984                 return 0
1985         }
1986         size += 4 // m.Retval
1987         return size
1988 }
1989 func (m *Nat44EiIpfixEnableDisableReply) Marshal(b []byte) ([]byte, error) {
1990         if b == nil {
1991                 b = make([]byte, m.Size())
1992         }
1993         buf := codec.NewBuffer(b)
1994         buf.EncodeInt32(m.Retval)
1995         return buf.Bytes(), nil
1996 }
1997 func (m *Nat44EiIpfixEnableDisableReply) Unmarshal(b []byte) error {
1998         buf := codec.NewBuffer(b)
1999         m.Retval = buf.DecodeInt32()
2000         return nil
2001 }
2002
2003 // Nat44EiOutputInterfaceDetails defines message 'nat44_ei_output_interface_details'.
2004 type Nat44EiOutputInterfaceDetails struct {
2005         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
2006 }
2007
2008 func (m *Nat44EiOutputInterfaceDetails) Reset() { *m = Nat44EiOutputInterfaceDetails{} }
2009 func (*Nat44EiOutputInterfaceDetails) GetMessageName() string {
2010         return "nat44_ei_output_interface_details"
2011 }
2012 func (*Nat44EiOutputInterfaceDetails) GetCrcString() string { return "0b45011c" }
2013 func (*Nat44EiOutputInterfaceDetails) GetMessageType() api.MessageType {
2014         return api.ReplyMessage
2015 }
2016
2017 func (m *Nat44EiOutputInterfaceDetails) Size() (size int) {
2018         if m == nil {
2019                 return 0
2020         }
2021         size += 4 // m.SwIfIndex
2022         return size
2023 }
2024 func (m *Nat44EiOutputInterfaceDetails) Marshal(b []byte) ([]byte, error) {
2025         if b == nil {
2026                 b = make([]byte, m.Size())
2027         }
2028         buf := codec.NewBuffer(b)
2029         buf.EncodeUint32(uint32(m.SwIfIndex))
2030         return buf.Bytes(), nil
2031 }
2032 func (m *Nat44EiOutputInterfaceDetails) Unmarshal(b []byte) error {
2033         buf := codec.NewBuffer(b)
2034         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
2035         return nil
2036 }
2037
2038 // Nat44EiOutputInterfaceGet defines message 'nat44_ei_output_interface_get'.
2039 type Nat44EiOutputInterfaceGet struct {
2040         Cursor uint32 `binapi:"u32,name=cursor" json:"cursor,omitempty"`
2041 }
2042
2043 func (m *Nat44EiOutputInterfaceGet) Reset()               { *m = Nat44EiOutputInterfaceGet{} }
2044 func (*Nat44EiOutputInterfaceGet) GetMessageName() string { return "nat44_ei_output_interface_get" }
2045 func (*Nat44EiOutputInterfaceGet) GetCrcString() string   { return "f75ba505" }
2046 func (*Nat44EiOutputInterfaceGet) GetMessageType() api.MessageType {
2047         return api.RequestMessage
2048 }
2049
2050 func (m *Nat44EiOutputInterfaceGet) Size() (size int) {
2051         if m == nil {
2052                 return 0
2053         }
2054         size += 4 // m.Cursor
2055         return size
2056 }
2057 func (m *Nat44EiOutputInterfaceGet) Marshal(b []byte) ([]byte, error) {
2058         if b == nil {
2059                 b = make([]byte, m.Size())
2060         }
2061         buf := codec.NewBuffer(b)
2062         buf.EncodeUint32(m.Cursor)
2063         return buf.Bytes(), nil
2064 }
2065 func (m *Nat44EiOutputInterfaceGet) Unmarshal(b []byte) error {
2066         buf := codec.NewBuffer(b)
2067         m.Cursor = buf.DecodeUint32()
2068         return nil
2069 }
2070
2071 // Nat44EiOutputInterfaceGetReply defines message 'nat44_ei_output_interface_get_reply'.
2072 type Nat44EiOutputInterfaceGetReply struct {
2073         Retval int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
2074         Cursor uint32 `binapi:"u32,name=cursor" json:"cursor,omitempty"`
2075 }
2076
2077 func (m *Nat44EiOutputInterfaceGetReply) Reset() { *m = Nat44EiOutputInterfaceGetReply{} }
2078 func (*Nat44EiOutputInterfaceGetReply) GetMessageName() string {
2079         return "nat44_ei_output_interface_get_reply"
2080 }
2081 func (*Nat44EiOutputInterfaceGetReply) GetCrcString() string { return "53b48f5d" }
2082 func (*Nat44EiOutputInterfaceGetReply) GetMessageType() api.MessageType {
2083         return api.ReplyMessage
2084 }
2085
2086 func (m *Nat44EiOutputInterfaceGetReply) Size() (size int) {
2087         if m == nil {
2088                 return 0
2089         }
2090         size += 4 // m.Retval
2091         size += 4 // m.Cursor
2092         return size
2093 }
2094 func (m *Nat44EiOutputInterfaceGetReply) Marshal(b []byte) ([]byte, error) {
2095         if b == nil {
2096                 b = make([]byte, m.Size())
2097         }
2098         buf := codec.NewBuffer(b)
2099         buf.EncodeInt32(m.Retval)
2100         buf.EncodeUint32(m.Cursor)
2101         return buf.Bytes(), nil
2102 }
2103 func (m *Nat44EiOutputInterfaceGetReply) Unmarshal(b []byte) error {
2104         buf := codec.NewBuffer(b)
2105         m.Retval = buf.DecodeInt32()
2106         m.Cursor = buf.DecodeUint32()
2107         return nil
2108 }
2109
2110 // Nat44EiPluginEnableDisable defines message 'nat44_ei_plugin_enable_disable'.
2111 // InProgress: the message form may change in the future versions
2112 type Nat44EiPluginEnableDisable struct {
2113         InsideVrf     uint32             `binapi:"u32,name=inside_vrf" json:"inside_vrf,omitempty"`
2114         OutsideVrf    uint32             `binapi:"u32,name=outside_vrf" json:"outside_vrf,omitempty"`
2115         Users         uint32             `binapi:"u32,name=users" json:"users,omitempty"`
2116         UserMemory    uint32             `binapi:"u32,name=user_memory" json:"user_memory,omitempty"`
2117         Sessions      uint32             `binapi:"u32,name=sessions" json:"sessions,omitempty"`
2118         SessionMemory uint32             `binapi:"u32,name=session_memory" json:"session_memory,omitempty"`
2119         UserSessions  uint32             `binapi:"u32,name=user_sessions" json:"user_sessions,omitempty"`
2120         Enable        bool               `binapi:"bool,name=enable" json:"enable,omitempty"`
2121         Flags         Nat44EiConfigFlags `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
2122 }
2123
2124 func (m *Nat44EiPluginEnableDisable) Reset()               { *m = Nat44EiPluginEnableDisable{} }
2125 func (*Nat44EiPluginEnableDisable) GetMessageName() string { return "nat44_ei_plugin_enable_disable" }
2126 func (*Nat44EiPluginEnableDisable) GetCrcString() string   { return "bf692144" }
2127 func (*Nat44EiPluginEnableDisable) GetMessageType() api.MessageType {
2128         return api.RequestMessage
2129 }
2130
2131 func (m *Nat44EiPluginEnableDisable) Size() (size int) {
2132         if m == nil {
2133                 return 0
2134         }
2135         size += 4 // m.InsideVrf
2136         size += 4 // m.OutsideVrf
2137         size += 4 // m.Users
2138         size += 4 // m.UserMemory
2139         size += 4 // m.Sessions
2140         size += 4 // m.SessionMemory
2141         size += 4 // m.UserSessions
2142         size += 1 // m.Enable
2143         size += 1 // m.Flags
2144         return size
2145 }
2146 func (m *Nat44EiPluginEnableDisable) Marshal(b []byte) ([]byte, error) {
2147         if b == nil {
2148                 b = make([]byte, m.Size())
2149         }
2150         buf := codec.NewBuffer(b)
2151         buf.EncodeUint32(m.InsideVrf)
2152         buf.EncodeUint32(m.OutsideVrf)
2153         buf.EncodeUint32(m.Users)
2154         buf.EncodeUint32(m.UserMemory)
2155         buf.EncodeUint32(m.Sessions)
2156         buf.EncodeUint32(m.SessionMemory)
2157         buf.EncodeUint32(m.UserSessions)
2158         buf.EncodeBool(m.Enable)
2159         buf.EncodeUint8(uint8(m.Flags))
2160         return buf.Bytes(), nil
2161 }
2162 func (m *Nat44EiPluginEnableDisable) Unmarshal(b []byte) error {
2163         buf := codec.NewBuffer(b)
2164         m.InsideVrf = buf.DecodeUint32()
2165         m.OutsideVrf = buf.DecodeUint32()
2166         m.Users = buf.DecodeUint32()
2167         m.UserMemory = buf.DecodeUint32()
2168         m.Sessions = buf.DecodeUint32()
2169         m.SessionMemory = buf.DecodeUint32()
2170         m.UserSessions = buf.DecodeUint32()
2171         m.Enable = buf.DecodeBool()
2172         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
2173         return nil
2174 }
2175
2176 // Nat44EiPluginEnableDisableReply defines message 'nat44_ei_plugin_enable_disable_reply'.
2177 // InProgress: the message form may change in the future versions
2178 type Nat44EiPluginEnableDisableReply struct {
2179         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2180 }
2181
2182 func (m *Nat44EiPluginEnableDisableReply) Reset() { *m = Nat44EiPluginEnableDisableReply{} }
2183 func (*Nat44EiPluginEnableDisableReply) GetMessageName() string {
2184         return "nat44_ei_plugin_enable_disable_reply"
2185 }
2186 func (*Nat44EiPluginEnableDisableReply) GetCrcString() string { return "e8d4e804" }
2187 func (*Nat44EiPluginEnableDisableReply) GetMessageType() api.MessageType {
2188         return api.ReplyMessage
2189 }
2190
2191 func (m *Nat44EiPluginEnableDisableReply) Size() (size int) {
2192         if m == nil {
2193                 return 0
2194         }
2195         size += 4 // m.Retval
2196         return size
2197 }
2198 func (m *Nat44EiPluginEnableDisableReply) Marshal(b []byte) ([]byte, error) {
2199         if b == nil {
2200                 b = make([]byte, m.Size())
2201         }
2202         buf := codec.NewBuffer(b)
2203         buf.EncodeInt32(m.Retval)
2204         return buf.Bytes(), nil
2205 }
2206 func (m *Nat44EiPluginEnableDisableReply) Unmarshal(b []byte) error {
2207         buf := codec.NewBuffer(b)
2208         m.Retval = buf.DecodeInt32()
2209         return nil
2210 }
2211
2212 // Nat44EiSetAddrAndPortAllocAlg defines message 'nat44_ei_set_addr_and_port_alloc_alg'.
2213 // InProgress: the message form may change in the future versions
2214 type Nat44EiSetAddrAndPortAllocAlg struct {
2215         Alg        uint8  `binapi:"u8,name=alg" json:"alg,omitempty"`
2216         PsidOffset uint8  `binapi:"u8,name=psid_offset" json:"psid_offset,omitempty"`
2217         PsidLength uint8  `binapi:"u8,name=psid_length" json:"psid_length,omitempty"`
2218         Psid       uint16 `binapi:"u16,name=psid" json:"psid,omitempty"`
2219         StartPort  uint16 `binapi:"u16,name=start_port" json:"start_port,omitempty"`
2220         EndPort    uint16 `binapi:"u16,name=end_port" json:"end_port,omitempty"`
2221 }
2222
2223 func (m *Nat44EiSetAddrAndPortAllocAlg) Reset() { *m = Nat44EiSetAddrAndPortAllocAlg{} }
2224 func (*Nat44EiSetAddrAndPortAllocAlg) GetMessageName() string {
2225         return "nat44_ei_set_addr_and_port_alloc_alg"
2226 }
2227 func (*Nat44EiSetAddrAndPortAllocAlg) GetCrcString() string { return "deeb746f" }
2228 func (*Nat44EiSetAddrAndPortAllocAlg) GetMessageType() api.MessageType {
2229         return api.RequestMessage
2230 }
2231
2232 func (m *Nat44EiSetAddrAndPortAllocAlg) Size() (size int) {
2233         if m == nil {
2234                 return 0
2235         }
2236         size += 1 // m.Alg
2237         size += 1 // m.PsidOffset
2238         size += 1 // m.PsidLength
2239         size += 2 // m.Psid
2240         size += 2 // m.StartPort
2241         size += 2 // m.EndPort
2242         return size
2243 }
2244 func (m *Nat44EiSetAddrAndPortAllocAlg) Marshal(b []byte) ([]byte, error) {
2245         if b == nil {
2246                 b = make([]byte, m.Size())
2247         }
2248         buf := codec.NewBuffer(b)
2249         buf.EncodeUint8(m.Alg)
2250         buf.EncodeUint8(m.PsidOffset)
2251         buf.EncodeUint8(m.PsidLength)
2252         buf.EncodeUint16(m.Psid)
2253         buf.EncodeUint16(m.StartPort)
2254         buf.EncodeUint16(m.EndPort)
2255         return buf.Bytes(), nil
2256 }
2257 func (m *Nat44EiSetAddrAndPortAllocAlg) Unmarshal(b []byte) error {
2258         buf := codec.NewBuffer(b)
2259         m.Alg = buf.DecodeUint8()
2260         m.PsidOffset = buf.DecodeUint8()
2261         m.PsidLength = buf.DecodeUint8()
2262         m.Psid = buf.DecodeUint16()
2263         m.StartPort = buf.DecodeUint16()
2264         m.EndPort = buf.DecodeUint16()
2265         return nil
2266 }
2267
2268 // Nat44EiSetAddrAndPortAllocAlgReply defines message 'nat44_ei_set_addr_and_port_alloc_alg_reply'.
2269 // InProgress: the message form may change in the future versions
2270 type Nat44EiSetAddrAndPortAllocAlgReply struct {
2271         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2272 }
2273
2274 func (m *Nat44EiSetAddrAndPortAllocAlgReply) Reset() { *m = Nat44EiSetAddrAndPortAllocAlgReply{} }
2275 func (*Nat44EiSetAddrAndPortAllocAlgReply) GetMessageName() string {
2276         return "nat44_ei_set_addr_and_port_alloc_alg_reply"
2277 }
2278 func (*Nat44EiSetAddrAndPortAllocAlgReply) GetCrcString() string { return "e8d4e804" }
2279 func (*Nat44EiSetAddrAndPortAllocAlgReply) GetMessageType() api.MessageType {
2280         return api.ReplyMessage
2281 }
2282
2283 func (m *Nat44EiSetAddrAndPortAllocAlgReply) Size() (size int) {
2284         if m == nil {
2285                 return 0
2286         }
2287         size += 4 // m.Retval
2288         return size
2289 }
2290 func (m *Nat44EiSetAddrAndPortAllocAlgReply) Marshal(b []byte) ([]byte, error) {
2291         if b == nil {
2292                 b = make([]byte, m.Size())
2293         }
2294         buf := codec.NewBuffer(b)
2295         buf.EncodeInt32(m.Retval)
2296         return buf.Bytes(), nil
2297 }
2298 func (m *Nat44EiSetAddrAndPortAllocAlgReply) Unmarshal(b []byte) error {
2299         buf := codec.NewBuffer(b)
2300         m.Retval = buf.DecodeInt32()
2301         return nil
2302 }
2303
2304 // Nat44EiSetFqOptions defines message 'nat44_ei_set_fq_options'.
2305 // InProgress: the message form may change in the future versions
2306 type Nat44EiSetFqOptions struct {
2307         FrameQueueNelts uint32 `binapi:"u32,name=frame_queue_nelts" json:"frame_queue_nelts,omitempty"`
2308 }
2309
2310 func (m *Nat44EiSetFqOptions) Reset()               { *m = Nat44EiSetFqOptions{} }
2311 func (*Nat44EiSetFqOptions) GetMessageName() string { return "nat44_ei_set_fq_options" }
2312 func (*Nat44EiSetFqOptions) GetCrcString() string   { return "2399bd71" }
2313 func (*Nat44EiSetFqOptions) GetMessageType() api.MessageType {
2314         return api.RequestMessage
2315 }
2316
2317 func (m *Nat44EiSetFqOptions) Size() (size int) {
2318         if m == nil {
2319                 return 0
2320         }
2321         size += 4 // m.FrameQueueNelts
2322         return size
2323 }
2324 func (m *Nat44EiSetFqOptions) Marshal(b []byte) ([]byte, error) {
2325         if b == nil {
2326                 b = make([]byte, m.Size())
2327         }
2328         buf := codec.NewBuffer(b)
2329         buf.EncodeUint32(m.FrameQueueNelts)
2330         return buf.Bytes(), nil
2331 }
2332 func (m *Nat44EiSetFqOptions) Unmarshal(b []byte) error {
2333         buf := codec.NewBuffer(b)
2334         m.FrameQueueNelts = buf.DecodeUint32()
2335         return nil
2336 }
2337
2338 // Nat44EiSetFqOptionsReply defines message 'nat44_ei_set_fq_options_reply'.
2339 // InProgress: the message form may change in the future versions
2340 type Nat44EiSetFqOptionsReply struct {
2341         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2342 }
2343
2344 func (m *Nat44EiSetFqOptionsReply) Reset()               { *m = Nat44EiSetFqOptionsReply{} }
2345 func (*Nat44EiSetFqOptionsReply) GetMessageName() string { return "nat44_ei_set_fq_options_reply" }
2346 func (*Nat44EiSetFqOptionsReply) GetCrcString() string   { return "e8d4e804" }
2347 func (*Nat44EiSetFqOptionsReply) GetMessageType() api.MessageType {
2348         return api.ReplyMessage
2349 }
2350
2351 func (m *Nat44EiSetFqOptionsReply) Size() (size int) {
2352         if m == nil {
2353                 return 0
2354         }
2355         size += 4 // m.Retval
2356         return size
2357 }
2358 func (m *Nat44EiSetFqOptionsReply) Marshal(b []byte) ([]byte, error) {
2359         if b == nil {
2360                 b = make([]byte, m.Size())
2361         }
2362         buf := codec.NewBuffer(b)
2363         buf.EncodeInt32(m.Retval)
2364         return buf.Bytes(), nil
2365 }
2366 func (m *Nat44EiSetFqOptionsReply) Unmarshal(b []byte) error {
2367         buf := codec.NewBuffer(b)
2368         m.Retval = buf.DecodeInt32()
2369         return nil
2370 }
2371
2372 // Nat44EiSetLogLevel defines message 'nat44_ei_set_log_level'.
2373 // Deprecated: the message will be removed in the future versions
2374 type Nat44EiSetLogLevel struct {
2375         LogLevel nat_types.NatLogLevel `binapi:"nat_log_level,name=log_level" json:"log_level,omitempty"`
2376 }
2377
2378 func (m *Nat44EiSetLogLevel) Reset()               { *m = Nat44EiSetLogLevel{} }
2379 func (*Nat44EiSetLogLevel) GetMessageName() string { return "nat44_ei_set_log_level" }
2380 func (*Nat44EiSetLogLevel) GetCrcString() string   { return "70076bfe" }
2381 func (*Nat44EiSetLogLevel) GetMessageType() api.MessageType {
2382         return api.RequestMessage
2383 }
2384
2385 func (m *Nat44EiSetLogLevel) Size() (size int) {
2386         if m == nil {
2387                 return 0
2388         }
2389         size += 1 // m.LogLevel
2390         return size
2391 }
2392 func (m *Nat44EiSetLogLevel) Marshal(b []byte) ([]byte, error) {
2393         if b == nil {
2394                 b = make([]byte, m.Size())
2395         }
2396         buf := codec.NewBuffer(b)
2397         buf.EncodeUint8(uint8(m.LogLevel))
2398         return buf.Bytes(), nil
2399 }
2400 func (m *Nat44EiSetLogLevel) Unmarshal(b []byte) error {
2401         buf := codec.NewBuffer(b)
2402         m.LogLevel = nat_types.NatLogLevel(buf.DecodeUint8())
2403         return nil
2404 }
2405
2406 // Nat44EiSetLogLevelReply defines message 'nat44_ei_set_log_level_reply'.
2407 // Deprecated: the message will be removed in the future versions
2408 type Nat44EiSetLogLevelReply struct {
2409         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2410 }
2411
2412 func (m *Nat44EiSetLogLevelReply) Reset()               { *m = Nat44EiSetLogLevelReply{} }
2413 func (*Nat44EiSetLogLevelReply) GetMessageName() string { return "nat44_ei_set_log_level_reply" }
2414 func (*Nat44EiSetLogLevelReply) GetCrcString() string   { return "e8d4e804" }
2415 func (*Nat44EiSetLogLevelReply) GetMessageType() api.MessageType {
2416         return api.ReplyMessage
2417 }
2418
2419 func (m *Nat44EiSetLogLevelReply) Size() (size int) {
2420         if m == nil {
2421                 return 0
2422         }
2423         size += 4 // m.Retval
2424         return size
2425 }
2426 func (m *Nat44EiSetLogLevelReply) Marshal(b []byte) ([]byte, error) {
2427         if b == nil {
2428                 b = make([]byte, m.Size())
2429         }
2430         buf := codec.NewBuffer(b)
2431         buf.EncodeInt32(m.Retval)
2432         return buf.Bytes(), nil
2433 }
2434 func (m *Nat44EiSetLogLevelReply) Unmarshal(b []byte) error {
2435         buf := codec.NewBuffer(b)
2436         m.Retval = buf.DecodeInt32()
2437         return nil
2438 }
2439
2440 // Nat44EiSetMssClamping defines message 'nat44_ei_set_mss_clamping'.
2441 // InProgress: the message form may change in the future versions
2442 type Nat44EiSetMssClamping struct {
2443         MssValue uint16 `binapi:"u16,name=mss_value" json:"mss_value,omitempty"`
2444         Enable   bool   `binapi:"bool,name=enable" json:"enable,omitempty"`
2445 }
2446
2447 func (m *Nat44EiSetMssClamping) Reset()               { *m = Nat44EiSetMssClamping{} }
2448 func (*Nat44EiSetMssClamping) GetMessageName() string { return "nat44_ei_set_mss_clamping" }
2449 func (*Nat44EiSetMssClamping) GetCrcString() string   { return "25e90abb" }
2450 func (*Nat44EiSetMssClamping) GetMessageType() api.MessageType {
2451         return api.RequestMessage
2452 }
2453
2454 func (m *Nat44EiSetMssClamping) Size() (size int) {
2455         if m == nil {
2456                 return 0
2457         }
2458         size += 2 // m.MssValue
2459         size += 1 // m.Enable
2460         return size
2461 }
2462 func (m *Nat44EiSetMssClamping) Marshal(b []byte) ([]byte, error) {
2463         if b == nil {
2464                 b = make([]byte, m.Size())
2465         }
2466         buf := codec.NewBuffer(b)
2467         buf.EncodeUint16(m.MssValue)
2468         buf.EncodeBool(m.Enable)
2469         return buf.Bytes(), nil
2470 }
2471 func (m *Nat44EiSetMssClamping) Unmarshal(b []byte) error {
2472         buf := codec.NewBuffer(b)
2473         m.MssValue = buf.DecodeUint16()
2474         m.Enable = buf.DecodeBool()
2475         return nil
2476 }
2477
2478 // Nat44EiSetMssClampingReply defines message 'nat44_ei_set_mss_clamping_reply'.
2479 // InProgress: the message form may change in the future versions
2480 type Nat44EiSetMssClampingReply struct {
2481         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2482 }
2483
2484 func (m *Nat44EiSetMssClampingReply) Reset()               { *m = Nat44EiSetMssClampingReply{} }
2485 func (*Nat44EiSetMssClampingReply) GetMessageName() string { return "nat44_ei_set_mss_clamping_reply" }
2486 func (*Nat44EiSetMssClampingReply) GetCrcString() string   { return "e8d4e804" }
2487 func (*Nat44EiSetMssClampingReply) GetMessageType() api.MessageType {
2488         return api.ReplyMessage
2489 }
2490
2491 func (m *Nat44EiSetMssClampingReply) Size() (size int) {
2492         if m == nil {
2493                 return 0
2494         }
2495         size += 4 // m.Retval
2496         return size
2497 }
2498 func (m *Nat44EiSetMssClampingReply) Marshal(b []byte) ([]byte, error) {
2499         if b == nil {
2500                 b = make([]byte, m.Size())
2501         }
2502         buf := codec.NewBuffer(b)
2503         buf.EncodeInt32(m.Retval)
2504         return buf.Bytes(), nil
2505 }
2506 func (m *Nat44EiSetMssClampingReply) Unmarshal(b []byte) error {
2507         buf := codec.NewBuffer(b)
2508         m.Retval = buf.DecodeInt32()
2509         return nil
2510 }
2511
2512 // Nat44EiSetTimeouts defines message 'nat44_ei_set_timeouts'.
2513 // InProgress: the message form may change in the future versions
2514 type Nat44EiSetTimeouts struct {
2515         UDP            uint32 `binapi:"u32,name=udp" json:"udp,omitempty"`
2516         TCPEstablished uint32 `binapi:"u32,name=tcp_established" json:"tcp_established,omitempty"`
2517         TCPTransitory  uint32 `binapi:"u32,name=tcp_transitory" json:"tcp_transitory,omitempty"`
2518         ICMP           uint32 `binapi:"u32,name=icmp" json:"icmp,omitempty"`
2519 }
2520
2521 func (m *Nat44EiSetTimeouts) Reset()               { *m = Nat44EiSetTimeouts{} }
2522 func (*Nat44EiSetTimeouts) GetMessageName() string { return "nat44_ei_set_timeouts" }
2523 func (*Nat44EiSetTimeouts) GetCrcString() string   { return "d4746b16" }
2524 func (*Nat44EiSetTimeouts) GetMessageType() api.MessageType {
2525         return api.RequestMessage
2526 }
2527
2528 func (m *Nat44EiSetTimeouts) Size() (size int) {
2529         if m == nil {
2530                 return 0
2531         }
2532         size += 4 // m.UDP
2533         size += 4 // m.TCPEstablished
2534         size += 4 // m.TCPTransitory
2535         size += 4 // m.ICMP
2536         return size
2537 }
2538 func (m *Nat44EiSetTimeouts) Marshal(b []byte) ([]byte, error) {
2539         if b == nil {
2540                 b = make([]byte, m.Size())
2541         }
2542         buf := codec.NewBuffer(b)
2543         buf.EncodeUint32(m.UDP)
2544         buf.EncodeUint32(m.TCPEstablished)
2545         buf.EncodeUint32(m.TCPTransitory)
2546         buf.EncodeUint32(m.ICMP)
2547         return buf.Bytes(), nil
2548 }
2549 func (m *Nat44EiSetTimeouts) Unmarshal(b []byte) error {
2550         buf := codec.NewBuffer(b)
2551         m.UDP = buf.DecodeUint32()
2552         m.TCPEstablished = buf.DecodeUint32()
2553         m.TCPTransitory = buf.DecodeUint32()
2554         m.ICMP = buf.DecodeUint32()
2555         return nil
2556 }
2557
2558 // Nat44EiSetTimeoutsReply defines message 'nat44_ei_set_timeouts_reply'.
2559 // InProgress: the message form may change in the future versions
2560 type Nat44EiSetTimeoutsReply struct {
2561         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2562 }
2563
2564 func (m *Nat44EiSetTimeoutsReply) Reset()               { *m = Nat44EiSetTimeoutsReply{} }
2565 func (*Nat44EiSetTimeoutsReply) GetMessageName() string { return "nat44_ei_set_timeouts_reply" }
2566 func (*Nat44EiSetTimeoutsReply) GetCrcString() string   { return "e8d4e804" }
2567 func (*Nat44EiSetTimeoutsReply) GetMessageType() api.MessageType {
2568         return api.ReplyMessage
2569 }
2570
2571 func (m *Nat44EiSetTimeoutsReply) Size() (size int) {
2572         if m == nil {
2573                 return 0
2574         }
2575         size += 4 // m.Retval
2576         return size
2577 }
2578 func (m *Nat44EiSetTimeoutsReply) Marshal(b []byte) ([]byte, error) {
2579         if b == nil {
2580                 b = make([]byte, m.Size())
2581         }
2582         buf := codec.NewBuffer(b)
2583         buf.EncodeInt32(m.Retval)
2584         return buf.Bytes(), nil
2585 }
2586 func (m *Nat44EiSetTimeoutsReply) Unmarshal(b []byte) error {
2587         buf := codec.NewBuffer(b)
2588         m.Retval = buf.DecodeInt32()
2589         return nil
2590 }
2591
2592 // Nat44EiSetWorkers defines message 'nat44_ei_set_workers'.
2593 // InProgress: the message form may change in the future versions
2594 type Nat44EiSetWorkers struct {
2595         WorkerMask uint64 `binapi:"u64,name=worker_mask" json:"worker_mask,omitempty"`
2596 }
2597
2598 func (m *Nat44EiSetWorkers) Reset()               { *m = Nat44EiSetWorkers{} }
2599 func (*Nat44EiSetWorkers) GetMessageName() string { return "nat44_ei_set_workers" }
2600 func (*Nat44EiSetWorkers) GetCrcString() string   { return "da926638" }
2601 func (*Nat44EiSetWorkers) GetMessageType() api.MessageType {
2602         return api.RequestMessage
2603 }
2604
2605 func (m *Nat44EiSetWorkers) Size() (size int) {
2606         if m == nil {
2607                 return 0
2608         }
2609         size += 8 // m.WorkerMask
2610         return size
2611 }
2612 func (m *Nat44EiSetWorkers) Marshal(b []byte) ([]byte, error) {
2613         if b == nil {
2614                 b = make([]byte, m.Size())
2615         }
2616         buf := codec.NewBuffer(b)
2617         buf.EncodeUint64(m.WorkerMask)
2618         return buf.Bytes(), nil
2619 }
2620 func (m *Nat44EiSetWorkers) Unmarshal(b []byte) error {
2621         buf := codec.NewBuffer(b)
2622         m.WorkerMask = buf.DecodeUint64()
2623         return nil
2624 }
2625
2626 // Nat44EiSetWorkersReply defines message 'nat44_ei_set_workers_reply'.
2627 // InProgress: the message form may change in the future versions
2628 type Nat44EiSetWorkersReply struct {
2629         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2630 }
2631
2632 func (m *Nat44EiSetWorkersReply) Reset()               { *m = Nat44EiSetWorkersReply{} }
2633 func (*Nat44EiSetWorkersReply) GetMessageName() string { return "nat44_ei_set_workers_reply" }
2634 func (*Nat44EiSetWorkersReply) GetCrcString() string   { return "e8d4e804" }
2635 func (*Nat44EiSetWorkersReply) GetMessageType() api.MessageType {
2636         return api.ReplyMessage
2637 }
2638
2639 func (m *Nat44EiSetWorkersReply) Size() (size int) {
2640         if m == nil {
2641                 return 0
2642         }
2643         size += 4 // m.Retval
2644         return size
2645 }
2646 func (m *Nat44EiSetWorkersReply) Marshal(b []byte) ([]byte, error) {
2647         if b == nil {
2648                 b = make([]byte, m.Size())
2649         }
2650         buf := codec.NewBuffer(b)
2651         buf.EncodeInt32(m.Retval)
2652         return buf.Bytes(), nil
2653 }
2654 func (m *Nat44EiSetWorkersReply) Unmarshal(b []byte) error {
2655         buf := codec.NewBuffer(b)
2656         m.Retval = buf.DecodeInt32()
2657         return nil
2658 }
2659
2660 // Nat44EiShowFqOptions defines message 'nat44_ei_show_fq_options'.
2661 // InProgress: the message form may change in the future versions
2662 type Nat44EiShowFqOptions struct{}
2663
2664 func (m *Nat44EiShowFqOptions) Reset()               { *m = Nat44EiShowFqOptions{} }
2665 func (*Nat44EiShowFqOptions) GetMessageName() string { return "nat44_ei_show_fq_options" }
2666 func (*Nat44EiShowFqOptions) GetCrcString() string   { return "51077d14" }
2667 func (*Nat44EiShowFqOptions) GetMessageType() api.MessageType {
2668         return api.RequestMessage
2669 }
2670
2671 func (m *Nat44EiShowFqOptions) Size() (size int) {
2672         if m == nil {
2673                 return 0
2674         }
2675         return size
2676 }
2677 func (m *Nat44EiShowFqOptions) Marshal(b []byte) ([]byte, error) {
2678         if b == nil {
2679                 b = make([]byte, m.Size())
2680         }
2681         buf := codec.NewBuffer(b)
2682         return buf.Bytes(), nil
2683 }
2684 func (m *Nat44EiShowFqOptions) Unmarshal(b []byte) error {
2685         return nil
2686 }
2687
2688 // Nat44EiShowFqOptionsReply defines message 'nat44_ei_show_fq_options_reply'.
2689 // InProgress: the message form may change in the future versions
2690 type Nat44EiShowFqOptionsReply struct {
2691         Retval          int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
2692         FrameQueueNelts uint32 `binapi:"u32,name=frame_queue_nelts" json:"frame_queue_nelts,omitempty"`
2693 }
2694
2695 func (m *Nat44EiShowFqOptionsReply) Reset()               { *m = Nat44EiShowFqOptionsReply{} }
2696 func (*Nat44EiShowFqOptionsReply) GetMessageName() string { return "nat44_ei_show_fq_options_reply" }
2697 func (*Nat44EiShowFqOptionsReply) GetCrcString() string   { return "7213b545" }
2698 func (*Nat44EiShowFqOptionsReply) GetMessageType() api.MessageType {
2699         return api.ReplyMessage
2700 }
2701
2702 func (m *Nat44EiShowFqOptionsReply) Size() (size int) {
2703         if m == nil {
2704                 return 0
2705         }
2706         size += 4 // m.Retval
2707         size += 4 // m.FrameQueueNelts
2708         return size
2709 }
2710 func (m *Nat44EiShowFqOptionsReply) Marshal(b []byte) ([]byte, error) {
2711         if b == nil {
2712                 b = make([]byte, m.Size())
2713         }
2714         buf := codec.NewBuffer(b)
2715         buf.EncodeInt32(m.Retval)
2716         buf.EncodeUint32(m.FrameQueueNelts)
2717         return buf.Bytes(), nil
2718 }
2719 func (m *Nat44EiShowFqOptionsReply) Unmarshal(b []byte) error {
2720         buf := codec.NewBuffer(b)
2721         m.Retval = buf.DecodeInt32()
2722         m.FrameQueueNelts = buf.DecodeUint32()
2723         return nil
2724 }
2725
2726 // Nat44EiShowRunningConfig defines message 'nat44_ei_show_running_config'.
2727 // InProgress: the message form may change in the future versions
2728 type Nat44EiShowRunningConfig struct{}
2729
2730 func (m *Nat44EiShowRunningConfig) Reset()               { *m = Nat44EiShowRunningConfig{} }
2731 func (*Nat44EiShowRunningConfig) GetMessageName() string { return "nat44_ei_show_running_config" }
2732 func (*Nat44EiShowRunningConfig) GetCrcString() string   { return "51077d14" }
2733 func (*Nat44EiShowRunningConfig) GetMessageType() api.MessageType {
2734         return api.RequestMessage
2735 }
2736
2737 func (m *Nat44EiShowRunningConfig) Size() (size int) {
2738         if m == nil {
2739                 return 0
2740         }
2741         return size
2742 }
2743 func (m *Nat44EiShowRunningConfig) Marshal(b []byte) ([]byte, error) {
2744         if b == nil {
2745                 b = make([]byte, m.Size())
2746         }
2747         buf := codec.NewBuffer(b)
2748         return buf.Bytes(), nil
2749 }
2750 func (m *Nat44EiShowRunningConfig) Unmarshal(b []byte) error {
2751         return nil
2752 }
2753
2754 // Nat44EiShowRunningConfigReply defines message 'nat44_ei_show_running_config_reply'.
2755 // InProgress: the message form may change in the future versions
2756 type Nat44EiShowRunningConfigReply struct {
2757         Retval              int32                 `binapi:"i32,name=retval" json:"retval,omitempty"`
2758         InsideVrf           uint32                `binapi:"u32,name=inside_vrf" json:"inside_vrf,omitempty"`
2759         OutsideVrf          uint32                `binapi:"u32,name=outside_vrf" json:"outside_vrf,omitempty"`
2760         Users               uint32                `binapi:"u32,name=users" json:"users,omitempty"`
2761         Sessions            uint32                `binapi:"u32,name=sessions" json:"sessions,omitempty"`
2762         UserSessions        uint32                `binapi:"u32,name=user_sessions" json:"user_sessions,omitempty"`
2763         UserBuckets         uint32                `binapi:"u32,name=user_buckets" json:"user_buckets,omitempty"`
2764         TranslationBuckets  uint32                `binapi:"u32,name=translation_buckets" json:"translation_buckets,omitempty"`
2765         ForwardingEnabled   bool                  `binapi:"bool,name=forwarding_enabled" json:"forwarding_enabled,omitempty"`
2766         IpfixLoggingEnabled bool                  `binapi:"bool,name=ipfix_logging_enabled" json:"ipfix_logging_enabled,omitempty"`
2767         Timeouts            nat_types.NatTimeouts `binapi:"nat_timeouts,name=timeouts" json:"timeouts,omitempty"`
2768         LogLevel            nat_types.NatLogLevel `binapi:"nat_log_level,name=log_level" json:"log_level,omitempty"`
2769         Flags               Nat44EiConfigFlags    `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
2770 }
2771
2772 func (m *Nat44EiShowRunningConfigReply) Reset() { *m = Nat44EiShowRunningConfigReply{} }
2773 func (*Nat44EiShowRunningConfigReply) GetMessageName() string {
2774         return "nat44_ei_show_running_config_reply"
2775 }
2776 func (*Nat44EiShowRunningConfigReply) GetCrcString() string { return "41b66a81" }
2777 func (*Nat44EiShowRunningConfigReply) GetMessageType() api.MessageType {
2778         return api.ReplyMessage
2779 }
2780
2781 func (m *Nat44EiShowRunningConfigReply) Size() (size int) {
2782         if m == nil {
2783                 return 0
2784         }
2785         size += 4 // m.Retval
2786         size += 4 // m.InsideVrf
2787         size += 4 // m.OutsideVrf
2788         size += 4 // m.Users
2789         size += 4 // m.Sessions
2790         size += 4 // m.UserSessions
2791         size += 4 // m.UserBuckets
2792         size += 4 // m.TranslationBuckets
2793         size += 1 // m.ForwardingEnabled
2794         size += 1 // m.IpfixLoggingEnabled
2795         size += 4 // m.Timeouts.UDP
2796         size += 4 // m.Timeouts.TCPEstablished
2797         size += 4 // m.Timeouts.TCPTransitory
2798         size += 4 // m.Timeouts.ICMP
2799         size += 1 // m.LogLevel
2800         size += 1 // m.Flags
2801         return size
2802 }
2803 func (m *Nat44EiShowRunningConfigReply) Marshal(b []byte) ([]byte, error) {
2804         if b == nil {
2805                 b = make([]byte, m.Size())
2806         }
2807         buf := codec.NewBuffer(b)
2808         buf.EncodeInt32(m.Retval)
2809         buf.EncodeUint32(m.InsideVrf)
2810         buf.EncodeUint32(m.OutsideVrf)
2811         buf.EncodeUint32(m.Users)
2812         buf.EncodeUint32(m.Sessions)
2813         buf.EncodeUint32(m.UserSessions)
2814         buf.EncodeUint32(m.UserBuckets)
2815         buf.EncodeUint32(m.TranslationBuckets)
2816         buf.EncodeBool(m.ForwardingEnabled)
2817         buf.EncodeBool(m.IpfixLoggingEnabled)
2818         buf.EncodeUint32(m.Timeouts.UDP)
2819         buf.EncodeUint32(m.Timeouts.TCPEstablished)
2820         buf.EncodeUint32(m.Timeouts.TCPTransitory)
2821         buf.EncodeUint32(m.Timeouts.ICMP)
2822         buf.EncodeUint8(uint8(m.LogLevel))
2823         buf.EncodeUint8(uint8(m.Flags))
2824         return buf.Bytes(), nil
2825 }
2826 func (m *Nat44EiShowRunningConfigReply) Unmarshal(b []byte) error {
2827         buf := codec.NewBuffer(b)
2828         m.Retval = buf.DecodeInt32()
2829         m.InsideVrf = buf.DecodeUint32()
2830         m.OutsideVrf = buf.DecodeUint32()
2831         m.Users = buf.DecodeUint32()
2832         m.Sessions = buf.DecodeUint32()
2833         m.UserSessions = buf.DecodeUint32()
2834         m.UserBuckets = buf.DecodeUint32()
2835         m.TranslationBuckets = buf.DecodeUint32()
2836         m.ForwardingEnabled = buf.DecodeBool()
2837         m.IpfixLoggingEnabled = buf.DecodeBool()
2838         m.Timeouts.UDP = buf.DecodeUint32()
2839         m.Timeouts.TCPEstablished = buf.DecodeUint32()
2840         m.Timeouts.TCPTransitory = buf.DecodeUint32()
2841         m.Timeouts.ICMP = buf.DecodeUint32()
2842         m.LogLevel = nat_types.NatLogLevel(buf.DecodeUint8())
2843         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
2844         return nil
2845 }
2846
2847 // Nat44EiStaticMappingDetails defines message 'nat44_ei_static_mapping_details'.
2848 // InProgress: the message form may change in the future versions
2849 type Nat44EiStaticMappingDetails struct {
2850         Flags             Nat44EiConfigFlags             `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
2851         LocalIPAddress    ip_types.IP4Address            `binapi:"ip4_address,name=local_ip_address" json:"local_ip_address,omitempty"`
2852         ExternalIPAddress ip_types.IP4Address            `binapi:"ip4_address,name=external_ip_address" json:"external_ip_address,omitempty"`
2853         Protocol          uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
2854         LocalPort         uint16                         `binapi:"u16,name=local_port" json:"local_port,omitempty"`
2855         ExternalPort      uint16                         `binapi:"u16,name=external_port" json:"external_port,omitempty"`
2856         ExternalSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=external_sw_if_index" json:"external_sw_if_index,omitempty"`
2857         VrfID             uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
2858         Tag               string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
2859 }
2860
2861 func (m *Nat44EiStaticMappingDetails) Reset()               { *m = Nat44EiStaticMappingDetails{} }
2862 func (*Nat44EiStaticMappingDetails) GetMessageName() string { return "nat44_ei_static_mapping_details" }
2863 func (*Nat44EiStaticMappingDetails) GetCrcString() string   { return "6b51ca6e" }
2864 func (*Nat44EiStaticMappingDetails) GetMessageType() api.MessageType {
2865         return api.ReplyMessage
2866 }
2867
2868 func (m *Nat44EiStaticMappingDetails) Size() (size int) {
2869         if m == nil {
2870                 return 0
2871         }
2872         size += 1     // m.Flags
2873         size += 1 * 4 // m.LocalIPAddress
2874         size += 1 * 4 // m.ExternalIPAddress
2875         size += 1     // m.Protocol
2876         size += 2     // m.LocalPort
2877         size += 2     // m.ExternalPort
2878         size += 4     // m.ExternalSwIfIndex
2879         size += 4     // m.VrfID
2880         size += 64    // m.Tag
2881         return size
2882 }
2883 func (m *Nat44EiStaticMappingDetails) Marshal(b []byte) ([]byte, error) {
2884         if b == nil {
2885                 b = make([]byte, m.Size())
2886         }
2887         buf := codec.NewBuffer(b)
2888         buf.EncodeUint8(uint8(m.Flags))
2889         buf.EncodeBytes(m.LocalIPAddress[:], 4)
2890         buf.EncodeBytes(m.ExternalIPAddress[:], 4)
2891         buf.EncodeUint8(m.Protocol)
2892         buf.EncodeUint16(m.LocalPort)
2893         buf.EncodeUint16(m.ExternalPort)
2894         buf.EncodeUint32(uint32(m.ExternalSwIfIndex))
2895         buf.EncodeUint32(m.VrfID)
2896         buf.EncodeString(m.Tag, 64)
2897         return buf.Bytes(), nil
2898 }
2899 func (m *Nat44EiStaticMappingDetails) Unmarshal(b []byte) error {
2900         buf := codec.NewBuffer(b)
2901         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
2902         copy(m.LocalIPAddress[:], buf.DecodeBytes(4))
2903         copy(m.ExternalIPAddress[:], buf.DecodeBytes(4))
2904         m.Protocol = buf.DecodeUint8()
2905         m.LocalPort = buf.DecodeUint16()
2906         m.ExternalPort = buf.DecodeUint16()
2907         m.ExternalSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
2908         m.VrfID = buf.DecodeUint32()
2909         m.Tag = buf.DecodeString(64)
2910         return nil
2911 }
2912
2913 // Nat44EiStaticMappingDump defines message 'nat44_ei_static_mapping_dump'.
2914 // InProgress: the message form may change in the future versions
2915 type Nat44EiStaticMappingDump struct{}
2916
2917 func (m *Nat44EiStaticMappingDump) Reset()               { *m = Nat44EiStaticMappingDump{} }
2918 func (*Nat44EiStaticMappingDump) GetMessageName() string { return "nat44_ei_static_mapping_dump" }
2919 func (*Nat44EiStaticMappingDump) GetCrcString() string   { return "51077d14" }
2920 func (*Nat44EiStaticMappingDump) GetMessageType() api.MessageType {
2921         return api.RequestMessage
2922 }
2923
2924 func (m *Nat44EiStaticMappingDump) Size() (size int) {
2925         if m == nil {
2926                 return 0
2927         }
2928         return size
2929 }
2930 func (m *Nat44EiStaticMappingDump) Marshal(b []byte) ([]byte, error) {
2931         if b == nil {
2932                 b = make([]byte, m.Size())
2933         }
2934         buf := codec.NewBuffer(b)
2935         return buf.Bytes(), nil
2936 }
2937 func (m *Nat44EiStaticMappingDump) Unmarshal(b []byte) error {
2938         return nil
2939 }
2940
2941 // Nat44EiUserDetails defines message 'nat44_ei_user_details'.
2942 // InProgress: the message form may change in the future versions
2943 type Nat44EiUserDetails struct {
2944         VrfID           uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
2945         IPAddress       ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
2946         Nsessions       uint32              `binapi:"u32,name=nsessions" json:"nsessions,omitempty"`
2947         Nstaticsessions uint32              `binapi:"u32,name=nstaticsessions" json:"nstaticsessions,omitempty"`
2948 }
2949
2950 func (m *Nat44EiUserDetails) Reset()               { *m = Nat44EiUserDetails{} }
2951 func (*Nat44EiUserDetails) GetMessageName() string { return "nat44_ei_user_details" }
2952 func (*Nat44EiUserDetails) GetCrcString() string   { return "355896c2" }
2953 func (*Nat44EiUserDetails) GetMessageType() api.MessageType {
2954         return api.ReplyMessage
2955 }
2956
2957 func (m *Nat44EiUserDetails) Size() (size int) {
2958         if m == nil {
2959                 return 0
2960         }
2961         size += 4     // m.VrfID
2962         size += 1 * 4 // m.IPAddress
2963         size += 4     // m.Nsessions
2964         size += 4     // m.Nstaticsessions
2965         return size
2966 }
2967 func (m *Nat44EiUserDetails) Marshal(b []byte) ([]byte, error) {
2968         if b == nil {
2969                 b = make([]byte, m.Size())
2970         }
2971         buf := codec.NewBuffer(b)
2972         buf.EncodeUint32(m.VrfID)
2973         buf.EncodeBytes(m.IPAddress[:], 4)
2974         buf.EncodeUint32(m.Nsessions)
2975         buf.EncodeUint32(m.Nstaticsessions)
2976         return buf.Bytes(), nil
2977 }
2978 func (m *Nat44EiUserDetails) Unmarshal(b []byte) error {
2979         buf := codec.NewBuffer(b)
2980         m.VrfID = buf.DecodeUint32()
2981         copy(m.IPAddress[:], buf.DecodeBytes(4))
2982         m.Nsessions = buf.DecodeUint32()
2983         m.Nstaticsessions = buf.DecodeUint32()
2984         return nil
2985 }
2986
2987 // Nat44EiUserDump defines message 'nat44_ei_user_dump'.
2988 // InProgress: the message form may change in the future versions
2989 type Nat44EiUserDump struct{}
2990
2991 func (m *Nat44EiUserDump) Reset()               { *m = Nat44EiUserDump{} }
2992 func (*Nat44EiUserDump) GetMessageName() string { return "nat44_ei_user_dump" }
2993 func (*Nat44EiUserDump) GetCrcString() string   { return "51077d14" }
2994 func (*Nat44EiUserDump) GetMessageType() api.MessageType {
2995         return api.RequestMessage
2996 }
2997
2998 func (m *Nat44EiUserDump) Size() (size int) {
2999         if m == nil {
3000                 return 0
3001         }
3002         return size
3003 }
3004 func (m *Nat44EiUserDump) Marshal(b []byte) ([]byte, error) {
3005         if b == nil {
3006                 b = make([]byte, m.Size())
3007         }
3008         buf := codec.NewBuffer(b)
3009         return buf.Bytes(), nil
3010 }
3011 func (m *Nat44EiUserDump) Unmarshal(b []byte) error {
3012         return nil
3013 }
3014
3015 // Nat44EiUserSessionDetails defines message 'nat44_ei_user_session_details'.
3016 // InProgress: the message form may change in the future versions
3017 type Nat44EiUserSessionDetails struct {
3018         OutsideIPAddress ip_types.IP4Address `binapi:"ip4_address,name=outside_ip_address" json:"outside_ip_address,omitempty"`
3019         OutsidePort      uint16              `binapi:"u16,name=outside_port" json:"outside_port,omitempty"`
3020         InsideIPAddress  ip_types.IP4Address `binapi:"ip4_address,name=inside_ip_address" json:"inside_ip_address,omitempty"`
3021         InsidePort       uint16              `binapi:"u16,name=inside_port" json:"inside_port,omitempty"`
3022         Protocol         uint16              `binapi:"u16,name=protocol" json:"protocol,omitempty"`
3023         Flags            Nat44EiConfigFlags  `binapi:"nat44_ei_config_flags,name=flags" json:"flags,omitempty"`
3024         LastHeard        uint64              `binapi:"u64,name=last_heard" json:"last_heard,omitempty"`
3025         TotalBytes       uint64              `binapi:"u64,name=total_bytes" json:"total_bytes,omitempty"`
3026         TotalPkts        uint32              `binapi:"u32,name=total_pkts" json:"total_pkts,omitempty"`
3027         ExtHostAddress   ip_types.IP4Address `binapi:"ip4_address,name=ext_host_address" json:"ext_host_address,omitempty"`
3028         ExtHostPort      uint16              `binapi:"u16,name=ext_host_port" json:"ext_host_port,omitempty"`
3029 }
3030
3031 func (m *Nat44EiUserSessionDetails) Reset()               { *m = Nat44EiUserSessionDetails{} }
3032 func (*Nat44EiUserSessionDetails) GetMessageName() string { return "nat44_ei_user_session_details" }
3033 func (*Nat44EiUserSessionDetails) GetCrcString() string   { return "19b7c0ac" }
3034 func (*Nat44EiUserSessionDetails) GetMessageType() api.MessageType {
3035         return api.ReplyMessage
3036 }
3037
3038 func (m *Nat44EiUserSessionDetails) Size() (size int) {
3039         if m == nil {
3040                 return 0
3041         }
3042         size += 1 * 4 // m.OutsideIPAddress
3043         size += 2     // m.OutsidePort
3044         size += 1 * 4 // m.InsideIPAddress
3045         size += 2     // m.InsidePort
3046         size += 2     // m.Protocol
3047         size += 1     // m.Flags
3048         size += 8     // m.LastHeard
3049         size += 8     // m.TotalBytes
3050         size += 4     // m.TotalPkts
3051         size += 1 * 4 // m.ExtHostAddress
3052         size += 2     // m.ExtHostPort
3053         return size
3054 }
3055 func (m *Nat44EiUserSessionDetails) Marshal(b []byte) ([]byte, error) {
3056         if b == nil {
3057                 b = make([]byte, m.Size())
3058         }
3059         buf := codec.NewBuffer(b)
3060         buf.EncodeBytes(m.OutsideIPAddress[:], 4)
3061         buf.EncodeUint16(m.OutsidePort)
3062         buf.EncodeBytes(m.InsideIPAddress[:], 4)
3063         buf.EncodeUint16(m.InsidePort)
3064         buf.EncodeUint16(m.Protocol)
3065         buf.EncodeUint8(uint8(m.Flags))
3066         buf.EncodeUint64(m.LastHeard)
3067         buf.EncodeUint64(m.TotalBytes)
3068         buf.EncodeUint32(m.TotalPkts)
3069         buf.EncodeBytes(m.ExtHostAddress[:], 4)
3070         buf.EncodeUint16(m.ExtHostPort)
3071         return buf.Bytes(), nil
3072 }
3073 func (m *Nat44EiUserSessionDetails) Unmarshal(b []byte) error {
3074         buf := codec.NewBuffer(b)
3075         copy(m.OutsideIPAddress[:], buf.DecodeBytes(4))
3076         m.OutsidePort = buf.DecodeUint16()
3077         copy(m.InsideIPAddress[:], buf.DecodeBytes(4))
3078         m.InsidePort = buf.DecodeUint16()
3079         m.Protocol = buf.DecodeUint16()
3080         m.Flags = Nat44EiConfigFlags(buf.DecodeUint8())
3081         m.LastHeard = buf.DecodeUint64()
3082         m.TotalBytes = buf.DecodeUint64()
3083         m.TotalPkts = buf.DecodeUint32()
3084         copy(m.ExtHostAddress[:], buf.DecodeBytes(4))
3085         m.ExtHostPort = buf.DecodeUint16()
3086         return nil
3087 }
3088
3089 // Nat44EiUserSessionDump defines message 'nat44_ei_user_session_dump'.
3090 // InProgress: the message form may change in the future versions
3091 type Nat44EiUserSessionDump struct {
3092         IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
3093         VrfID     uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
3094 }
3095
3096 func (m *Nat44EiUserSessionDump) Reset()               { *m = Nat44EiUserSessionDump{} }
3097 func (*Nat44EiUserSessionDump) GetMessageName() string { return "nat44_ei_user_session_dump" }
3098 func (*Nat44EiUserSessionDump) GetCrcString() string   { return "e1899c98" }
3099 func (*Nat44EiUserSessionDump) GetMessageType() api.MessageType {
3100         return api.RequestMessage
3101 }
3102
3103 func (m *Nat44EiUserSessionDump) Size() (size int) {
3104         if m == nil {
3105                 return 0
3106         }
3107         size += 1 * 4 // m.IPAddress
3108         size += 4     // m.VrfID
3109         return size
3110 }
3111 func (m *Nat44EiUserSessionDump) Marshal(b []byte) ([]byte, error) {
3112         if b == nil {
3113                 b = make([]byte, m.Size())
3114         }
3115         buf := codec.NewBuffer(b)
3116         buf.EncodeBytes(m.IPAddress[:], 4)
3117         buf.EncodeUint32(m.VrfID)
3118         return buf.Bytes(), nil
3119 }
3120 func (m *Nat44EiUserSessionDump) Unmarshal(b []byte) error {
3121         buf := codec.NewBuffer(b)
3122         copy(m.IPAddress[:], buf.DecodeBytes(4))
3123         m.VrfID = buf.DecodeUint32()
3124         return nil
3125 }
3126
3127 // Nat44EiWorkerDetails defines message 'nat44_ei_worker_details'.
3128 // InProgress: the message form may change in the future versions
3129 type Nat44EiWorkerDetails struct {
3130         WorkerIndex uint32 `binapi:"u32,name=worker_index" json:"worker_index,omitempty"`
3131         LcoreID     uint32 `binapi:"u32,name=lcore_id" json:"lcore_id,omitempty"`
3132         Name        string `binapi:"string[64],name=name" json:"name,omitempty"`
3133 }
3134
3135 func (m *Nat44EiWorkerDetails) Reset()               { *m = Nat44EiWorkerDetails{} }
3136 func (*Nat44EiWorkerDetails) GetMessageName() string { return "nat44_ei_worker_details" }
3137 func (*Nat44EiWorkerDetails) GetCrcString() string   { return "84bf06fc" }
3138 func (*Nat44EiWorkerDetails) GetMessageType() api.MessageType {
3139         return api.ReplyMessage
3140 }
3141
3142 func (m *Nat44EiWorkerDetails) Size() (size int) {
3143         if m == nil {
3144                 return 0
3145         }
3146         size += 4  // m.WorkerIndex
3147         size += 4  // m.LcoreID
3148         size += 64 // m.Name
3149         return size
3150 }
3151 func (m *Nat44EiWorkerDetails) Marshal(b []byte) ([]byte, error) {
3152         if b == nil {
3153                 b = make([]byte, m.Size())
3154         }
3155         buf := codec.NewBuffer(b)
3156         buf.EncodeUint32(m.WorkerIndex)
3157         buf.EncodeUint32(m.LcoreID)
3158         buf.EncodeString(m.Name, 64)
3159         return buf.Bytes(), nil
3160 }
3161 func (m *Nat44EiWorkerDetails) Unmarshal(b []byte) error {
3162         buf := codec.NewBuffer(b)
3163         m.WorkerIndex = buf.DecodeUint32()
3164         m.LcoreID = buf.DecodeUint32()
3165         m.Name = buf.DecodeString(64)
3166         return nil
3167 }
3168
3169 // Nat44EiWorkerDump defines message 'nat44_ei_worker_dump'.
3170 // InProgress: the message form may change in the future versions
3171 type Nat44EiWorkerDump struct{}
3172
3173 func (m *Nat44EiWorkerDump) Reset()               { *m = Nat44EiWorkerDump{} }
3174 func (*Nat44EiWorkerDump) GetMessageName() string { return "nat44_ei_worker_dump" }
3175 func (*Nat44EiWorkerDump) GetCrcString() string   { return "51077d14" }
3176 func (*Nat44EiWorkerDump) GetMessageType() api.MessageType {
3177         return api.RequestMessage
3178 }
3179
3180 func (m *Nat44EiWorkerDump) Size() (size int) {
3181         if m == nil {
3182                 return 0
3183         }
3184         return size
3185 }
3186 func (m *Nat44EiWorkerDump) Marshal(b []byte) ([]byte, error) {
3187         if b == nil {
3188                 b = make([]byte, m.Size())
3189         }
3190         buf := codec.NewBuffer(b)
3191         return buf.Bytes(), nil
3192 }
3193 func (m *Nat44EiWorkerDump) Unmarshal(b []byte) error {
3194         return nil
3195 }
3196
3197 func init() { file_nat44_ei_binapi_init() }
3198 func file_nat44_ei_binapi_init() {
3199         api.RegisterMessage((*Nat44EiAddDelAddressRange)(nil), "nat44_ei_add_del_address_range_35f21abc")
3200         api.RegisterMessage((*Nat44EiAddDelAddressRangeReply)(nil), "nat44_ei_add_del_address_range_reply_e8d4e804")
3201         api.RegisterMessage((*Nat44EiAddDelIdentityMapping)(nil), "nat44_ei_add_del_identity_mapping_cb8606b9")
3202         api.RegisterMessage((*Nat44EiAddDelIdentityMappingReply)(nil), "nat44_ei_add_del_identity_mapping_reply_e8d4e804")
3203         api.RegisterMessage((*Nat44EiAddDelInterfaceAddr)(nil), "nat44_ei_add_del_interface_addr_883abbcc")
3204         api.RegisterMessage((*Nat44EiAddDelInterfaceAddrReply)(nil), "nat44_ei_add_del_interface_addr_reply_e8d4e804")
3205         api.RegisterMessage((*Nat44EiAddDelOutputInterface)(nil), "nat44_ei_add_del_output_interface_47d6e753")
3206         api.RegisterMessage((*Nat44EiAddDelOutputInterfaceReply)(nil), "nat44_ei_add_del_output_interface_reply_e8d4e804")
3207         api.RegisterMessage((*Nat44EiAddDelStaticMapping)(nil), "nat44_ei_add_del_static_mapping_b404b7fe")
3208         api.RegisterMessage((*Nat44EiAddDelStaticMappingReply)(nil), "nat44_ei_add_del_static_mapping_reply_e8d4e804")
3209         api.RegisterMessage((*Nat44EiAddressDetails)(nil), "nat44_ei_address_details_318f1202")
3210         api.RegisterMessage((*Nat44EiAddressDump)(nil), "nat44_ei_address_dump_51077d14")
3211         api.RegisterMessage((*Nat44EiDelSession)(nil), "nat44_ei_del_session_74969ffe")
3212         api.RegisterMessage((*Nat44EiDelSessionReply)(nil), "nat44_ei_del_session_reply_e8d4e804")
3213         api.RegisterMessage((*Nat44EiDelUser)(nil), "nat44_ei_del_user_99a9f998")
3214         api.RegisterMessage((*Nat44EiDelUserReply)(nil), "nat44_ei_del_user_reply_e8d4e804")
3215         api.RegisterMessage((*Nat44EiForwardingEnableDisable)(nil), "nat44_ei_forwarding_enable_disable_b3e225d2")
3216         api.RegisterMessage((*Nat44EiForwardingEnableDisableReply)(nil), "nat44_ei_forwarding_enable_disable_reply_e8d4e804")
3217         api.RegisterMessage((*Nat44EiGetAddrAndPortAllocAlg)(nil), "nat44_ei_get_addr_and_port_alloc_alg_51077d14")
3218         api.RegisterMessage((*Nat44EiGetAddrAndPortAllocAlgReply)(nil), "nat44_ei_get_addr_and_port_alloc_alg_reply_3607a7d0")
3219         api.RegisterMessage((*Nat44EiGetMssClamping)(nil), "nat44_ei_get_mss_clamping_51077d14")
3220         api.RegisterMessage((*Nat44EiGetMssClampingReply)(nil), "nat44_ei_get_mss_clamping_reply_1c0b2a78")
3221         api.RegisterMessage((*Nat44EiHaFlush)(nil), "nat44_ei_ha_flush_51077d14")
3222         api.RegisterMessage((*Nat44EiHaFlushReply)(nil), "nat44_ei_ha_flush_reply_e8d4e804")
3223         api.RegisterMessage((*Nat44EiHaGetFailover)(nil), "nat44_ei_ha_get_failover_51077d14")
3224         api.RegisterMessage((*Nat44EiHaGetFailoverReply)(nil), "nat44_ei_ha_get_failover_reply_a67d8752")
3225         api.RegisterMessage((*Nat44EiHaGetListener)(nil), "nat44_ei_ha_get_listener_51077d14")
3226         api.RegisterMessage((*Nat44EiHaGetListenerReply)(nil), "nat44_ei_ha_get_listener_reply_123ea41f")
3227         api.RegisterMessage((*Nat44EiHaResync)(nil), "nat44_ei_ha_resync_c8ab9e03")
3228         api.RegisterMessage((*Nat44EiHaResyncCompletedEvent)(nil), "nat44_ei_ha_resync_completed_event_fdc598fb")
3229         api.RegisterMessage((*Nat44EiHaResyncReply)(nil), "nat44_ei_ha_resync_reply_e8d4e804")
3230         api.RegisterMessage((*Nat44EiHaSetFailover)(nil), "nat44_ei_ha_set_failover_718246af")
3231         api.RegisterMessage((*Nat44EiHaSetFailoverReply)(nil), "nat44_ei_ha_set_failover_reply_e8d4e804")
3232         api.RegisterMessage((*Nat44EiHaSetListener)(nil), "nat44_ei_ha_set_listener_e4a8cb4e")
3233         api.RegisterMessage((*Nat44EiHaSetListenerReply)(nil), "nat44_ei_ha_set_listener_reply_e8d4e804")
3234         api.RegisterMessage((*Nat44EiIdentityMappingDetails)(nil), "nat44_ei_identity_mapping_details_30d53e26")
3235         api.RegisterMessage((*Nat44EiIdentityMappingDump)(nil), "nat44_ei_identity_mapping_dump_51077d14")
3236         api.RegisterMessage((*Nat44EiInterfaceAddDelFeature)(nil), "nat44_ei_interface_add_del_feature_63a2db8b")
3237         api.RegisterMessage((*Nat44EiInterfaceAddDelFeatureReply)(nil), "nat44_ei_interface_add_del_feature_reply_e8d4e804")
3238         api.RegisterMessage((*Nat44EiInterfaceAddDelOutputFeature)(nil), "nat44_ei_interface_add_del_output_feature_63a2db8b")
3239         api.RegisterMessage((*Nat44EiInterfaceAddDelOutputFeatureReply)(nil), "nat44_ei_interface_add_del_output_feature_reply_e8d4e804")
3240         api.RegisterMessage((*Nat44EiInterfaceAddrDetails)(nil), "nat44_ei_interface_addr_details_0b45011c")
3241         api.RegisterMessage((*Nat44EiInterfaceAddrDump)(nil), "nat44_ei_interface_addr_dump_51077d14")
3242         api.RegisterMessage((*Nat44EiInterfaceDetails)(nil), "nat44_ei_interface_details_f446e508")
3243         api.RegisterMessage((*Nat44EiInterfaceDump)(nil), "nat44_ei_interface_dump_51077d14")
3244         api.RegisterMessage((*Nat44EiInterfaceOutputFeatureDetails)(nil), "nat44_ei_interface_output_feature_details_f446e508")
3245         api.RegisterMessage((*Nat44EiInterfaceOutputFeatureDump)(nil), "nat44_ei_interface_output_feature_dump_51077d14")
3246         api.RegisterMessage((*Nat44EiIpfixEnableDisable)(nil), "nat44_ei_ipfix_enable_disable_9af4a2d2")
3247         api.RegisterMessage((*Nat44EiIpfixEnableDisableReply)(nil), "nat44_ei_ipfix_enable_disable_reply_e8d4e804")
3248         api.RegisterMessage((*Nat44EiOutputInterfaceDetails)(nil), "nat44_ei_output_interface_details_0b45011c")
3249         api.RegisterMessage((*Nat44EiOutputInterfaceGet)(nil), "nat44_ei_output_interface_get_f75ba505")
3250         api.RegisterMessage((*Nat44EiOutputInterfaceGetReply)(nil), "nat44_ei_output_interface_get_reply_53b48f5d")
3251         api.RegisterMessage((*Nat44EiPluginEnableDisable)(nil), "nat44_ei_plugin_enable_disable_bf692144")
3252         api.RegisterMessage((*Nat44EiPluginEnableDisableReply)(nil), "nat44_ei_plugin_enable_disable_reply_e8d4e804")
3253         api.RegisterMessage((*Nat44EiSetAddrAndPortAllocAlg)(nil), "nat44_ei_set_addr_and_port_alloc_alg_deeb746f")
3254         api.RegisterMessage((*Nat44EiSetAddrAndPortAllocAlgReply)(nil), "nat44_ei_set_addr_and_port_alloc_alg_reply_e8d4e804")
3255         api.RegisterMessage((*Nat44EiSetFqOptions)(nil), "nat44_ei_set_fq_options_2399bd71")
3256         api.RegisterMessage((*Nat44EiSetFqOptionsReply)(nil), "nat44_ei_set_fq_options_reply_e8d4e804")
3257         api.RegisterMessage((*Nat44EiSetLogLevel)(nil), "nat44_ei_set_log_level_70076bfe")
3258         api.RegisterMessage((*Nat44EiSetLogLevelReply)(nil), "nat44_ei_set_log_level_reply_e8d4e804")
3259         api.RegisterMessage((*Nat44EiSetMssClamping)(nil), "nat44_ei_set_mss_clamping_25e90abb")
3260         api.RegisterMessage((*Nat44EiSetMssClampingReply)(nil), "nat44_ei_set_mss_clamping_reply_e8d4e804")
3261         api.RegisterMessage((*Nat44EiSetTimeouts)(nil), "nat44_ei_set_timeouts_d4746b16")
3262         api.RegisterMessage((*Nat44EiSetTimeoutsReply)(nil), "nat44_ei_set_timeouts_reply_e8d4e804")
3263         api.RegisterMessage((*Nat44EiSetWorkers)(nil), "nat44_ei_set_workers_da926638")
3264         api.RegisterMessage((*Nat44EiSetWorkersReply)(nil), "nat44_ei_set_workers_reply_e8d4e804")
3265         api.RegisterMessage((*Nat44EiShowFqOptions)(nil), "nat44_ei_show_fq_options_51077d14")
3266         api.RegisterMessage((*Nat44EiShowFqOptionsReply)(nil), "nat44_ei_show_fq_options_reply_7213b545")
3267         api.RegisterMessage((*Nat44EiShowRunningConfig)(nil), "nat44_ei_show_running_config_51077d14")
3268         api.RegisterMessage((*Nat44EiShowRunningConfigReply)(nil), "nat44_ei_show_running_config_reply_41b66a81")
3269         api.RegisterMessage((*Nat44EiStaticMappingDetails)(nil), "nat44_ei_static_mapping_details_6b51ca6e")
3270         api.RegisterMessage((*Nat44EiStaticMappingDump)(nil), "nat44_ei_static_mapping_dump_51077d14")
3271         api.RegisterMessage((*Nat44EiUserDetails)(nil), "nat44_ei_user_details_355896c2")
3272         api.RegisterMessage((*Nat44EiUserDump)(nil), "nat44_ei_user_dump_51077d14")
3273         api.RegisterMessage((*Nat44EiUserSessionDetails)(nil), "nat44_ei_user_session_details_19b7c0ac")
3274         api.RegisterMessage((*Nat44EiUserSessionDump)(nil), "nat44_ei_user_session_dump_e1899c98")
3275         api.RegisterMessage((*Nat44EiWorkerDetails)(nil), "nat44_ei_worker_details_84bf06fc")
3276         api.RegisterMessage((*Nat44EiWorkerDump)(nil), "nat44_ei_worker_dump_51077d14")
3277 }
3278
3279 // Messages returns list of all messages in this module.
3280 func AllMessages() []api.Message {
3281         return []api.Message{
3282                 (*Nat44EiAddDelAddressRange)(nil),
3283                 (*Nat44EiAddDelAddressRangeReply)(nil),
3284                 (*Nat44EiAddDelIdentityMapping)(nil),
3285                 (*Nat44EiAddDelIdentityMappingReply)(nil),
3286                 (*Nat44EiAddDelInterfaceAddr)(nil),
3287                 (*Nat44EiAddDelInterfaceAddrReply)(nil),
3288                 (*Nat44EiAddDelOutputInterface)(nil),
3289                 (*Nat44EiAddDelOutputInterfaceReply)(nil),
3290                 (*Nat44EiAddDelStaticMapping)(nil),
3291                 (*Nat44EiAddDelStaticMappingReply)(nil),
3292                 (*Nat44EiAddressDetails)(nil),
3293                 (*Nat44EiAddressDump)(nil),
3294                 (*Nat44EiDelSession)(nil),
3295                 (*Nat44EiDelSessionReply)(nil),
3296                 (*Nat44EiDelUser)(nil),
3297                 (*Nat44EiDelUserReply)(nil),
3298                 (*Nat44EiForwardingEnableDisable)(nil),
3299                 (*Nat44EiForwardingEnableDisableReply)(nil),
3300                 (*Nat44EiGetAddrAndPortAllocAlg)(nil),
3301                 (*Nat44EiGetAddrAndPortAllocAlgReply)(nil),
3302                 (*Nat44EiGetMssClamping)(nil),
3303                 (*Nat44EiGetMssClampingReply)(nil),
3304                 (*Nat44EiHaFlush)(nil),
3305                 (*Nat44EiHaFlushReply)(nil),
3306                 (*Nat44EiHaGetFailover)(nil),
3307                 (*Nat44EiHaGetFailoverReply)(nil),
3308                 (*Nat44EiHaGetListener)(nil),
3309                 (*Nat44EiHaGetListenerReply)(nil),
3310                 (*Nat44EiHaResync)(nil),
3311                 (*Nat44EiHaResyncCompletedEvent)(nil),
3312                 (*Nat44EiHaResyncReply)(nil),
3313                 (*Nat44EiHaSetFailover)(nil),
3314                 (*Nat44EiHaSetFailoverReply)(nil),
3315                 (*Nat44EiHaSetListener)(nil),
3316                 (*Nat44EiHaSetListenerReply)(nil),
3317                 (*Nat44EiIdentityMappingDetails)(nil),
3318                 (*Nat44EiIdentityMappingDump)(nil),
3319                 (*Nat44EiInterfaceAddDelFeature)(nil),
3320                 (*Nat44EiInterfaceAddDelFeatureReply)(nil),
3321                 (*Nat44EiInterfaceAddDelOutputFeature)(nil),
3322                 (*Nat44EiInterfaceAddDelOutputFeatureReply)(nil),
3323                 (*Nat44EiInterfaceAddrDetails)(nil),
3324                 (*Nat44EiInterfaceAddrDump)(nil),
3325                 (*Nat44EiInterfaceDetails)(nil),
3326                 (*Nat44EiInterfaceDump)(nil),
3327                 (*Nat44EiInterfaceOutputFeatureDetails)(nil),
3328                 (*Nat44EiInterfaceOutputFeatureDump)(nil),
3329                 (*Nat44EiIpfixEnableDisable)(nil),
3330                 (*Nat44EiIpfixEnableDisableReply)(nil),
3331                 (*Nat44EiOutputInterfaceDetails)(nil),
3332                 (*Nat44EiOutputInterfaceGet)(nil),
3333                 (*Nat44EiOutputInterfaceGetReply)(nil),
3334                 (*Nat44EiPluginEnableDisable)(nil),
3335                 (*Nat44EiPluginEnableDisableReply)(nil),
3336                 (*Nat44EiSetAddrAndPortAllocAlg)(nil),
3337                 (*Nat44EiSetAddrAndPortAllocAlgReply)(nil),
3338                 (*Nat44EiSetFqOptions)(nil),
3339                 (*Nat44EiSetFqOptionsReply)(nil),
3340                 (*Nat44EiSetLogLevel)(nil),
3341                 (*Nat44EiSetLogLevelReply)(nil),
3342                 (*Nat44EiSetMssClamping)(nil),
3343                 (*Nat44EiSetMssClampingReply)(nil),
3344                 (*Nat44EiSetTimeouts)(nil),
3345                 (*Nat44EiSetTimeoutsReply)(nil),
3346                 (*Nat44EiSetWorkers)(nil),
3347                 (*Nat44EiSetWorkersReply)(nil),
3348                 (*Nat44EiShowFqOptions)(nil),
3349                 (*Nat44EiShowFqOptionsReply)(nil),
3350                 (*Nat44EiShowRunningConfig)(nil),
3351                 (*Nat44EiShowRunningConfigReply)(nil),
3352                 (*Nat44EiStaticMappingDetails)(nil),
3353                 (*Nat44EiStaticMappingDump)(nil),
3354                 (*Nat44EiUserDetails)(nil),
3355                 (*Nat44EiUserDump)(nil),
3356                 (*Nat44EiUserSessionDetails)(nil),
3357                 (*Nat44EiUserSessionDump)(nil),
3358                 (*Nat44EiWorkerDetails)(nil),
3359                 (*Nat44EiWorkerDump)(nil),
3360         }
3361 }