6bc9b75876e0d168b49759cb56c2421ad8f5e339
[govpp.git] / binapi / nat44_ed / nat44_ed.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2 // versions:
3 //  binapi-generator: v0.5.0-dev
4 //  VPP:              22.02-release
5 // source: /usr/share/vpp/api/plugins/nat44_ed.api.json
6
7 // Package nat44_ed contains generated bindings for API file nat44_ed.api.
8 //
9 // Contents:
10 //   1 enum
11 //   1 struct
12 // 104 messages
13 //
14 package nat44_ed
15
16 import (
17         "strconv"
18
19         api "git.fd.io/govpp.git/api"
20         interface_types "git.fd.io/govpp.git/binapi/interface_types"
21         ip_types "git.fd.io/govpp.git/binapi/ip_types"
22         nat_types "git.fd.io/govpp.git/binapi/nat_types"
23         codec "git.fd.io/govpp.git/codec"
24 )
25
26 // This is a compile-time assertion to ensure that this generated file
27 // is compatible with the GoVPP api package it is being compiled against.
28 // A compilation error at this line likely means your copy of the
29 // GoVPP api package needs to be updated.
30 const _ = api.GoVppAPIPackageIsVersion2
31
32 const (
33         APIFile    = "nat44_ed"
34         APIVersion = "5.4.0"
35         VersionCrc = 0x5697d0ef
36 )
37
38 // Nat44ConfigFlags defines enum 'nat44_config_flags'.
39 type Nat44ConfigFlags uint8
40
41 const (
42         NAT44_IS_ENDPOINT_INDEPENDENT Nat44ConfigFlags = 0
43         NAT44_IS_ENDPOINT_DEPENDENT   Nat44ConfigFlags = 1
44         NAT44_IS_STATIC_MAPPING_ONLY  Nat44ConfigFlags = 2
45         NAT44_IS_CONNECTION_TRACKING  Nat44ConfigFlags = 4
46         NAT44_IS_OUT2IN_DPO           Nat44ConfigFlags = 8
47 )
48
49 var (
50         Nat44ConfigFlags_name = map[uint8]string{
51                 0: "NAT44_IS_ENDPOINT_INDEPENDENT",
52                 1: "NAT44_IS_ENDPOINT_DEPENDENT",
53                 2: "NAT44_IS_STATIC_MAPPING_ONLY",
54                 4: "NAT44_IS_CONNECTION_TRACKING",
55                 8: "NAT44_IS_OUT2IN_DPO",
56         }
57         Nat44ConfigFlags_value = map[string]uint8{
58                 "NAT44_IS_ENDPOINT_INDEPENDENT": 0,
59                 "NAT44_IS_ENDPOINT_DEPENDENT":   1,
60                 "NAT44_IS_STATIC_MAPPING_ONLY":  2,
61                 "NAT44_IS_CONNECTION_TRACKING":  4,
62                 "NAT44_IS_OUT2IN_DPO":           8,
63         }
64 )
65
66 func (x Nat44ConfigFlags) String() string {
67         s, ok := Nat44ConfigFlags_name[uint8(x)]
68         if ok {
69                 return s
70         }
71         str := func(n uint8) string {
72                 s, ok := Nat44ConfigFlags_name[uint8(n)]
73                 if ok {
74                         return s
75                 }
76                 return "Nat44ConfigFlags(" + strconv.Itoa(int(n)) + ")"
77         }
78         for i := uint8(0); i <= 8; i++ {
79                 val := uint8(x)
80                 if val&(1<<i) != 0 {
81                         if s != "" {
82                                 s += "|"
83                         }
84                         s += str(1 << i)
85                 }
86         }
87         if s == "" {
88                 return str(uint8(x))
89         }
90         return s
91 }
92
93 // Nat44LbAddrPort defines type 'nat44_lb_addr_port'.
94 type Nat44LbAddrPort struct {
95         Addr        ip_types.IP4Address `binapi:"ip4_address,name=addr" json:"addr,omitempty"`
96         Port        uint16              `binapi:"u16,name=port" json:"port,omitempty"`
97         Probability uint8               `binapi:"u8,name=probability" json:"probability,omitempty"`
98         VrfID       uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
99 }
100
101 // Nat44AddDelAddressRange defines message 'nat44_add_del_address_range'.
102 type Nat44AddDelAddressRange struct {
103         FirstIPAddress ip_types.IP4Address      `binapi:"ip4_address,name=first_ip_address" json:"first_ip_address,omitempty"`
104         LastIPAddress  ip_types.IP4Address      `binapi:"ip4_address,name=last_ip_address" json:"last_ip_address,omitempty"`
105         VrfID          uint32                   `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
106         IsAdd          bool                     `binapi:"bool,name=is_add" json:"is_add,omitempty"`
107         Flags          nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
108 }
109
110 func (m *Nat44AddDelAddressRange) Reset()               { *m = Nat44AddDelAddressRange{} }
111 func (*Nat44AddDelAddressRange) GetMessageName() string { return "nat44_add_del_address_range" }
112 func (*Nat44AddDelAddressRange) GetCrcString() string   { return "6f2b8055" }
113 func (*Nat44AddDelAddressRange) GetMessageType() api.MessageType {
114         return api.RequestMessage
115 }
116
117 func (m *Nat44AddDelAddressRange) 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         size += 1     // m.Flags
126         return size
127 }
128 func (m *Nat44AddDelAddressRange) Marshal(b []byte) ([]byte, error) {
129         if b == nil {
130                 b = make([]byte, m.Size())
131         }
132         buf := codec.NewBuffer(b)
133         buf.EncodeBytes(m.FirstIPAddress[:], 4)
134         buf.EncodeBytes(m.LastIPAddress[:], 4)
135         buf.EncodeUint32(m.VrfID)
136         buf.EncodeBool(m.IsAdd)
137         buf.EncodeUint8(uint8(m.Flags))
138         return buf.Bytes(), nil
139 }
140 func (m *Nat44AddDelAddressRange) Unmarshal(b []byte) error {
141         buf := codec.NewBuffer(b)
142         copy(m.FirstIPAddress[:], buf.DecodeBytes(4))
143         copy(m.LastIPAddress[:], buf.DecodeBytes(4))
144         m.VrfID = buf.DecodeUint32()
145         m.IsAdd = buf.DecodeBool()
146         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
147         return nil
148 }
149
150 // Nat44AddDelAddressRangeReply defines message 'nat44_add_del_address_range_reply'.
151 type Nat44AddDelAddressRangeReply struct {
152         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
153 }
154
155 func (m *Nat44AddDelAddressRangeReply) Reset() { *m = Nat44AddDelAddressRangeReply{} }
156 func (*Nat44AddDelAddressRangeReply) GetMessageName() string {
157         return "nat44_add_del_address_range_reply"
158 }
159 func (*Nat44AddDelAddressRangeReply) GetCrcString() string { return "e8d4e804" }
160 func (*Nat44AddDelAddressRangeReply) GetMessageType() api.MessageType {
161         return api.ReplyMessage
162 }
163
164 func (m *Nat44AddDelAddressRangeReply) Size() (size int) {
165         if m == nil {
166                 return 0
167         }
168         size += 4 // m.Retval
169         return size
170 }
171 func (m *Nat44AddDelAddressRangeReply) Marshal(b []byte) ([]byte, error) {
172         if b == nil {
173                 b = make([]byte, m.Size())
174         }
175         buf := codec.NewBuffer(b)
176         buf.EncodeInt32(m.Retval)
177         return buf.Bytes(), nil
178 }
179 func (m *Nat44AddDelAddressRangeReply) Unmarshal(b []byte) error {
180         buf := codec.NewBuffer(b)
181         m.Retval = buf.DecodeInt32()
182         return nil
183 }
184
185 // Nat44AddDelIdentityMapping defines message 'nat44_add_del_identity_mapping'.
186 type Nat44AddDelIdentityMapping struct {
187         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
188         Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
189         IPAddress ip_types.IP4Address            `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
190         Protocol  uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
191         Port      uint16                         `binapi:"u16,name=port" json:"port,omitempty"`
192         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
193         VrfID     uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
194         Tag       string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
195 }
196
197 func (m *Nat44AddDelIdentityMapping) Reset()               { *m = Nat44AddDelIdentityMapping{} }
198 func (*Nat44AddDelIdentityMapping) GetMessageName() string { return "nat44_add_del_identity_mapping" }
199 func (*Nat44AddDelIdentityMapping) GetCrcString() string   { return "02faaa22" }
200 func (*Nat44AddDelIdentityMapping) GetMessageType() api.MessageType {
201         return api.RequestMessage
202 }
203
204 func (m *Nat44AddDelIdentityMapping) Size() (size int) {
205         if m == nil {
206                 return 0
207         }
208         size += 1     // m.IsAdd
209         size += 1     // m.Flags
210         size += 1 * 4 // m.IPAddress
211         size += 1     // m.Protocol
212         size += 2     // m.Port
213         size += 4     // m.SwIfIndex
214         size += 4     // m.VrfID
215         size += 64    // m.Tag
216         return size
217 }
218 func (m *Nat44AddDelIdentityMapping) Marshal(b []byte) ([]byte, error) {
219         if b == nil {
220                 b = make([]byte, m.Size())
221         }
222         buf := codec.NewBuffer(b)
223         buf.EncodeBool(m.IsAdd)
224         buf.EncodeUint8(uint8(m.Flags))
225         buf.EncodeBytes(m.IPAddress[:], 4)
226         buf.EncodeUint8(m.Protocol)
227         buf.EncodeUint16(m.Port)
228         buf.EncodeUint32(uint32(m.SwIfIndex))
229         buf.EncodeUint32(m.VrfID)
230         buf.EncodeString(m.Tag, 64)
231         return buf.Bytes(), nil
232 }
233 func (m *Nat44AddDelIdentityMapping) Unmarshal(b []byte) error {
234         buf := codec.NewBuffer(b)
235         m.IsAdd = buf.DecodeBool()
236         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
237         copy(m.IPAddress[:], buf.DecodeBytes(4))
238         m.Protocol = buf.DecodeUint8()
239         m.Port = buf.DecodeUint16()
240         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
241         m.VrfID = buf.DecodeUint32()
242         m.Tag = buf.DecodeString(64)
243         return nil
244 }
245
246 // Nat44AddDelIdentityMappingReply defines message 'nat44_add_del_identity_mapping_reply'.
247 type Nat44AddDelIdentityMappingReply struct {
248         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
249 }
250
251 func (m *Nat44AddDelIdentityMappingReply) Reset() { *m = Nat44AddDelIdentityMappingReply{} }
252 func (*Nat44AddDelIdentityMappingReply) GetMessageName() string {
253         return "nat44_add_del_identity_mapping_reply"
254 }
255 func (*Nat44AddDelIdentityMappingReply) GetCrcString() string { return "e8d4e804" }
256 func (*Nat44AddDelIdentityMappingReply) GetMessageType() api.MessageType {
257         return api.ReplyMessage
258 }
259
260 func (m *Nat44AddDelIdentityMappingReply) Size() (size int) {
261         if m == nil {
262                 return 0
263         }
264         size += 4 // m.Retval
265         return size
266 }
267 func (m *Nat44AddDelIdentityMappingReply) Marshal(b []byte) ([]byte, error) {
268         if b == nil {
269                 b = make([]byte, m.Size())
270         }
271         buf := codec.NewBuffer(b)
272         buf.EncodeInt32(m.Retval)
273         return buf.Bytes(), nil
274 }
275 func (m *Nat44AddDelIdentityMappingReply) Unmarshal(b []byte) error {
276         buf := codec.NewBuffer(b)
277         m.Retval = buf.DecodeInt32()
278         return nil
279 }
280
281 // Nat44AddDelInterfaceAddr defines message 'nat44_add_del_interface_addr'.
282 type Nat44AddDelInterfaceAddr struct {
283         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
284         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
285         Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
286 }
287
288 func (m *Nat44AddDelInterfaceAddr) Reset()               { *m = Nat44AddDelInterfaceAddr{} }
289 func (*Nat44AddDelInterfaceAddr) GetMessageName() string { return "nat44_add_del_interface_addr" }
290 func (*Nat44AddDelInterfaceAddr) GetCrcString() string   { return "4aed50c0" }
291 func (*Nat44AddDelInterfaceAddr) GetMessageType() api.MessageType {
292         return api.RequestMessage
293 }
294
295 func (m *Nat44AddDelInterfaceAddr) Size() (size int) {
296         if m == nil {
297                 return 0
298         }
299         size += 1 // m.IsAdd
300         size += 4 // m.SwIfIndex
301         size += 1 // m.Flags
302         return size
303 }
304 func (m *Nat44AddDelInterfaceAddr) Marshal(b []byte) ([]byte, error) {
305         if b == nil {
306                 b = make([]byte, m.Size())
307         }
308         buf := codec.NewBuffer(b)
309         buf.EncodeBool(m.IsAdd)
310         buf.EncodeUint32(uint32(m.SwIfIndex))
311         buf.EncodeUint8(uint8(m.Flags))
312         return buf.Bytes(), nil
313 }
314 func (m *Nat44AddDelInterfaceAddr) Unmarshal(b []byte) error {
315         buf := codec.NewBuffer(b)
316         m.IsAdd = buf.DecodeBool()
317         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
318         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
319         return nil
320 }
321
322 // Nat44AddDelInterfaceAddrReply defines message 'nat44_add_del_interface_addr_reply'.
323 type Nat44AddDelInterfaceAddrReply struct {
324         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
325 }
326
327 func (m *Nat44AddDelInterfaceAddrReply) Reset() { *m = Nat44AddDelInterfaceAddrReply{} }
328 func (*Nat44AddDelInterfaceAddrReply) GetMessageName() string {
329         return "nat44_add_del_interface_addr_reply"
330 }
331 func (*Nat44AddDelInterfaceAddrReply) GetCrcString() string { return "e8d4e804" }
332 func (*Nat44AddDelInterfaceAddrReply) GetMessageType() api.MessageType {
333         return api.ReplyMessage
334 }
335
336 func (m *Nat44AddDelInterfaceAddrReply) Size() (size int) {
337         if m == nil {
338                 return 0
339         }
340         size += 4 // m.Retval
341         return size
342 }
343 func (m *Nat44AddDelInterfaceAddrReply) Marshal(b []byte) ([]byte, error) {
344         if b == nil {
345                 b = make([]byte, m.Size())
346         }
347         buf := codec.NewBuffer(b)
348         buf.EncodeInt32(m.Retval)
349         return buf.Bytes(), nil
350 }
351 func (m *Nat44AddDelInterfaceAddrReply) Unmarshal(b []byte) error {
352         buf := codec.NewBuffer(b)
353         m.Retval = buf.DecodeInt32()
354         return nil
355 }
356
357 // Nat44AddDelLbStaticMapping defines message 'nat44_add_del_lb_static_mapping'.
358 type Nat44AddDelLbStaticMapping struct {
359         IsAdd        bool                     `binapi:"bool,name=is_add" json:"is_add,omitempty"`
360         Flags        nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
361         ExternalAddr ip_types.IP4Address      `binapi:"ip4_address,name=external_addr" json:"external_addr,omitempty"`
362         ExternalPort uint16                   `binapi:"u16,name=external_port" json:"external_port,omitempty"`
363         Protocol     uint8                    `binapi:"u8,name=protocol" json:"protocol,omitempty"`
364         Affinity     uint32                   `binapi:"u32,name=affinity" json:"affinity,omitempty"`
365         Tag          string                   `binapi:"string[64],name=tag" json:"tag,omitempty"`
366         LocalNum     uint32                   `binapi:"u32,name=local_num" json:"-"`
367         Locals       []Nat44LbAddrPort        `binapi:"nat44_lb_addr_port[local_num],name=locals" json:"locals,omitempty"`
368 }
369
370 func (m *Nat44AddDelLbStaticMapping) Reset()               { *m = Nat44AddDelLbStaticMapping{} }
371 func (*Nat44AddDelLbStaticMapping) GetMessageName() string { return "nat44_add_del_lb_static_mapping" }
372 func (*Nat44AddDelLbStaticMapping) GetCrcString() string   { return "4f68ee9d" }
373 func (*Nat44AddDelLbStaticMapping) GetMessageType() api.MessageType {
374         return api.RequestMessage
375 }
376
377 func (m *Nat44AddDelLbStaticMapping) Size() (size int) {
378         if m == nil {
379                 return 0
380         }
381         size += 1     // m.IsAdd
382         size += 1     // m.Flags
383         size += 1 * 4 // m.ExternalAddr
384         size += 2     // m.ExternalPort
385         size += 1     // m.Protocol
386         size += 4     // m.Affinity
387         size += 64    // m.Tag
388         size += 4     // m.LocalNum
389         for j1 := 0; j1 < len(m.Locals); j1++ {
390                 var s1 Nat44LbAddrPort
391                 _ = s1
392                 if j1 < len(m.Locals) {
393                         s1 = m.Locals[j1]
394                 }
395                 size += 1 * 4 // s1.Addr
396                 size += 2     // s1.Port
397                 size += 1     // s1.Probability
398                 size += 4     // s1.VrfID
399         }
400         return size
401 }
402 func (m *Nat44AddDelLbStaticMapping) Marshal(b []byte) ([]byte, error) {
403         if b == nil {
404                 b = make([]byte, m.Size())
405         }
406         buf := codec.NewBuffer(b)
407         buf.EncodeBool(m.IsAdd)
408         buf.EncodeUint8(uint8(m.Flags))
409         buf.EncodeBytes(m.ExternalAddr[:], 4)
410         buf.EncodeUint16(m.ExternalPort)
411         buf.EncodeUint8(m.Protocol)
412         buf.EncodeUint32(m.Affinity)
413         buf.EncodeString(m.Tag, 64)
414         buf.EncodeUint32(uint32(len(m.Locals)))
415         for j0 := 0; j0 < len(m.Locals); j0++ {
416                 var v0 Nat44LbAddrPort // Locals
417                 if j0 < len(m.Locals) {
418                         v0 = m.Locals[j0]
419                 }
420                 buf.EncodeBytes(v0.Addr[:], 4)
421                 buf.EncodeUint16(v0.Port)
422                 buf.EncodeUint8(v0.Probability)
423                 buf.EncodeUint32(v0.VrfID)
424         }
425         return buf.Bytes(), nil
426 }
427 func (m *Nat44AddDelLbStaticMapping) Unmarshal(b []byte) error {
428         buf := codec.NewBuffer(b)
429         m.IsAdd = buf.DecodeBool()
430         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
431         copy(m.ExternalAddr[:], buf.DecodeBytes(4))
432         m.ExternalPort = buf.DecodeUint16()
433         m.Protocol = buf.DecodeUint8()
434         m.Affinity = buf.DecodeUint32()
435         m.Tag = buf.DecodeString(64)
436         m.LocalNum = buf.DecodeUint32()
437         m.Locals = make([]Nat44LbAddrPort, m.LocalNum)
438         for j0 := 0; j0 < len(m.Locals); j0++ {
439                 copy(m.Locals[j0].Addr[:], buf.DecodeBytes(4))
440                 m.Locals[j0].Port = buf.DecodeUint16()
441                 m.Locals[j0].Probability = buf.DecodeUint8()
442                 m.Locals[j0].VrfID = buf.DecodeUint32()
443         }
444         return nil
445 }
446
447 // Nat44AddDelLbStaticMappingReply defines message 'nat44_add_del_lb_static_mapping_reply'.
448 type Nat44AddDelLbStaticMappingReply struct {
449         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
450 }
451
452 func (m *Nat44AddDelLbStaticMappingReply) Reset() { *m = Nat44AddDelLbStaticMappingReply{} }
453 func (*Nat44AddDelLbStaticMappingReply) GetMessageName() string {
454         return "nat44_add_del_lb_static_mapping_reply"
455 }
456 func (*Nat44AddDelLbStaticMappingReply) GetCrcString() string { return "e8d4e804" }
457 func (*Nat44AddDelLbStaticMappingReply) GetMessageType() api.MessageType {
458         return api.ReplyMessage
459 }
460
461 func (m *Nat44AddDelLbStaticMappingReply) Size() (size int) {
462         if m == nil {
463                 return 0
464         }
465         size += 4 // m.Retval
466         return size
467 }
468 func (m *Nat44AddDelLbStaticMappingReply) Marshal(b []byte) ([]byte, error) {
469         if b == nil {
470                 b = make([]byte, m.Size())
471         }
472         buf := codec.NewBuffer(b)
473         buf.EncodeInt32(m.Retval)
474         return buf.Bytes(), nil
475 }
476 func (m *Nat44AddDelLbStaticMappingReply) Unmarshal(b []byte) error {
477         buf := codec.NewBuffer(b)
478         m.Retval = buf.DecodeInt32()
479         return nil
480 }
481
482 // Nat44AddDelStaticMapping defines message 'nat44_add_del_static_mapping'.
483 type Nat44AddDelStaticMapping struct {
484         IsAdd             bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
485         Flags             nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
486         LocalIPAddress    ip_types.IP4Address            `binapi:"ip4_address,name=local_ip_address" json:"local_ip_address,omitempty"`
487         ExternalIPAddress ip_types.IP4Address            `binapi:"ip4_address,name=external_ip_address" json:"external_ip_address,omitempty"`
488         Protocol          uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
489         LocalPort         uint16                         `binapi:"u16,name=local_port" json:"local_port,omitempty"`
490         ExternalPort      uint16                         `binapi:"u16,name=external_port" json:"external_port,omitempty"`
491         ExternalSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=external_sw_if_index" json:"external_sw_if_index,omitempty"`
492         VrfID             uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
493         Tag               string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
494 }
495
496 func (m *Nat44AddDelStaticMapping) Reset()               { *m = Nat44AddDelStaticMapping{} }
497 func (*Nat44AddDelStaticMapping) GetMessageName() string { return "nat44_add_del_static_mapping" }
498 func (*Nat44AddDelStaticMapping) GetCrcString() string   { return "5ae5f03e" }
499 func (*Nat44AddDelStaticMapping) GetMessageType() api.MessageType {
500         return api.RequestMessage
501 }
502
503 func (m *Nat44AddDelStaticMapping) Size() (size int) {
504         if m == nil {
505                 return 0
506         }
507         size += 1     // m.IsAdd
508         size += 1     // m.Flags
509         size += 1 * 4 // m.LocalIPAddress
510         size += 1 * 4 // m.ExternalIPAddress
511         size += 1     // m.Protocol
512         size += 2     // m.LocalPort
513         size += 2     // m.ExternalPort
514         size += 4     // m.ExternalSwIfIndex
515         size += 4     // m.VrfID
516         size += 64    // m.Tag
517         return size
518 }
519 func (m *Nat44AddDelStaticMapping) Marshal(b []byte) ([]byte, error) {
520         if b == nil {
521                 b = make([]byte, m.Size())
522         }
523         buf := codec.NewBuffer(b)
524         buf.EncodeBool(m.IsAdd)
525         buf.EncodeUint8(uint8(m.Flags))
526         buf.EncodeBytes(m.LocalIPAddress[:], 4)
527         buf.EncodeBytes(m.ExternalIPAddress[:], 4)
528         buf.EncodeUint8(m.Protocol)
529         buf.EncodeUint16(m.LocalPort)
530         buf.EncodeUint16(m.ExternalPort)
531         buf.EncodeUint32(uint32(m.ExternalSwIfIndex))
532         buf.EncodeUint32(m.VrfID)
533         buf.EncodeString(m.Tag, 64)
534         return buf.Bytes(), nil
535 }
536 func (m *Nat44AddDelStaticMapping) Unmarshal(b []byte) error {
537         buf := codec.NewBuffer(b)
538         m.IsAdd = buf.DecodeBool()
539         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
540         copy(m.LocalIPAddress[:], buf.DecodeBytes(4))
541         copy(m.ExternalIPAddress[:], buf.DecodeBytes(4))
542         m.Protocol = buf.DecodeUint8()
543         m.LocalPort = buf.DecodeUint16()
544         m.ExternalPort = buf.DecodeUint16()
545         m.ExternalSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
546         m.VrfID = buf.DecodeUint32()
547         m.Tag = buf.DecodeString(64)
548         return nil
549 }
550
551 // Nat44AddDelStaticMappingReply defines message 'nat44_add_del_static_mapping_reply'.
552 type Nat44AddDelStaticMappingReply struct {
553         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
554 }
555
556 func (m *Nat44AddDelStaticMappingReply) Reset() { *m = Nat44AddDelStaticMappingReply{} }
557 func (*Nat44AddDelStaticMappingReply) GetMessageName() string {
558         return "nat44_add_del_static_mapping_reply"
559 }
560 func (*Nat44AddDelStaticMappingReply) GetCrcString() string { return "e8d4e804" }
561 func (*Nat44AddDelStaticMappingReply) GetMessageType() api.MessageType {
562         return api.ReplyMessage
563 }
564
565 func (m *Nat44AddDelStaticMappingReply) Size() (size int) {
566         if m == nil {
567                 return 0
568         }
569         size += 4 // m.Retval
570         return size
571 }
572 func (m *Nat44AddDelStaticMappingReply) Marshal(b []byte) ([]byte, error) {
573         if b == nil {
574                 b = make([]byte, m.Size())
575         }
576         buf := codec.NewBuffer(b)
577         buf.EncodeInt32(m.Retval)
578         return buf.Bytes(), nil
579 }
580 func (m *Nat44AddDelStaticMappingReply) Unmarshal(b []byte) error {
581         buf := codec.NewBuffer(b)
582         m.Retval = buf.DecodeInt32()
583         return nil
584 }
585
586 // Nat44AddDelStaticMappingV2 defines message 'nat44_add_del_static_mapping_v2'.
587 // InProgress: the message form may change in the future versions
588 type Nat44AddDelStaticMappingV2 struct {
589         IsAdd             bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
590         MatchPool         bool                           `binapi:"bool,name=match_pool" json:"match_pool,omitempty"`
591         Flags             nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
592         PoolIPAddress     ip_types.IP4Address            `binapi:"ip4_address,name=pool_ip_address" json:"pool_ip_address,omitempty"`
593         LocalIPAddress    ip_types.IP4Address            `binapi:"ip4_address,name=local_ip_address" json:"local_ip_address,omitempty"`
594         ExternalIPAddress ip_types.IP4Address            `binapi:"ip4_address,name=external_ip_address" json:"external_ip_address,omitempty"`
595         Protocol          uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
596         LocalPort         uint16                         `binapi:"u16,name=local_port" json:"local_port,omitempty"`
597         ExternalPort      uint16                         `binapi:"u16,name=external_port" json:"external_port,omitempty"`
598         ExternalSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=external_sw_if_index" json:"external_sw_if_index,omitempty"`
599         VrfID             uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
600         Tag               string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
601 }
602
603 func (m *Nat44AddDelStaticMappingV2) Reset()               { *m = Nat44AddDelStaticMappingV2{} }
604 func (*Nat44AddDelStaticMappingV2) GetMessageName() string { return "nat44_add_del_static_mapping_v2" }
605 func (*Nat44AddDelStaticMappingV2) GetCrcString() string   { return "5e205f1a" }
606 func (*Nat44AddDelStaticMappingV2) GetMessageType() api.MessageType {
607         return api.RequestMessage
608 }
609
610 func (m *Nat44AddDelStaticMappingV2) Size() (size int) {
611         if m == nil {
612                 return 0
613         }
614         size += 1     // m.IsAdd
615         size += 1     // m.MatchPool
616         size += 1     // m.Flags
617         size += 1 * 4 // m.PoolIPAddress
618         size += 1 * 4 // m.LocalIPAddress
619         size += 1 * 4 // m.ExternalIPAddress
620         size += 1     // m.Protocol
621         size += 2     // m.LocalPort
622         size += 2     // m.ExternalPort
623         size += 4     // m.ExternalSwIfIndex
624         size += 4     // m.VrfID
625         size += 64    // m.Tag
626         return size
627 }
628 func (m *Nat44AddDelStaticMappingV2) Marshal(b []byte) ([]byte, error) {
629         if b == nil {
630                 b = make([]byte, m.Size())
631         }
632         buf := codec.NewBuffer(b)
633         buf.EncodeBool(m.IsAdd)
634         buf.EncodeBool(m.MatchPool)
635         buf.EncodeUint8(uint8(m.Flags))
636         buf.EncodeBytes(m.PoolIPAddress[:], 4)
637         buf.EncodeBytes(m.LocalIPAddress[:], 4)
638         buf.EncodeBytes(m.ExternalIPAddress[:], 4)
639         buf.EncodeUint8(m.Protocol)
640         buf.EncodeUint16(m.LocalPort)
641         buf.EncodeUint16(m.ExternalPort)
642         buf.EncodeUint32(uint32(m.ExternalSwIfIndex))
643         buf.EncodeUint32(m.VrfID)
644         buf.EncodeString(m.Tag, 64)
645         return buf.Bytes(), nil
646 }
647 func (m *Nat44AddDelStaticMappingV2) Unmarshal(b []byte) error {
648         buf := codec.NewBuffer(b)
649         m.IsAdd = buf.DecodeBool()
650         m.MatchPool = buf.DecodeBool()
651         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
652         copy(m.PoolIPAddress[:], buf.DecodeBytes(4))
653         copy(m.LocalIPAddress[:], buf.DecodeBytes(4))
654         copy(m.ExternalIPAddress[:], buf.DecodeBytes(4))
655         m.Protocol = buf.DecodeUint8()
656         m.LocalPort = buf.DecodeUint16()
657         m.ExternalPort = buf.DecodeUint16()
658         m.ExternalSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
659         m.VrfID = buf.DecodeUint32()
660         m.Tag = buf.DecodeString(64)
661         return nil
662 }
663
664 // Nat44AddDelStaticMappingV2Reply defines message 'nat44_add_del_static_mapping_v2_reply'.
665 // InProgress: the message form may change in the future versions
666 type Nat44AddDelStaticMappingV2Reply struct {
667         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
668 }
669
670 func (m *Nat44AddDelStaticMappingV2Reply) Reset() { *m = Nat44AddDelStaticMappingV2Reply{} }
671 func (*Nat44AddDelStaticMappingV2Reply) GetMessageName() string {
672         return "nat44_add_del_static_mapping_v2_reply"
673 }
674 func (*Nat44AddDelStaticMappingV2Reply) GetCrcString() string { return "e8d4e804" }
675 func (*Nat44AddDelStaticMappingV2Reply) GetMessageType() api.MessageType {
676         return api.ReplyMessage
677 }
678
679 func (m *Nat44AddDelStaticMappingV2Reply) Size() (size int) {
680         if m == nil {
681                 return 0
682         }
683         size += 4 // m.Retval
684         return size
685 }
686 func (m *Nat44AddDelStaticMappingV2Reply) Marshal(b []byte) ([]byte, error) {
687         if b == nil {
688                 b = make([]byte, m.Size())
689         }
690         buf := codec.NewBuffer(b)
691         buf.EncodeInt32(m.Retval)
692         return buf.Bytes(), nil
693 }
694 func (m *Nat44AddDelStaticMappingV2Reply) Unmarshal(b []byte) error {
695         buf := codec.NewBuffer(b)
696         m.Retval = buf.DecodeInt32()
697         return nil
698 }
699
700 // Nat44AddressDetails defines message 'nat44_address_details'.
701 type Nat44AddressDetails struct {
702         IPAddress ip_types.IP4Address      `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
703         Flags     nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
704         VrfID     uint32                   `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
705 }
706
707 func (m *Nat44AddressDetails) Reset()               { *m = Nat44AddressDetails{} }
708 func (*Nat44AddressDetails) GetMessageName() string { return "nat44_address_details" }
709 func (*Nat44AddressDetails) GetCrcString() string   { return "0d1beac1" }
710 func (*Nat44AddressDetails) GetMessageType() api.MessageType {
711         return api.ReplyMessage
712 }
713
714 func (m *Nat44AddressDetails) Size() (size int) {
715         if m == nil {
716                 return 0
717         }
718         size += 1 * 4 // m.IPAddress
719         size += 1     // m.Flags
720         size += 4     // m.VrfID
721         return size
722 }
723 func (m *Nat44AddressDetails) Marshal(b []byte) ([]byte, error) {
724         if b == nil {
725                 b = make([]byte, m.Size())
726         }
727         buf := codec.NewBuffer(b)
728         buf.EncodeBytes(m.IPAddress[:], 4)
729         buf.EncodeUint8(uint8(m.Flags))
730         buf.EncodeUint32(m.VrfID)
731         return buf.Bytes(), nil
732 }
733 func (m *Nat44AddressDetails) Unmarshal(b []byte) error {
734         buf := codec.NewBuffer(b)
735         copy(m.IPAddress[:], buf.DecodeBytes(4))
736         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
737         m.VrfID = buf.DecodeUint32()
738         return nil
739 }
740
741 // Nat44AddressDump defines message 'nat44_address_dump'.
742 type Nat44AddressDump struct{}
743
744 func (m *Nat44AddressDump) Reset()               { *m = Nat44AddressDump{} }
745 func (*Nat44AddressDump) GetMessageName() string { return "nat44_address_dump" }
746 func (*Nat44AddressDump) GetCrcString() string   { return "51077d14" }
747 func (*Nat44AddressDump) GetMessageType() api.MessageType {
748         return api.RequestMessage
749 }
750
751 func (m *Nat44AddressDump) Size() (size int) {
752         if m == nil {
753                 return 0
754         }
755         return size
756 }
757 func (m *Nat44AddressDump) Marshal(b []byte) ([]byte, error) {
758         if b == nil {
759                 b = make([]byte, m.Size())
760         }
761         buf := codec.NewBuffer(b)
762         return buf.Bytes(), nil
763 }
764 func (m *Nat44AddressDump) Unmarshal(b []byte) error {
765         return nil
766 }
767
768 // Nat44DelSession defines message 'nat44_del_session'.
769 type Nat44DelSession struct {
770         Address        ip_types.IP4Address      `binapi:"ip4_address,name=address" json:"address,omitempty"`
771         Protocol       uint8                    `binapi:"u8,name=protocol" json:"protocol,omitempty"`
772         Port           uint16                   `binapi:"u16,name=port" json:"port,omitempty"`
773         VrfID          uint32                   `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
774         Flags          nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
775         ExtHostAddress ip_types.IP4Address      `binapi:"ip4_address,name=ext_host_address" json:"ext_host_address,omitempty"`
776         ExtHostPort    uint16                   `binapi:"u16,name=ext_host_port" json:"ext_host_port,omitempty"`
777 }
778
779 func (m *Nat44DelSession) Reset()               { *m = Nat44DelSession{} }
780 func (*Nat44DelSession) GetMessageName() string { return "nat44_del_session" }
781 func (*Nat44DelSession) GetCrcString() string   { return "15a5bf8c" }
782 func (*Nat44DelSession) GetMessageType() api.MessageType {
783         return api.RequestMessage
784 }
785
786 func (m *Nat44DelSession) Size() (size int) {
787         if m == nil {
788                 return 0
789         }
790         size += 1 * 4 // m.Address
791         size += 1     // m.Protocol
792         size += 2     // m.Port
793         size += 4     // m.VrfID
794         size += 1     // m.Flags
795         size += 1 * 4 // m.ExtHostAddress
796         size += 2     // m.ExtHostPort
797         return size
798 }
799 func (m *Nat44DelSession) Marshal(b []byte) ([]byte, error) {
800         if b == nil {
801                 b = make([]byte, m.Size())
802         }
803         buf := codec.NewBuffer(b)
804         buf.EncodeBytes(m.Address[:], 4)
805         buf.EncodeUint8(m.Protocol)
806         buf.EncodeUint16(m.Port)
807         buf.EncodeUint32(m.VrfID)
808         buf.EncodeUint8(uint8(m.Flags))
809         buf.EncodeBytes(m.ExtHostAddress[:], 4)
810         buf.EncodeUint16(m.ExtHostPort)
811         return buf.Bytes(), nil
812 }
813 func (m *Nat44DelSession) Unmarshal(b []byte) error {
814         buf := codec.NewBuffer(b)
815         copy(m.Address[:], buf.DecodeBytes(4))
816         m.Protocol = buf.DecodeUint8()
817         m.Port = buf.DecodeUint16()
818         m.VrfID = buf.DecodeUint32()
819         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
820         copy(m.ExtHostAddress[:], buf.DecodeBytes(4))
821         m.ExtHostPort = buf.DecodeUint16()
822         return nil
823 }
824
825 // Nat44DelSessionReply defines message 'nat44_del_session_reply'.
826 type Nat44DelSessionReply struct {
827         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
828 }
829
830 func (m *Nat44DelSessionReply) Reset()               { *m = Nat44DelSessionReply{} }
831 func (*Nat44DelSessionReply) GetMessageName() string { return "nat44_del_session_reply" }
832 func (*Nat44DelSessionReply) GetCrcString() string   { return "e8d4e804" }
833 func (*Nat44DelSessionReply) GetMessageType() api.MessageType {
834         return api.ReplyMessage
835 }
836
837 func (m *Nat44DelSessionReply) Size() (size int) {
838         if m == nil {
839                 return 0
840         }
841         size += 4 // m.Retval
842         return size
843 }
844 func (m *Nat44DelSessionReply) Marshal(b []byte) ([]byte, error) {
845         if b == nil {
846                 b = make([]byte, m.Size())
847         }
848         buf := codec.NewBuffer(b)
849         buf.EncodeInt32(m.Retval)
850         return buf.Bytes(), nil
851 }
852 func (m *Nat44DelSessionReply) Unmarshal(b []byte) error {
853         buf := codec.NewBuffer(b)
854         m.Retval = buf.DecodeInt32()
855         return nil
856 }
857
858 // Nat44DelUser defines message 'nat44_del_user'.
859 type Nat44DelUser struct {
860         IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
861         FibIndex  uint32              `binapi:"u32,name=fib_index" json:"fib_index,omitempty"`
862 }
863
864 func (m *Nat44DelUser) Reset()               { *m = Nat44DelUser{} }
865 func (*Nat44DelUser) GetMessageName() string { return "nat44_del_user" }
866 func (*Nat44DelUser) GetCrcString() string   { return "99a9f998" }
867 func (*Nat44DelUser) GetMessageType() api.MessageType {
868         return api.RequestMessage
869 }
870
871 func (m *Nat44DelUser) Size() (size int) {
872         if m == nil {
873                 return 0
874         }
875         size += 1 * 4 // m.IPAddress
876         size += 4     // m.FibIndex
877         return size
878 }
879 func (m *Nat44DelUser) Marshal(b []byte) ([]byte, error) {
880         if b == nil {
881                 b = make([]byte, m.Size())
882         }
883         buf := codec.NewBuffer(b)
884         buf.EncodeBytes(m.IPAddress[:], 4)
885         buf.EncodeUint32(m.FibIndex)
886         return buf.Bytes(), nil
887 }
888 func (m *Nat44DelUser) Unmarshal(b []byte) error {
889         buf := codec.NewBuffer(b)
890         copy(m.IPAddress[:], buf.DecodeBytes(4))
891         m.FibIndex = buf.DecodeUint32()
892         return nil
893 }
894
895 // Nat44DelUserReply defines message 'nat44_del_user_reply'.
896 type Nat44DelUserReply struct {
897         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
898 }
899
900 func (m *Nat44DelUserReply) Reset()               { *m = Nat44DelUserReply{} }
901 func (*Nat44DelUserReply) GetMessageName() string { return "nat44_del_user_reply" }
902 func (*Nat44DelUserReply) GetCrcString() string   { return "e8d4e804" }
903 func (*Nat44DelUserReply) GetMessageType() api.MessageType {
904         return api.ReplyMessage
905 }
906
907 func (m *Nat44DelUserReply) Size() (size int) {
908         if m == nil {
909                 return 0
910         }
911         size += 4 // m.Retval
912         return size
913 }
914 func (m *Nat44DelUserReply) Marshal(b []byte) ([]byte, error) {
915         if b == nil {
916                 b = make([]byte, m.Size())
917         }
918         buf := codec.NewBuffer(b)
919         buf.EncodeInt32(m.Retval)
920         return buf.Bytes(), nil
921 }
922 func (m *Nat44DelUserReply) Unmarshal(b []byte) error {
923         buf := codec.NewBuffer(b)
924         m.Retval = buf.DecodeInt32()
925         return nil
926 }
927
928 // Nat44EdAddDelOutputInterface defines message 'nat44_ed_add_del_output_interface'.
929 type Nat44EdAddDelOutputInterface struct {
930         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
931         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
932 }
933
934 func (m *Nat44EdAddDelOutputInterface) Reset() { *m = Nat44EdAddDelOutputInterface{} }
935 func (*Nat44EdAddDelOutputInterface) GetMessageName() string {
936         return "nat44_ed_add_del_output_interface"
937 }
938 func (*Nat44EdAddDelOutputInterface) GetCrcString() string { return "47d6e753" }
939 func (*Nat44EdAddDelOutputInterface) GetMessageType() api.MessageType {
940         return api.RequestMessage
941 }
942
943 func (m *Nat44EdAddDelOutputInterface) Size() (size int) {
944         if m == nil {
945                 return 0
946         }
947         size += 1 // m.IsAdd
948         size += 4 // m.SwIfIndex
949         return size
950 }
951 func (m *Nat44EdAddDelOutputInterface) Marshal(b []byte) ([]byte, error) {
952         if b == nil {
953                 b = make([]byte, m.Size())
954         }
955         buf := codec.NewBuffer(b)
956         buf.EncodeBool(m.IsAdd)
957         buf.EncodeUint32(uint32(m.SwIfIndex))
958         return buf.Bytes(), nil
959 }
960 func (m *Nat44EdAddDelOutputInterface) Unmarshal(b []byte) error {
961         buf := codec.NewBuffer(b)
962         m.IsAdd = buf.DecodeBool()
963         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
964         return nil
965 }
966
967 // Nat44EdAddDelOutputInterfaceReply defines message 'nat44_ed_add_del_output_interface_reply'.
968 type Nat44EdAddDelOutputInterfaceReply struct {
969         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
970 }
971
972 func (m *Nat44EdAddDelOutputInterfaceReply) Reset() { *m = Nat44EdAddDelOutputInterfaceReply{} }
973 func (*Nat44EdAddDelOutputInterfaceReply) GetMessageName() string {
974         return "nat44_ed_add_del_output_interface_reply"
975 }
976 func (*Nat44EdAddDelOutputInterfaceReply) GetCrcString() string { return "e8d4e804" }
977 func (*Nat44EdAddDelOutputInterfaceReply) GetMessageType() api.MessageType {
978         return api.ReplyMessage
979 }
980
981 func (m *Nat44EdAddDelOutputInterfaceReply) Size() (size int) {
982         if m == nil {
983                 return 0
984         }
985         size += 4 // m.Retval
986         return size
987 }
988 func (m *Nat44EdAddDelOutputInterfaceReply) Marshal(b []byte) ([]byte, error) {
989         if b == nil {
990                 b = make([]byte, m.Size())
991         }
992         buf := codec.NewBuffer(b)
993         buf.EncodeInt32(m.Retval)
994         return buf.Bytes(), nil
995 }
996 func (m *Nat44EdAddDelOutputInterfaceReply) Unmarshal(b []byte) error {
997         buf := codec.NewBuffer(b)
998         m.Retval = buf.DecodeInt32()
999         return nil
1000 }
1001
1002 // Nat44EdOutputInterfaceDetails defines message 'nat44_ed_output_interface_details'.
1003 type Nat44EdOutputInterfaceDetails struct {
1004         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1005 }
1006
1007 func (m *Nat44EdOutputInterfaceDetails) Reset() { *m = Nat44EdOutputInterfaceDetails{} }
1008 func (*Nat44EdOutputInterfaceDetails) GetMessageName() string {
1009         return "nat44_ed_output_interface_details"
1010 }
1011 func (*Nat44EdOutputInterfaceDetails) GetCrcString() string { return "0b45011c" }
1012 func (*Nat44EdOutputInterfaceDetails) GetMessageType() api.MessageType {
1013         return api.ReplyMessage
1014 }
1015
1016 func (m *Nat44EdOutputInterfaceDetails) Size() (size int) {
1017         if m == nil {
1018                 return 0
1019         }
1020         size += 4 // m.SwIfIndex
1021         return size
1022 }
1023 func (m *Nat44EdOutputInterfaceDetails) Marshal(b []byte) ([]byte, error) {
1024         if b == nil {
1025                 b = make([]byte, m.Size())
1026         }
1027         buf := codec.NewBuffer(b)
1028         buf.EncodeUint32(uint32(m.SwIfIndex))
1029         return buf.Bytes(), nil
1030 }
1031 func (m *Nat44EdOutputInterfaceDetails) Unmarshal(b []byte) error {
1032         buf := codec.NewBuffer(b)
1033         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1034         return nil
1035 }
1036
1037 // Nat44EdOutputInterfaceGet defines message 'nat44_ed_output_interface_get'.
1038 type Nat44EdOutputInterfaceGet struct {
1039         Cursor uint32 `binapi:"u32,name=cursor" json:"cursor,omitempty"`
1040 }
1041
1042 func (m *Nat44EdOutputInterfaceGet) Reset()               { *m = Nat44EdOutputInterfaceGet{} }
1043 func (*Nat44EdOutputInterfaceGet) GetMessageName() string { return "nat44_ed_output_interface_get" }
1044 func (*Nat44EdOutputInterfaceGet) GetCrcString() string   { return "f75ba505" }
1045 func (*Nat44EdOutputInterfaceGet) GetMessageType() api.MessageType {
1046         return api.RequestMessage
1047 }
1048
1049 func (m *Nat44EdOutputInterfaceGet) Size() (size int) {
1050         if m == nil {
1051                 return 0
1052         }
1053         size += 4 // m.Cursor
1054         return size
1055 }
1056 func (m *Nat44EdOutputInterfaceGet) Marshal(b []byte) ([]byte, error) {
1057         if b == nil {
1058                 b = make([]byte, m.Size())
1059         }
1060         buf := codec.NewBuffer(b)
1061         buf.EncodeUint32(m.Cursor)
1062         return buf.Bytes(), nil
1063 }
1064 func (m *Nat44EdOutputInterfaceGet) Unmarshal(b []byte) error {
1065         buf := codec.NewBuffer(b)
1066         m.Cursor = buf.DecodeUint32()
1067         return nil
1068 }
1069
1070 // Nat44EdOutputInterfaceGetReply defines message 'nat44_ed_output_interface_get_reply'.
1071 type Nat44EdOutputInterfaceGetReply struct {
1072         Retval int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
1073         Cursor uint32 `binapi:"u32,name=cursor" json:"cursor,omitempty"`
1074 }
1075
1076 func (m *Nat44EdOutputInterfaceGetReply) Reset() { *m = Nat44EdOutputInterfaceGetReply{} }
1077 func (*Nat44EdOutputInterfaceGetReply) GetMessageName() string {
1078         return "nat44_ed_output_interface_get_reply"
1079 }
1080 func (*Nat44EdOutputInterfaceGetReply) GetCrcString() string { return "53b48f5d" }
1081 func (*Nat44EdOutputInterfaceGetReply) GetMessageType() api.MessageType {
1082         return api.ReplyMessage
1083 }
1084
1085 func (m *Nat44EdOutputInterfaceGetReply) Size() (size int) {
1086         if m == nil {
1087                 return 0
1088         }
1089         size += 4 // m.Retval
1090         size += 4 // m.Cursor
1091         return size
1092 }
1093 func (m *Nat44EdOutputInterfaceGetReply) Marshal(b []byte) ([]byte, error) {
1094         if b == nil {
1095                 b = make([]byte, m.Size())
1096         }
1097         buf := codec.NewBuffer(b)
1098         buf.EncodeInt32(m.Retval)
1099         buf.EncodeUint32(m.Cursor)
1100         return buf.Bytes(), nil
1101 }
1102 func (m *Nat44EdOutputInterfaceGetReply) Unmarshal(b []byte) error {
1103         buf := codec.NewBuffer(b)
1104         m.Retval = buf.DecodeInt32()
1105         m.Cursor = buf.DecodeUint32()
1106         return nil
1107 }
1108
1109 // Nat44EdPluginEnableDisable defines message 'nat44_ed_plugin_enable_disable'.
1110 // InProgress: the message form may change in the future versions
1111 type Nat44EdPluginEnableDisable struct {
1112         InsideVrf     uint32           `binapi:"u32,name=inside_vrf" json:"inside_vrf,omitempty"`
1113         OutsideVrf    uint32           `binapi:"u32,name=outside_vrf" json:"outside_vrf,omitempty"`
1114         Sessions      uint32           `binapi:"u32,name=sessions" json:"sessions,omitempty"`
1115         SessionMemory uint32           `binapi:"u32,name=session_memory" json:"session_memory,omitempty"`
1116         Enable        bool             `binapi:"bool,name=enable" json:"enable,omitempty"`
1117         Flags         Nat44ConfigFlags `binapi:"nat44_config_flags,name=flags" json:"flags,omitempty"`
1118 }
1119
1120 func (m *Nat44EdPluginEnableDisable) Reset()               { *m = Nat44EdPluginEnableDisable{} }
1121 func (*Nat44EdPluginEnableDisable) GetMessageName() string { return "nat44_ed_plugin_enable_disable" }
1122 func (*Nat44EdPluginEnableDisable) GetCrcString() string   { return "be17f8dd" }
1123 func (*Nat44EdPluginEnableDisable) GetMessageType() api.MessageType {
1124         return api.RequestMessage
1125 }
1126
1127 func (m *Nat44EdPluginEnableDisable) Size() (size int) {
1128         if m == nil {
1129                 return 0
1130         }
1131         size += 4 // m.InsideVrf
1132         size += 4 // m.OutsideVrf
1133         size += 4 // m.Sessions
1134         size += 4 // m.SessionMemory
1135         size += 1 // m.Enable
1136         size += 1 // m.Flags
1137         return size
1138 }
1139 func (m *Nat44EdPluginEnableDisable) Marshal(b []byte) ([]byte, error) {
1140         if b == nil {
1141                 b = make([]byte, m.Size())
1142         }
1143         buf := codec.NewBuffer(b)
1144         buf.EncodeUint32(m.InsideVrf)
1145         buf.EncodeUint32(m.OutsideVrf)
1146         buf.EncodeUint32(m.Sessions)
1147         buf.EncodeUint32(m.SessionMemory)
1148         buf.EncodeBool(m.Enable)
1149         buf.EncodeUint8(uint8(m.Flags))
1150         return buf.Bytes(), nil
1151 }
1152 func (m *Nat44EdPluginEnableDisable) Unmarshal(b []byte) error {
1153         buf := codec.NewBuffer(b)
1154         m.InsideVrf = buf.DecodeUint32()
1155         m.OutsideVrf = buf.DecodeUint32()
1156         m.Sessions = buf.DecodeUint32()
1157         m.SessionMemory = buf.DecodeUint32()
1158         m.Enable = buf.DecodeBool()
1159         m.Flags = Nat44ConfigFlags(buf.DecodeUint8())
1160         return nil
1161 }
1162
1163 // Nat44EdPluginEnableDisableReply defines message 'nat44_ed_plugin_enable_disable_reply'.
1164 // InProgress: the message form may change in the future versions
1165 type Nat44EdPluginEnableDisableReply struct {
1166         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1167 }
1168
1169 func (m *Nat44EdPluginEnableDisableReply) Reset() { *m = Nat44EdPluginEnableDisableReply{} }
1170 func (*Nat44EdPluginEnableDisableReply) GetMessageName() string {
1171         return "nat44_ed_plugin_enable_disable_reply"
1172 }
1173 func (*Nat44EdPluginEnableDisableReply) GetCrcString() string { return "e8d4e804" }
1174 func (*Nat44EdPluginEnableDisableReply) GetMessageType() api.MessageType {
1175         return api.ReplyMessage
1176 }
1177
1178 func (m *Nat44EdPluginEnableDisableReply) Size() (size int) {
1179         if m == nil {
1180                 return 0
1181         }
1182         size += 4 // m.Retval
1183         return size
1184 }
1185 func (m *Nat44EdPluginEnableDisableReply) Marshal(b []byte) ([]byte, error) {
1186         if b == nil {
1187                 b = make([]byte, m.Size())
1188         }
1189         buf := codec.NewBuffer(b)
1190         buf.EncodeInt32(m.Retval)
1191         return buf.Bytes(), nil
1192 }
1193 func (m *Nat44EdPluginEnableDisableReply) Unmarshal(b []byte) error {
1194         buf := codec.NewBuffer(b)
1195         m.Retval = buf.DecodeInt32()
1196         return nil
1197 }
1198
1199 // Nat44EdSetFqOptions defines message 'nat44_ed_set_fq_options'.
1200 // InProgress: the message form may change in the future versions
1201 type Nat44EdSetFqOptions struct {
1202         FrameQueueNelts uint32 `binapi:"u32,name=frame_queue_nelts" json:"frame_queue_nelts,omitempty"`
1203 }
1204
1205 func (m *Nat44EdSetFqOptions) Reset()               { *m = Nat44EdSetFqOptions{} }
1206 func (*Nat44EdSetFqOptions) GetMessageName() string { return "nat44_ed_set_fq_options" }
1207 func (*Nat44EdSetFqOptions) GetCrcString() string   { return "2399bd71" }
1208 func (*Nat44EdSetFqOptions) GetMessageType() api.MessageType {
1209         return api.RequestMessage
1210 }
1211
1212 func (m *Nat44EdSetFqOptions) Size() (size int) {
1213         if m == nil {
1214                 return 0
1215         }
1216         size += 4 // m.FrameQueueNelts
1217         return size
1218 }
1219 func (m *Nat44EdSetFqOptions) Marshal(b []byte) ([]byte, error) {
1220         if b == nil {
1221                 b = make([]byte, m.Size())
1222         }
1223         buf := codec.NewBuffer(b)
1224         buf.EncodeUint32(m.FrameQueueNelts)
1225         return buf.Bytes(), nil
1226 }
1227 func (m *Nat44EdSetFqOptions) Unmarshal(b []byte) error {
1228         buf := codec.NewBuffer(b)
1229         m.FrameQueueNelts = buf.DecodeUint32()
1230         return nil
1231 }
1232
1233 // Nat44EdSetFqOptionsReply defines message 'nat44_ed_set_fq_options_reply'.
1234 // InProgress: the message form may change in the future versions
1235 type Nat44EdSetFqOptionsReply struct {
1236         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1237 }
1238
1239 func (m *Nat44EdSetFqOptionsReply) Reset()               { *m = Nat44EdSetFqOptionsReply{} }
1240 func (*Nat44EdSetFqOptionsReply) GetMessageName() string { return "nat44_ed_set_fq_options_reply" }
1241 func (*Nat44EdSetFqOptionsReply) GetCrcString() string   { return "e8d4e804" }
1242 func (*Nat44EdSetFqOptionsReply) GetMessageType() api.MessageType {
1243         return api.ReplyMessage
1244 }
1245
1246 func (m *Nat44EdSetFqOptionsReply) Size() (size int) {
1247         if m == nil {
1248                 return 0
1249         }
1250         size += 4 // m.Retval
1251         return size
1252 }
1253 func (m *Nat44EdSetFqOptionsReply) Marshal(b []byte) ([]byte, error) {
1254         if b == nil {
1255                 b = make([]byte, m.Size())
1256         }
1257         buf := codec.NewBuffer(b)
1258         buf.EncodeInt32(m.Retval)
1259         return buf.Bytes(), nil
1260 }
1261 func (m *Nat44EdSetFqOptionsReply) Unmarshal(b []byte) error {
1262         buf := codec.NewBuffer(b)
1263         m.Retval = buf.DecodeInt32()
1264         return nil
1265 }
1266
1267 // Nat44EdShowFqOptions defines message 'nat44_ed_show_fq_options'.
1268 // InProgress: the message form may change in the future versions
1269 type Nat44EdShowFqOptions struct{}
1270
1271 func (m *Nat44EdShowFqOptions) Reset()               { *m = Nat44EdShowFqOptions{} }
1272 func (*Nat44EdShowFqOptions) GetMessageName() string { return "nat44_ed_show_fq_options" }
1273 func (*Nat44EdShowFqOptions) GetCrcString() string   { return "51077d14" }
1274 func (*Nat44EdShowFqOptions) GetMessageType() api.MessageType {
1275         return api.RequestMessage
1276 }
1277
1278 func (m *Nat44EdShowFqOptions) Size() (size int) {
1279         if m == nil {
1280                 return 0
1281         }
1282         return size
1283 }
1284 func (m *Nat44EdShowFqOptions) Marshal(b []byte) ([]byte, error) {
1285         if b == nil {
1286                 b = make([]byte, m.Size())
1287         }
1288         buf := codec.NewBuffer(b)
1289         return buf.Bytes(), nil
1290 }
1291 func (m *Nat44EdShowFqOptions) Unmarshal(b []byte) error {
1292         return nil
1293 }
1294
1295 // Nat44EdShowFqOptionsReply defines message 'nat44_ed_show_fq_options_reply'.
1296 // InProgress: the message form may change in the future versions
1297 type Nat44EdShowFqOptionsReply struct {
1298         Retval          int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
1299         FrameQueueNelts uint32 `binapi:"u32,name=frame_queue_nelts" json:"frame_queue_nelts,omitempty"`
1300 }
1301
1302 func (m *Nat44EdShowFqOptionsReply) Reset()               { *m = Nat44EdShowFqOptionsReply{} }
1303 func (*Nat44EdShowFqOptionsReply) GetMessageName() string { return "nat44_ed_show_fq_options_reply" }
1304 func (*Nat44EdShowFqOptionsReply) GetCrcString() string   { return "7213b545" }
1305 func (*Nat44EdShowFqOptionsReply) GetMessageType() api.MessageType {
1306         return api.ReplyMessage
1307 }
1308
1309 func (m *Nat44EdShowFqOptionsReply) Size() (size int) {
1310         if m == nil {
1311                 return 0
1312         }
1313         size += 4 // m.Retval
1314         size += 4 // m.FrameQueueNelts
1315         return size
1316 }
1317 func (m *Nat44EdShowFqOptionsReply) Marshal(b []byte) ([]byte, error) {
1318         if b == nil {
1319                 b = make([]byte, m.Size())
1320         }
1321         buf := codec.NewBuffer(b)
1322         buf.EncodeInt32(m.Retval)
1323         buf.EncodeUint32(m.FrameQueueNelts)
1324         return buf.Bytes(), nil
1325 }
1326 func (m *Nat44EdShowFqOptionsReply) Unmarshal(b []byte) error {
1327         buf := codec.NewBuffer(b)
1328         m.Retval = buf.DecodeInt32()
1329         m.FrameQueueNelts = buf.DecodeUint32()
1330         return nil
1331 }
1332
1333 // Nat44ForwardingEnableDisable defines message 'nat44_forwarding_enable_disable'.
1334 // Deprecated: the message will be removed in the future versions
1335 type Nat44ForwardingEnableDisable struct {
1336         Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
1337 }
1338
1339 func (m *Nat44ForwardingEnableDisable) Reset() { *m = Nat44ForwardingEnableDisable{} }
1340 func (*Nat44ForwardingEnableDisable) GetMessageName() string {
1341         return "nat44_forwarding_enable_disable"
1342 }
1343 func (*Nat44ForwardingEnableDisable) GetCrcString() string { return "b3e225d2" }
1344 func (*Nat44ForwardingEnableDisable) GetMessageType() api.MessageType {
1345         return api.RequestMessage
1346 }
1347
1348 func (m *Nat44ForwardingEnableDisable) Size() (size int) {
1349         if m == nil {
1350                 return 0
1351         }
1352         size += 1 // m.Enable
1353         return size
1354 }
1355 func (m *Nat44ForwardingEnableDisable) Marshal(b []byte) ([]byte, error) {
1356         if b == nil {
1357                 b = make([]byte, m.Size())
1358         }
1359         buf := codec.NewBuffer(b)
1360         buf.EncodeBool(m.Enable)
1361         return buf.Bytes(), nil
1362 }
1363 func (m *Nat44ForwardingEnableDisable) Unmarshal(b []byte) error {
1364         buf := codec.NewBuffer(b)
1365         m.Enable = buf.DecodeBool()
1366         return nil
1367 }
1368
1369 // Nat44ForwardingEnableDisableReply defines message 'nat44_forwarding_enable_disable_reply'.
1370 // Deprecated: the message will be removed in the future versions
1371 type Nat44ForwardingEnableDisableReply struct {
1372         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1373 }
1374
1375 func (m *Nat44ForwardingEnableDisableReply) Reset() { *m = Nat44ForwardingEnableDisableReply{} }
1376 func (*Nat44ForwardingEnableDisableReply) GetMessageName() string {
1377         return "nat44_forwarding_enable_disable_reply"
1378 }
1379 func (*Nat44ForwardingEnableDisableReply) GetCrcString() string { return "e8d4e804" }
1380 func (*Nat44ForwardingEnableDisableReply) GetMessageType() api.MessageType {
1381         return api.ReplyMessage
1382 }
1383
1384 func (m *Nat44ForwardingEnableDisableReply) Size() (size int) {
1385         if m == nil {
1386                 return 0
1387         }
1388         size += 4 // m.Retval
1389         return size
1390 }
1391 func (m *Nat44ForwardingEnableDisableReply) Marshal(b []byte) ([]byte, error) {
1392         if b == nil {
1393                 b = make([]byte, m.Size())
1394         }
1395         buf := codec.NewBuffer(b)
1396         buf.EncodeInt32(m.Retval)
1397         return buf.Bytes(), nil
1398 }
1399 func (m *Nat44ForwardingEnableDisableReply) Unmarshal(b []byte) error {
1400         buf := codec.NewBuffer(b)
1401         m.Retval = buf.DecodeInt32()
1402         return nil
1403 }
1404
1405 // Nat44ForwardingIsEnabled defines message 'nat44_forwarding_is_enabled'.
1406 // Deprecated: the message will be removed in the future versions
1407 type Nat44ForwardingIsEnabled struct{}
1408
1409 func (m *Nat44ForwardingIsEnabled) Reset()               { *m = Nat44ForwardingIsEnabled{} }
1410 func (*Nat44ForwardingIsEnabled) GetMessageName() string { return "nat44_forwarding_is_enabled" }
1411 func (*Nat44ForwardingIsEnabled) GetCrcString() string   { return "51077d14" }
1412 func (*Nat44ForwardingIsEnabled) GetMessageType() api.MessageType {
1413         return api.RequestMessage
1414 }
1415
1416 func (m *Nat44ForwardingIsEnabled) Size() (size int) {
1417         if m == nil {
1418                 return 0
1419         }
1420         return size
1421 }
1422 func (m *Nat44ForwardingIsEnabled) Marshal(b []byte) ([]byte, error) {
1423         if b == nil {
1424                 b = make([]byte, m.Size())
1425         }
1426         buf := codec.NewBuffer(b)
1427         return buf.Bytes(), nil
1428 }
1429 func (m *Nat44ForwardingIsEnabled) Unmarshal(b []byte) error {
1430         return nil
1431 }
1432
1433 // Nat44ForwardingIsEnabledReply defines message 'nat44_forwarding_is_enabled_reply'.
1434 // Deprecated: the message will be removed in the future versions
1435 type Nat44ForwardingIsEnabledReply struct {
1436         Enabled bool `binapi:"bool,name=enabled" json:"enabled,omitempty"`
1437 }
1438
1439 func (m *Nat44ForwardingIsEnabledReply) Reset() { *m = Nat44ForwardingIsEnabledReply{} }
1440 func (*Nat44ForwardingIsEnabledReply) GetMessageName() string {
1441         return "nat44_forwarding_is_enabled_reply"
1442 }
1443 func (*Nat44ForwardingIsEnabledReply) GetCrcString() string { return "46924a06" }
1444 func (*Nat44ForwardingIsEnabledReply) GetMessageType() api.MessageType {
1445         return api.ReplyMessage
1446 }
1447
1448 func (m *Nat44ForwardingIsEnabledReply) Size() (size int) {
1449         if m == nil {
1450                 return 0
1451         }
1452         size += 1 // m.Enabled
1453         return size
1454 }
1455 func (m *Nat44ForwardingIsEnabledReply) Marshal(b []byte) ([]byte, error) {
1456         if b == nil {
1457                 b = make([]byte, m.Size())
1458         }
1459         buf := codec.NewBuffer(b)
1460         buf.EncodeBool(m.Enabled)
1461         return buf.Bytes(), nil
1462 }
1463 func (m *Nat44ForwardingIsEnabledReply) Unmarshal(b []byte) error {
1464         buf := codec.NewBuffer(b)
1465         m.Enabled = buf.DecodeBool()
1466         return nil
1467 }
1468
1469 // Nat44IdentityMappingDetails defines message 'nat44_identity_mapping_details'.
1470 type Nat44IdentityMappingDetails struct {
1471         Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
1472         IPAddress ip_types.IP4Address            `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
1473         Protocol  uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
1474         Port      uint16                         `binapi:"u16,name=port" json:"port,omitempty"`
1475         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1476         VrfID     uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
1477         Tag       string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
1478 }
1479
1480 func (m *Nat44IdentityMappingDetails) Reset()               { *m = Nat44IdentityMappingDetails{} }
1481 func (*Nat44IdentityMappingDetails) GetMessageName() string { return "nat44_identity_mapping_details" }
1482 func (*Nat44IdentityMappingDetails) GetCrcString() string   { return "2a52a030" }
1483 func (*Nat44IdentityMappingDetails) GetMessageType() api.MessageType {
1484         return api.ReplyMessage
1485 }
1486
1487 func (m *Nat44IdentityMappingDetails) Size() (size int) {
1488         if m == nil {
1489                 return 0
1490         }
1491         size += 1     // m.Flags
1492         size += 1 * 4 // m.IPAddress
1493         size += 1     // m.Protocol
1494         size += 2     // m.Port
1495         size += 4     // m.SwIfIndex
1496         size += 4     // m.VrfID
1497         size += 64    // m.Tag
1498         return size
1499 }
1500 func (m *Nat44IdentityMappingDetails) Marshal(b []byte) ([]byte, error) {
1501         if b == nil {
1502                 b = make([]byte, m.Size())
1503         }
1504         buf := codec.NewBuffer(b)
1505         buf.EncodeUint8(uint8(m.Flags))
1506         buf.EncodeBytes(m.IPAddress[:], 4)
1507         buf.EncodeUint8(m.Protocol)
1508         buf.EncodeUint16(m.Port)
1509         buf.EncodeUint32(uint32(m.SwIfIndex))
1510         buf.EncodeUint32(m.VrfID)
1511         buf.EncodeString(m.Tag, 64)
1512         return buf.Bytes(), nil
1513 }
1514 func (m *Nat44IdentityMappingDetails) Unmarshal(b []byte) error {
1515         buf := codec.NewBuffer(b)
1516         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
1517         copy(m.IPAddress[:], buf.DecodeBytes(4))
1518         m.Protocol = buf.DecodeUint8()
1519         m.Port = buf.DecodeUint16()
1520         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1521         m.VrfID = buf.DecodeUint32()
1522         m.Tag = buf.DecodeString(64)
1523         return nil
1524 }
1525
1526 // Nat44IdentityMappingDump defines message 'nat44_identity_mapping_dump'.
1527 type Nat44IdentityMappingDump struct{}
1528
1529 func (m *Nat44IdentityMappingDump) Reset()               { *m = Nat44IdentityMappingDump{} }
1530 func (*Nat44IdentityMappingDump) GetMessageName() string { return "nat44_identity_mapping_dump" }
1531 func (*Nat44IdentityMappingDump) GetCrcString() string   { return "51077d14" }
1532 func (*Nat44IdentityMappingDump) GetMessageType() api.MessageType {
1533         return api.RequestMessage
1534 }
1535
1536 func (m *Nat44IdentityMappingDump) Size() (size int) {
1537         if m == nil {
1538                 return 0
1539         }
1540         return size
1541 }
1542 func (m *Nat44IdentityMappingDump) Marshal(b []byte) ([]byte, error) {
1543         if b == nil {
1544                 b = make([]byte, m.Size())
1545         }
1546         buf := codec.NewBuffer(b)
1547         return buf.Bytes(), nil
1548 }
1549 func (m *Nat44IdentityMappingDump) Unmarshal(b []byte) error {
1550         return nil
1551 }
1552
1553 // Nat44InterfaceAddDelFeature defines message 'nat44_interface_add_del_feature'.
1554 type Nat44InterfaceAddDelFeature struct {
1555         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
1556         Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
1557         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1558 }
1559
1560 func (m *Nat44InterfaceAddDelFeature) Reset()               { *m = Nat44InterfaceAddDelFeature{} }
1561 func (*Nat44InterfaceAddDelFeature) GetMessageName() string { return "nat44_interface_add_del_feature" }
1562 func (*Nat44InterfaceAddDelFeature) GetCrcString() string   { return "f3699b83" }
1563 func (*Nat44InterfaceAddDelFeature) GetMessageType() api.MessageType {
1564         return api.RequestMessage
1565 }
1566
1567 func (m *Nat44InterfaceAddDelFeature) Size() (size int) {
1568         if m == nil {
1569                 return 0
1570         }
1571         size += 1 // m.IsAdd
1572         size += 1 // m.Flags
1573         size += 4 // m.SwIfIndex
1574         return size
1575 }
1576 func (m *Nat44InterfaceAddDelFeature) Marshal(b []byte) ([]byte, error) {
1577         if b == nil {
1578                 b = make([]byte, m.Size())
1579         }
1580         buf := codec.NewBuffer(b)
1581         buf.EncodeBool(m.IsAdd)
1582         buf.EncodeUint8(uint8(m.Flags))
1583         buf.EncodeUint32(uint32(m.SwIfIndex))
1584         return buf.Bytes(), nil
1585 }
1586 func (m *Nat44InterfaceAddDelFeature) Unmarshal(b []byte) error {
1587         buf := codec.NewBuffer(b)
1588         m.IsAdd = buf.DecodeBool()
1589         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
1590         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1591         return nil
1592 }
1593
1594 // Nat44InterfaceAddDelFeatureReply defines message 'nat44_interface_add_del_feature_reply'.
1595 type Nat44InterfaceAddDelFeatureReply struct {
1596         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1597 }
1598
1599 func (m *Nat44InterfaceAddDelFeatureReply) Reset() { *m = Nat44InterfaceAddDelFeatureReply{} }
1600 func (*Nat44InterfaceAddDelFeatureReply) GetMessageName() string {
1601         return "nat44_interface_add_del_feature_reply"
1602 }
1603 func (*Nat44InterfaceAddDelFeatureReply) GetCrcString() string { return "e8d4e804" }
1604 func (*Nat44InterfaceAddDelFeatureReply) GetMessageType() api.MessageType {
1605         return api.ReplyMessage
1606 }
1607
1608 func (m *Nat44InterfaceAddDelFeatureReply) Size() (size int) {
1609         if m == nil {
1610                 return 0
1611         }
1612         size += 4 // m.Retval
1613         return size
1614 }
1615 func (m *Nat44InterfaceAddDelFeatureReply) Marshal(b []byte) ([]byte, error) {
1616         if b == nil {
1617                 b = make([]byte, m.Size())
1618         }
1619         buf := codec.NewBuffer(b)
1620         buf.EncodeInt32(m.Retval)
1621         return buf.Bytes(), nil
1622 }
1623 func (m *Nat44InterfaceAddDelFeatureReply) Unmarshal(b []byte) error {
1624         buf := codec.NewBuffer(b)
1625         m.Retval = buf.DecodeInt32()
1626         return nil
1627 }
1628
1629 // Nat44InterfaceAddDelOutputFeature defines message 'nat44_interface_add_del_output_feature'.
1630 // Deprecated: the message will be removed in the future versions
1631 type Nat44InterfaceAddDelOutputFeature struct {
1632         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
1633         Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
1634         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1635 }
1636
1637 func (m *Nat44InterfaceAddDelOutputFeature) Reset() { *m = Nat44InterfaceAddDelOutputFeature{} }
1638 func (*Nat44InterfaceAddDelOutputFeature) GetMessageName() string {
1639         return "nat44_interface_add_del_output_feature"
1640 }
1641 func (*Nat44InterfaceAddDelOutputFeature) GetCrcString() string { return "f3699b83" }
1642 func (*Nat44InterfaceAddDelOutputFeature) GetMessageType() api.MessageType {
1643         return api.RequestMessage
1644 }
1645
1646 func (m *Nat44InterfaceAddDelOutputFeature) Size() (size int) {
1647         if m == nil {
1648                 return 0
1649         }
1650         size += 1 // m.IsAdd
1651         size += 1 // m.Flags
1652         size += 4 // m.SwIfIndex
1653         return size
1654 }
1655 func (m *Nat44InterfaceAddDelOutputFeature) Marshal(b []byte) ([]byte, error) {
1656         if b == nil {
1657                 b = make([]byte, m.Size())
1658         }
1659         buf := codec.NewBuffer(b)
1660         buf.EncodeBool(m.IsAdd)
1661         buf.EncodeUint8(uint8(m.Flags))
1662         buf.EncodeUint32(uint32(m.SwIfIndex))
1663         return buf.Bytes(), nil
1664 }
1665 func (m *Nat44InterfaceAddDelOutputFeature) Unmarshal(b []byte) error {
1666         buf := codec.NewBuffer(b)
1667         m.IsAdd = buf.DecodeBool()
1668         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
1669         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1670         return nil
1671 }
1672
1673 // Nat44InterfaceAddDelOutputFeatureReply defines message 'nat44_interface_add_del_output_feature_reply'.
1674 // Deprecated: the message will be removed in the future versions
1675 type Nat44InterfaceAddDelOutputFeatureReply struct {
1676         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1677 }
1678
1679 func (m *Nat44InterfaceAddDelOutputFeatureReply) Reset() {
1680         *m = Nat44InterfaceAddDelOutputFeatureReply{}
1681 }
1682 func (*Nat44InterfaceAddDelOutputFeatureReply) GetMessageName() string {
1683         return "nat44_interface_add_del_output_feature_reply"
1684 }
1685 func (*Nat44InterfaceAddDelOutputFeatureReply) GetCrcString() string { return "e8d4e804" }
1686 func (*Nat44InterfaceAddDelOutputFeatureReply) GetMessageType() api.MessageType {
1687         return api.ReplyMessage
1688 }
1689
1690 func (m *Nat44InterfaceAddDelOutputFeatureReply) Size() (size int) {
1691         if m == nil {
1692                 return 0
1693         }
1694         size += 4 // m.Retval
1695         return size
1696 }
1697 func (m *Nat44InterfaceAddDelOutputFeatureReply) Marshal(b []byte) ([]byte, error) {
1698         if b == nil {
1699                 b = make([]byte, m.Size())
1700         }
1701         buf := codec.NewBuffer(b)
1702         buf.EncodeInt32(m.Retval)
1703         return buf.Bytes(), nil
1704 }
1705 func (m *Nat44InterfaceAddDelOutputFeatureReply) Unmarshal(b []byte) error {
1706         buf := codec.NewBuffer(b)
1707         m.Retval = buf.DecodeInt32()
1708         return nil
1709 }
1710
1711 // Nat44InterfaceAddrDetails defines message 'nat44_interface_addr_details'.
1712 type Nat44InterfaceAddrDetails struct {
1713         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1714         Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
1715 }
1716
1717 func (m *Nat44InterfaceAddrDetails) Reset()               { *m = Nat44InterfaceAddrDetails{} }
1718 func (*Nat44InterfaceAddrDetails) GetMessageName() string { return "nat44_interface_addr_details" }
1719 func (*Nat44InterfaceAddrDetails) GetCrcString() string   { return "e4aca9ca" }
1720 func (*Nat44InterfaceAddrDetails) GetMessageType() api.MessageType {
1721         return api.ReplyMessage
1722 }
1723
1724 func (m *Nat44InterfaceAddrDetails) Size() (size int) {
1725         if m == nil {
1726                 return 0
1727         }
1728         size += 4 // m.SwIfIndex
1729         size += 1 // m.Flags
1730         return size
1731 }
1732 func (m *Nat44InterfaceAddrDetails) Marshal(b []byte) ([]byte, error) {
1733         if b == nil {
1734                 b = make([]byte, m.Size())
1735         }
1736         buf := codec.NewBuffer(b)
1737         buf.EncodeUint32(uint32(m.SwIfIndex))
1738         buf.EncodeUint8(uint8(m.Flags))
1739         return buf.Bytes(), nil
1740 }
1741 func (m *Nat44InterfaceAddrDetails) Unmarshal(b []byte) error {
1742         buf := codec.NewBuffer(b)
1743         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1744         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
1745         return nil
1746 }
1747
1748 // Nat44InterfaceAddrDump defines message 'nat44_interface_addr_dump'.
1749 type Nat44InterfaceAddrDump struct{}
1750
1751 func (m *Nat44InterfaceAddrDump) Reset()               { *m = Nat44InterfaceAddrDump{} }
1752 func (*Nat44InterfaceAddrDump) GetMessageName() string { return "nat44_interface_addr_dump" }
1753 func (*Nat44InterfaceAddrDump) GetCrcString() string   { return "51077d14" }
1754 func (*Nat44InterfaceAddrDump) GetMessageType() api.MessageType {
1755         return api.RequestMessage
1756 }
1757
1758 func (m *Nat44InterfaceAddrDump) Size() (size int) {
1759         if m == nil {
1760                 return 0
1761         }
1762         return size
1763 }
1764 func (m *Nat44InterfaceAddrDump) Marshal(b []byte) ([]byte, error) {
1765         if b == nil {
1766                 b = make([]byte, m.Size())
1767         }
1768         buf := codec.NewBuffer(b)
1769         return buf.Bytes(), nil
1770 }
1771 func (m *Nat44InterfaceAddrDump) Unmarshal(b []byte) error {
1772         return nil
1773 }
1774
1775 // Nat44InterfaceDetails defines message 'nat44_interface_details'.
1776 type Nat44InterfaceDetails struct {
1777         Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
1778         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1779 }
1780
1781 func (m *Nat44InterfaceDetails) Reset()               { *m = Nat44InterfaceDetails{} }
1782 func (*Nat44InterfaceDetails) GetMessageName() string { return "nat44_interface_details" }
1783 func (*Nat44InterfaceDetails) GetCrcString() string   { return "5d286289" }
1784 func (*Nat44InterfaceDetails) GetMessageType() api.MessageType {
1785         return api.ReplyMessage
1786 }
1787
1788 func (m *Nat44InterfaceDetails) Size() (size int) {
1789         if m == nil {
1790                 return 0
1791         }
1792         size += 1 // m.Flags
1793         size += 4 // m.SwIfIndex
1794         return size
1795 }
1796 func (m *Nat44InterfaceDetails) Marshal(b []byte) ([]byte, error) {
1797         if b == nil {
1798                 b = make([]byte, m.Size())
1799         }
1800         buf := codec.NewBuffer(b)
1801         buf.EncodeUint8(uint8(m.Flags))
1802         buf.EncodeUint32(uint32(m.SwIfIndex))
1803         return buf.Bytes(), nil
1804 }
1805 func (m *Nat44InterfaceDetails) Unmarshal(b []byte) error {
1806         buf := codec.NewBuffer(b)
1807         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
1808         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1809         return nil
1810 }
1811
1812 // Nat44InterfaceDump defines message 'nat44_interface_dump'.
1813 type Nat44InterfaceDump struct{}
1814
1815 func (m *Nat44InterfaceDump) Reset()               { *m = Nat44InterfaceDump{} }
1816 func (*Nat44InterfaceDump) GetMessageName() string { return "nat44_interface_dump" }
1817 func (*Nat44InterfaceDump) GetCrcString() string   { return "51077d14" }
1818 func (*Nat44InterfaceDump) GetMessageType() api.MessageType {
1819         return api.RequestMessage
1820 }
1821
1822 func (m *Nat44InterfaceDump) Size() (size int) {
1823         if m == nil {
1824                 return 0
1825         }
1826         return size
1827 }
1828 func (m *Nat44InterfaceDump) Marshal(b []byte) ([]byte, error) {
1829         if b == nil {
1830                 b = make([]byte, m.Size())
1831         }
1832         buf := codec.NewBuffer(b)
1833         return buf.Bytes(), nil
1834 }
1835 func (m *Nat44InterfaceDump) Unmarshal(b []byte) error {
1836         return nil
1837 }
1838
1839 // Nat44InterfaceOutputFeatureDetails defines message 'nat44_interface_output_feature_details'.
1840 // Deprecated: the message will be removed in the future versions
1841 type Nat44InterfaceOutputFeatureDetails struct {
1842         Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
1843         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1844 }
1845
1846 func (m *Nat44InterfaceOutputFeatureDetails) Reset() { *m = Nat44InterfaceOutputFeatureDetails{} }
1847 func (*Nat44InterfaceOutputFeatureDetails) GetMessageName() string {
1848         return "nat44_interface_output_feature_details"
1849 }
1850 func (*Nat44InterfaceOutputFeatureDetails) GetCrcString() string { return "5d286289" }
1851 func (*Nat44InterfaceOutputFeatureDetails) GetMessageType() api.MessageType {
1852         return api.ReplyMessage
1853 }
1854
1855 func (m *Nat44InterfaceOutputFeatureDetails) Size() (size int) {
1856         if m == nil {
1857                 return 0
1858         }
1859         size += 1 // m.Flags
1860         size += 4 // m.SwIfIndex
1861         return size
1862 }
1863 func (m *Nat44InterfaceOutputFeatureDetails) Marshal(b []byte) ([]byte, error) {
1864         if b == nil {
1865                 b = make([]byte, m.Size())
1866         }
1867         buf := codec.NewBuffer(b)
1868         buf.EncodeUint8(uint8(m.Flags))
1869         buf.EncodeUint32(uint32(m.SwIfIndex))
1870         return buf.Bytes(), nil
1871 }
1872 func (m *Nat44InterfaceOutputFeatureDetails) Unmarshal(b []byte) error {
1873         buf := codec.NewBuffer(b)
1874         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
1875         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
1876         return nil
1877 }
1878
1879 // Nat44InterfaceOutputFeatureDump defines message 'nat44_interface_output_feature_dump'.
1880 // Deprecated: the message will be removed in the future versions
1881 type Nat44InterfaceOutputFeatureDump struct{}
1882
1883 func (m *Nat44InterfaceOutputFeatureDump) Reset() { *m = Nat44InterfaceOutputFeatureDump{} }
1884 func (*Nat44InterfaceOutputFeatureDump) GetMessageName() string {
1885         return "nat44_interface_output_feature_dump"
1886 }
1887 func (*Nat44InterfaceOutputFeatureDump) GetCrcString() string { return "51077d14" }
1888 func (*Nat44InterfaceOutputFeatureDump) GetMessageType() api.MessageType {
1889         return api.RequestMessage
1890 }
1891
1892 func (m *Nat44InterfaceOutputFeatureDump) Size() (size int) {
1893         if m == nil {
1894                 return 0
1895         }
1896         return size
1897 }
1898 func (m *Nat44InterfaceOutputFeatureDump) Marshal(b []byte) ([]byte, error) {
1899         if b == nil {
1900                 b = make([]byte, m.Size())
1901         }
1902         buf := codec.NewBuffer(b)
1903         return buf.Bytes(), nil
1904 }
1905 func (m *Nat44InterfaceOutputFeatureDump) Unmarshal(b []byte) error {
1906         return nil
1907 }
1908
1909 // Nat44LbStaticMappingAddDelLocal defines message 'nat44_lb_static_mapping_add_del_local'.
1910 type Nat44LbStaticMappingAddDelLocal struct {
1911         IsAdd        bool                `binapi:"bool,name=is_add" json:"is_add,omitempty"`
1912         ExternalAddr ip_types.IP4Address `binapi:"ip4_address,name=external_addr" json:"external_addr,omitempty"`
1913         ExternalPort uint16              `binapi:"u16,name=external_port" json:"external_port,omitempty"`
1914         Protocol     uint8               `binapi:"u8,name=protocol" json:"protocol,omitempty"`
1915         Local        Nat44LbAddrPort     `binapi:"nat44_lb_addr_port,name=local" json:"local,omitempty"`
1916 }
1917
1918 func (m *Nat44LbStaticMappingAddDelLocal) Reset() { *m = Nat44LbStaticMappingAddDelLocal{} }
1919 func (*Nat44LbStaticMappingAddDelLocal) GetMessageName() string {
1920         return "nat44_lb_static_mapping_add_del_local"
1921 }
1922 func (*Nat44LbStaticMappingAddDelLocal) GetCrcString() string { return "7ca47547" }
1923 func (*Nat44LbStaticMappingAddDelLocal) GetMessageType() api.MessageType {
1924         return api.RequestMessage
1925 }
1926
1927 func (m *Nat44LbStaticMappingAddDelLocal) Size() (size int) {
1928         if m == nil {
1929                 return 0
1930         }
1931         size += 1     // m.IsAdd
1932         size += 1 * 4 // m.ExternalAddr
1933         size += 2     // m.ExternalPort
1934         size += 1     // m.Protocol
1935         size += 1 * 4 // m.Local.Addr
1936         size += 2     // m.Local.Port
1937         size += 1     // m.Local.Probability
1938         size += 4     // m.Local.VrfID
1939         return size
1940 }
1941 func (m *Nat44LbStaticMappingAddDelLocal) Marshal(b []byte) ([]byte, error) {
1942         if b == nil {
1943                 b = make([]byte, m.Size())
1944         }
1945         buf := codec.NewBuffer(b)
1946         buf.EncodeBool(m.IsAdd)
1947         buf.EncodeBytes(m.ExternalAddr[:], 4)
1948         buf.EncodeUint16(m.ExternalPort)
1949         buf.EncodeUint8(m.Protocol)
1950         buf.EncodeBytes(m.Local.Addr[:], 4)
1951         buf.EncodeUint16(m.Local.Port)
1952         buf.EncodeUint8(m.Local.Probability)
1953         buf.EncodeUint32(m.Local.VrfID)
1954         return buf.Bytes(), nil
1955 }
1956 func (m *Nat44LbStaticMappingAddDelLocal) Unmarshal(b []byte) error {
1957         buf := codec.NewBuffer(b)
1958         m.IsAdd = buf.DecodeBool()
1959         copy(m.ExternalAddr[:], buf.DecodeBytes(4))
1960         m.ExternalPort = buf.DecodeUint16()
1961         m.Protocol = buf.DecodeUint8()
1962         copy(m.Local.Addr[:], buf.DecodeBytes(4))
1963         m.Local.Port = buf.DecodeUint16()
1964         m.Local.Probability = buf.DecodeUint8()
1965         m.Local.VrfID = buf.DecodeUint32()
1966         return nil
1967 }
1968
1969 // Nat44LbStaticMappingAddDelLocalReply defines message 'nat44_lb_static_mapping_add_del_local_reply'.
1970 type Nat44LbStaticMappingAddDelLocalReply struct {
1971         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1972 }
1973
1974 func (m *Nat44LbStaticMappingAddDelLocalReply) Reset() { *m = Nat44LbStaticMappingAddDelLocalReply{} }
1975 func (*Nat44LbStaticMappingAddDelLocalReply) GetMessageName() string {
1976         return "nat44_lb_static_mapping_add_del_local_reply"
1977 }
1978 func (*Nat44LbStaticMappingAddDelLocalReply) GetCrcString() string { return "e8d4e804" }
1979 func (*Nat44LbStaticMappingAddDelLocalReply) GetMessageType() api.MessageType {
1980         return api.ReplyMessage
1981 }
1982
1983 func (m *Nat44LbStaticMappingAddDelLocalReply) Size() (size int) {
1984         if m == nil {
1985                 return 0
1986         }
1987         size += 4 // m.Retval
1988         return size
1989 }
1990 func (m *Nat44LbStaticMappingAddDelLocalReply) Marshal(b []byte) ([]byte, error) {
1991         if b == nil {
1992                 b = make([]byte, m.Size())
1993         }
1994         buf := codec.NewBuffer(b)
1995         buf.EncodeInt32(m.Retval)
1996         return buf.Bytes(), nil
1997 }
1998 func (m *Nat44LbStaticMappingAddDelLocalReply) Unmarshal(b []byte) error {
1999         buf := codec.NewBuffer(b)
2000         m.Retval = buf.DecodeInt32()
2001         return nil
2002 }
2003
2004 // Nat44LbStaticMappingDetails defines message 'nat44_lb_static_mapping_details'.
2005 type Nat44LbStaticMappingDetails struct {
2006         ExternalAddr ip_types.IP4Address      `binapi:"ip4_address,name=external_addr" json:"external_addr,omitempty"`
2007         ExternalPort uint16                   `binapi:"u16,name=external_port" json:"external_port,omitempty"`
2008         Protocol     uint8                    `binapi:"u8,name=protocol" json:"protocol,omitempty"`
2009         Flags        nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
2010         Affinity     uint32                   `binapi:"u32,name=affinity" json:"affinity,omitempty"`
2011         Tag          string                   `binapi:"string[64],name=tag" json:"tag,omitempty"`
2012         LocalNum     uint32                   `binapi:"u32,name=local_num" json:"-"`
2013         Locals       []Nat44LbAddrPort        `binapi:"nat44_lb_addr_port[local_num],name=locals" json:"locals,omitempty"`
2014 }
2015
2016 func (m *Nat44LbStaticMappingDetails) Reset()               { *m = Nat44LbStaticMappingDetails{} }
2017 func (*Nat44LbStaticMappingDetails) GetMessageName() string { return "nat44_lb_static_mapping_details" }
2018 func (*Nat44LbStaticMappingDetails) GetCrcString() string   { return "ed5ce876" }
2019 func (*Nat44LbStaticMappingDetails) GetMessageType() api.MessageType {
2020         return api.ReplyMessage
2021 }
2022
2023 func (m *Nat44LbStaticMappingDetails) Size() (size int) {
2024         if m == nil {
2025                 return 0
2026         }
2027         size += 1 * 4 // m.ExternalAddr
2028         size += 2     // m.ExternalPort
2029         size += 1     // m.Protocol
2030         size += 1     // m.Flags
2031         size += 4     // m.Affinity
2032         size += 64    // m.Tag
2033         size += 4     // m.LocalNum
2034         for j1 := 0; j1 < len(m.Locals); j1++ {
2035                 var s1 Nat44LbAddrPort
2036                 _ = s1
2037                 if j1 < len(m.Locals) {
2038                         s1 = m.Locals[j1]
2039                 }
2040                 size += 1 * 4 // s1.Addr
2041                 size += 2     // s1.Port
2042                 size += 1     // s1.Probability
2043                 size += 4     // s1.VrfID
2044         }
2045         return size
2046 }
2047 func (m *Nat44LbStaticMappingDetails) Marshal(b []byte) ([]byte, error) {
2048         if b == nil {
2049                 b = make([]byte, m.Size())
2050         }
2051         buf := codec.NewBuffer(b)
2052         buf.EncodeBytes(m.ExternalAddr[:], 4)
2053         buf.EncodeUint16(m.ExternalPort)
2054         buf.EncodeUint8(m.Protocol)
2055         buf.EncodeUint8(uint8(m.Flags))
2056         buf.EncodeUint32(m.Affinity)
2057         buf.EncodeString(m.Tag, 64)
2058         buf.EncodeUint32(uint32(len(m.Locals)))
2059         for j0 := 0; j0 < len(m.Locals); j0++ {
2060                 var v0 Nat44LbAddrPort // Locals
2061                 if j0 < len(m.Locals) {
2062                         v0 = m.Locals[j0]
2063                 }
2064                 buf.EncodeBytes(v0.Addr[:], 4)
2065                 buf.EncodeUint16(v0.Port)
2066                 buf.EncodeUint8(v0.Probability)
2067                 buf.EncodeUint32(v0.VrfID)
2068         }
2069         return buf.Bytes(), nil
2070 }
2071 func (m *Nat44LbStaticMappingDetails) Unmarshal(b []byte) error {
2072         buf := codec.NewBuffer(b)
2073         copy(m.ExternalAddr[:], buf.DecodeBytes(4))
2074         m.ExternalPort = buf.DecodeUint16()
2075         m.Protocol = buf.DecodeUint8()
2076         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
2077         m.Affinity = buf.DecodeUint32()
2078         m.Tag = buf.DecodeString(64)
2079         m.LocalNum = buf.DecodeUint32()
2080         m.Locals = make([]Nat44LbAddrPort, m.LocalNum)
2081         for j0 := 0; j0 < len(m.Locals); j0++ {
2082                 copy(m.Locals[j0].Addr[:], buf.DecodeBytes(4))
2083                 m.Locals[j0].Port = buf.DecodeUint16()
2084                 m.Locals[j0].Probability = buf.DecodeUint8()
2085                 m.Locals[j0].VrfID = buf.DecodeUint32()
2086         }
2087         return nil
2088 }
2089
2090 // Nat44LbStaticMappingDump defines message 'nat44_lb_static_mapping_dump'.
2091 type Nat44LbStaticMappingDump struct{}
2092
2093 func (m *Nat44LbStaticMappingDump) Reset()               { *m = Nat44LbStaticMappingDump{} }
2094 func (*Nat44LbStaticMappingDump) GetMessageName() string { return "nat44_lb_static_mapping_dump" }
2095 func (*Nat44LbStaticMappingDump) GetCrcString() string   { return "51077d14" }
2096 func (*Nat44LbStaticMappingDump) GetMessageType() api.MessageType {
2097         return api.RequestMessage
2098 }
2099
2100 func (m *Nat44LbStaticMappingDump) Size() (size int) {
2101         if m == nil {
2102                 return 0
2103         }
2104         return size
2105 }
2106 func (m *Nat44LbStaticMappingDump) Marshal(b []byte) ([]byte, error) {
2107         if b == nil {
2108                 b = make([]byte, m.Size())
2109         }
2110         buf := codec.NewBuffer(b)
2111         return buf.Bytes(), nil
2112 }
2113 func (m *Nat44LbStaticMappingDump) Unmarshal(b []byte) error {
2114         return nil
2115 }
2116
2117 // Nat44PluginEnableDisable defines message 'nat44_plugin_enable_disable'.
2118 // Deprecated: the message will be removed in the future versions
2119 type Nat44PluginEnableDisable struct {
2120         InsideVrf     uint32           `binapi:"u32,name=inside_vrf" json:"inside_vrf,omitempty"`
2121         OutsideVrf    uint32           `binapi:"u32,name=outside_vrf" json:"outside_vrf,omitempty"`
2122         Users         uint32           `binapi:"u32,name=users" json:"users,omitempty"`
2123         UserMemory    uint32           `binapi:"u32,name=user_memory" json:"user_memory,omitempty"`
2124         Sessions      uint32           `binapi:"u32,name=sessions" json:"sessions,omitempty"`
2125         SessionMemory uint32           `binapi:"u32,name=session_memory" json:"session_memory,omitempty"`
2126         UserSessions  uint32           `binapi:"u32,name=user_sessions" json:"user_sessions,omitempty"`
2127         Enable        bool             `binapi:"bool,name=enable" json:"enable,omitempty"`
2128         Flags         Nat44ConfigFlags `binapi:"nat44_config_flags,name=flags" json:"flags,omitempty"`
2129 }
2130
2131 func (m *Nat44PluginEnableDisable) Reset()               { *m = Nat44PluginEnableDisable{} }
2132 func (*Nat44PluginEnableDisable) GetMessageName() string { return "nat44_plugin_enable_disable" }
2133 func (*Nat44PluginEnableDisable) GetCrcString() string   { return "dea0d501" }
2134 func (*Nat44PluginEnableDisable) GetMessageType() api.MessageType {
2135         return api.RequestMessage
2136 }
2137
2138 func (m *Nat44PluginEnableDisable) Size() (size int) {
2139         if m == nil {
2140                 return 0
2141         }
2142         size += 4 // m.InsideVrf
2143         size += 4 // m.OutsideVrf
2144         size += 4 // m.Users
2145         size += 4 // m.UserMemory
2146         size += 4 // m.Sessions
2147         size += 4 // m.SessionMemory
2148         size += 4 // m.UserSessions
2149         size += 1 // m.Enable
2150         size += 1 // m.Flags
2151         return size
2152 }
2153 func (m *Nat44PluginEnableDisable) Marshal(b []byte) ([]byte, error) {
2154         if b == nil {
2155                 b = make([]byte, m.Size())
2156         }
2157         buf := codec.NewBuffer(b)
2158         buf.EncodeUint32(m.InsideVrf)
2159         buf.EncodeUint32(m.OutsideVrf)
2160         buf.EncodeUint32(m.Users)
2161         buf.EncodeUint32(m.UserMemory)
2162         buf.EncodeUint32(m.Sessions)
2163         buf.EncodeUint32(m.SessionMemory)
2164         buf.EncodeUint32(m.UserSessions)
2165         buf.EncodeBool(m.Enable)
2166         buf.EncodeUint8(uint8(m.Flags))
2167         return buf.Bytes(), nil
2168 }
2169 func (m *Nat44PluginEnableDisable) Unmarshal(b []byte) error {
2170         buf := codec.NewBuffer(b)
2171         m.InsideVrf = buf.DecodeUint32()
2172         m.OutsideVrf = buf.DecodeUint32()
2173         m.Users = buf.DecodeUint32()
2174         m.UserMemory = buf.DecodeUint32()
2175         m.Sessions = buf.DecodeUint32()
2176         m.SessionMemory = buf.DecodeUint32()
2177         m.UserSessions = buf.DecodeUint32()
2178         m.Enable = buf.DecodeBool()
2179         m.Flags = Nat44ConfigFlags(buf.DecodeUint8())
2180         return nil
2181 }
2182
2183 // Nat44PluginEnableDisableReply defines message 'nat44_plugin_enable_disable_reply'.
2184 // Deprecated: the message will be removed in the future versions
2185 type Nat44PluginEnableDisableReply struct {
2186         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2187 }
2188
2189 func (m *Nat44PluginEnableDisableReply) Reset() { *m = Nat44PluginEnableDisableReply{} }
2190 func (*Nat44PluginEnableDisableReply) GetMessageName() string {
2191         return "nat44_plugin_enable_disable_reply"
2192 }
2193 func (*Nat44PluginEnableDisableReply) GetCrcString() string { return "e8d4e804" }
2194 func (*Nat44PluginEnableDisableReply) GetMessageType() api.MessageType {
2195         return api.ReplyMessage
2196 }
2197
2198 func (m *Nat44PluginEnableDisableReply) Size() (size int) {
2199         if m == nil {
2200                 return 0
2201         }
2202         size += 4 // m.Retval
2203         return size
2204 }
2205 func (m *Nat44PluginEnableDisableReply) Marshal(b []byte) ([]byte, error) {
2206         if b == nil {
2207                 b = make([]byte, m.Size())
2208         }
2209         buf := codec.NewBuffer(b)
2210         buf.EncodeInt32(m.Retval)
2211         return buf.Bytes(), nil
2212 }
2213 func (m *Nat44PluginEnableDisableReply) Unmarshal(b []byte) error {
2214         buf := codec.NewBuffer(b)
2215         m.Retval = buf.DecodeInt32()
2216         return nil
2217 }
2218
2219 // Nat44SessionCleanup defines message 'nat44_session_cleanup'.
2220 // Deprecated: the message will be removed in the future versions
2221 type Nat44SessionCleanup struct{}
2222
2223 func (m *Nat44SessionCleanup) Reset()               { *m = Nat44SessionCleanup{} }
2224 func (*Nat44SessionCleanup) GetMessageName() string { return "nat44_session_cleanup" }
2225 func (*Nat44SessionCleanup) GetCrcString() string   { return "51077d14" }
2226 func (*Nat44SessionCleanup) GetMessageType() api.MessageType {
2227         return api.RequestMessage
2228 }
2229
2230 func (m *Nat44SessionCleanup) Size() (size int) {
2231         if m == nil {
2232                 return 0
2233         }
2234         return size
2235 }
2236 func (m *Nat44SessionCleanup) Marshal(b []byte) ([]byte, error) {
2237         if b == nil {
2238                 b = make([]byte, m.Size())
2239         }
2240         buf := codec.NewBuffer(b)
2241         return buf.Bytes(), nil
2242 }
2243 func (m *Nat44SessionCleanup) Unmarshal(b []byte) error {
2244         return nil
2245 }
2246
2247 // Nat44SessionCleanupReply defines message 'nat44_session_cleanup_reply'.
2248 // Deprecated: the message will be removed in the future versions
2249 type Nat44SessionCleanupReply struct {
2250         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2251 }
2252
2253 func (m *Nat44SessionCleanupReply) Reset()               { *m = Nat44SessionCleanupReply{} }
2254 func (*Nat44SessionCleanupReply) GetMessageName() string { return "nat44_session_cleanup_reply" }
2255 func (*Nat44SessionCleanupReply) GetCrcString() string   { return "e8d4e804" }
2256 func (*Nat44SessionCleanupReply) GetMessageType() api.MessageType {
2257         return api.ReplyMessage
2258 }
2259
2260 func (m *Nat44SessionCleanupReply) Size() (size int) {
2261         if m == nil {
2262                 return 0
2263         }
2264         size += 4 // m.Retval
2265         return size
2266 }
2267 func (m *Nat44SessionCleanupReply) Marshal(b []byte) ([]byte, error) {
2268         if b == nil {
2269                 b = make([]byte, m.Size())
2270         }
2271         buf := codec.NewBuffer(b)
2272         buf.EncodeInt32(m.Retval)
2273         return buf.Bytes(), nil
2274 }
2275 func (m *Nat44SessionCleanupReply) Unmarshal(b []byte) error {
2276         buf := codec.NewBuffer(b)
2277         m.Retval = buf.DecodeInt32()
2278         return nil
2279 }
2280
2281 // Nat44SetSessionLimit defines message 'nat44_set_session_limit'.
2282 type Nat44SetSessionLimit struct {
2283         SessionLimit uint32 `binapi:"u32,name=session_limit" json:"session_limit,omitempty"`
2284         VrfID        uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
2285 }
2286
2287 func (m *Nat44SetSessionLimit) Reset()               { *m = Nat44SetSessionLimit{} }
2288 func (*Nat44SetSessionLimit) GetMessageName() string { return "nat44_set_session_limit" }
2289 func (*Nat44SetSessionLimit) GetCrcString() string   { return "8899bbb1" }
2290 func (*Nat44SetSessionLimit) GetMessageType() api.MessageType {
2291         return api.RequestMessage
2292 }
2293
2294 func (m *Nat44SetSessionLimit) Size() (size int) {
2295         if m == nil {
2296                 return 0
2297         }
2298         size += 4 // m.SessionLimit
2299         size += 4 // m.VrfID
2300         return size
2301 }
2302 func (m *Nat44SetSessionLimit) Marshal(b []byte) ([]byte, error) {
2303         if b == nil {
2304                 b = make([]byte, m.Size())
2305         }
2306         buf := codec.NewBuffer(b)
2307         buf.EncodeUint32(m.SessionLimit)
2308         buf.EncodeUint32(m.VrfID)
2309         return buf.Bytes(), nil
2310 }
2311 func (m *Nat44SetSessionLimit) Unmarshal(b []byte) error {
2312         buf := codec.NewBuffer(b)
2313         m.SessionLimit = buf.DecodeUint32()
2314         m.VrfID = buf.DecodeUint32()
2315         return nil
2316 }
2317
2318 // Nat44SetSessionLimitReply defines message 'nat44_set_session_limit_reply'.
2319 type Nat44SetSessionLimitReply struct {
2320         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2321 }
2322
2323 func (m *Nat44SetSessionLimitReply) Reset()               { *m = Nat44SetSessionLimitReply{} }
2324 func (*Nat44SetSessionLimitReply) GetMessageName() string { return "nat44_set_session_limit_reply" }
2325 func (*Nat44SetSessionLimitReply) GetCrcString() string   { return "e8d4e804" }
2326 func (*Nat44SetSessionLimitReply) GetMessageType() api.MessageType {
2327         return api.ReplyMessage
2328 }
2329
2330 func (m *Nat44SetSessionLimitReply) Size() (size int) {
2331         if m == nil {
2332                 return 0
2333         }
2334         size += 4 // m.Retval
2335         return size
2336 }
2337 func (m *Nat44SetSessionLimitReply) Marshal(b []byte) ([]byte, error) {
2338         if b == nil {
2339                 b = make([]byte, m.Size())
2340         }
2341         buf := codec.NewBuffer(b)
2342         buf.EncodeInt32(m.Retval)
2343         return buf.Bytes(), nil
2344 }
2345 func (m *Nat44SetSessionLimitReply) Unmarshal(b []byte) error {
2346         buf := codec.NewBuffer(b)
2347         m.Retval = buf.DecodeInt32()
2348         return nil
2349 }
2350
2351 // Nat44ShowRunningConfig defines message 'nat44_show_running_config'.
2352 // InProgress: the message form may change in the future versions
2353 type Nat44ShowRunningConfig struct{}
2354
2355 func (m *Nat44ShowRunningConfig) Reset()               { *m = Nat44ShowRunningConfig{} }
2356 func (*Nat44ShowRunningConfig) GetMessageName() string { return "nat44_show_running_config" }
2357 func (*Nat44ShowRunningConfig) GetCrcString() string   { return "51077d14" }
2358 func (*Nat44ShowRunningConfig) GetMessageType() api.MessageType {
2359         return api.RequestMessage
2360 }
2361
2362 func (m *Nat44ShowRunningConfig) Size() (size int) {
2363         if m == nil {
2364                 return 0
2365         }
2366         return size
2367 }
2368 func (m *Nat44ShowRunningConfig) Marshal(b []byte) ([]byte, error) {
2369         if b == nil {
2370                 b = make([]byte, m.Size())
2371         }
2372         buf := codec.NewBuffer(b)
2373         return buf.Bytes(), nil
2374 }
2375 func (m *Nat44ShowRunningConfig) Unmarshal(b []byte) error {
2376         return nil
2377 }
2378
2379 // Nat44ShowRunningConfigReply defines message 'nat44_show_running_config_reply'.
2380 // InProgress: the message form may change in the future versions
2381 type Nat44ShowRunningConfigReply struct {
2382         Retval              int32                 `binapi:"i32,name=retval" json:"retval,omitempty"`
2383         InsideVrf           uint32                `binapi:"u32,name=inside_vrf" json:"inside_vrf,omitempty"`
2384         OutsideVrf          uint32                `binapi:"u32,name=outside_vrf" json:"outside_vrf,omitempty"`
2385         Users               uint32                `binapi:"u32,name=users" json:"users,omitempty"`
2386         Sessions            uint32                `binapi:"u32,name=sessions" json:"sessions,omitempty"`
2387         UserSessions        uint32                `binapi:"u32,name=user_sessions" json:"user_sessions,omitempty"`
2388         UserBuckets         uint32                `binapi:"u32,name=user_buckets" json:"user_buckets,omitempty"`
2389         TranslationBuckets  uint32                `binapi:"u32,name=translation_buckets" json:"translation_buckets,omitempty"`
2390         ForwardingEnabled   bool                  `binapi:"bool,name=forwarding_enabled" json:"forwarding_enabled,omitempty"`
2391         IpfixLoggingEnabled bool                  `binapi:"bool,name=ipfix_logging_enabled" json:"ipfix_logging_enabled,omitempty"`
2392         Timeouts            nat_types.NatTimeouts `binapi:"nat_timeouts,name=timeouts" json:"timeouts,omitempty"`
2393         LogLevel            nat_types.NatLogLevel `binapi:"nat_log_level,name=log_level" json:"log_level,omitempty"`
2394         Flags               Nat44ConfigFlags      `binapi:"nat44_config_flags,name=flags" json:"flags,omitempty"`
2395 }
2396
2397 func (m *Nat44ShowRunningConfigReply) Reset()               { *m = Nat44ShowRunningConfigReply{} }
2398 func (*Nat44ShowRunningConfigReply) GetMessageName() string { return "nat44_show_running_config_reply" }
2399 func (*Nat44ShowRunningConfigReply) GetCrcString() string   { return "93d8e267" }
2400 func (*Nat44ShowRunningConfigReply) GetMessageType() api.MessageType {
2401         return api.ReplyMessage
2402 }
2403
2404 func (m *Nat44ShowRunningConfigReply) Size() (size int) {
2405         if m == nil {
2406                 return 0
2407         }
2408         size += 4 // m.Retval
2409         size += 4 // m.InsideVrf
2410         size += 4 // m.OutsideVrf
2411         size += 4 // m.Users
2412         size += 4 // m.Sessions
2413         size += 4 // m.UserSessions
2414         size += 4 // m.UserBuckets
2415         size += 4 // m.TranslationBuckets
2416         size += 1 // m.ForwardingEnabled
2417         size += 1 // m.IpfixLoggingEnabled
2418         size += 4 // m.Timeouts.UDP
2419         size += 4 // m.Timeouts.TCPEstablished
2420         size += 4 // m.Timeouts.TCPTransitory
2421         size += 4 // m.Timeouts.ICMP
2422         size += 1 // m.LogLevel
2423         size += 1 // m.Flags
2424         return size
2425 }
2426 func (m *Nat44ShowRunningConfigReply) 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         buf.EncodeUint32(m.InsideVrf)
2433         buf.EncodeUint32(m.OutsideVrf)
2434         buf.EncodeUint32(m.Users)
2435         buf.EncodeUint32(m.Sessions)
2436         buf.EncodeUint32(m.UserSessions)
2437         buf.EncodeUint32(m.UserBuckets)
2438         buf.EncodeUint32(m.TranslationBuckets)
2439         buf.EncodeBool(m.ForwardingEnabled)
2440         buf.EncodeBool(m.IpfixLoggingEnabled)
2441         buf.EncodeUint32(m.Timeouts.UDP)
2442         buf.EncodeUint32(m.Timeouts.TCPEstablished)
2443         buf.EncodeUint32(m.Timeouts.TCPTransitory)
2444         buf.EncodeUint32(m.Timeouts.ICMP)
2445         buf.EncodeUint8(uint8(m.LogLevel))
2446         buf.EncodeUint8(uint8(m.Flags))
2447         return buf.Bytes(), nil
2448 }
2449 func (m *Nat44ShowRunningConfigReply) Unmarshal(b []byte) error {
2450         buf := codec.NewBuffer(b)
2451         m.Retval = buf.DecodeInt32()
2452         m.InsideVrf = buf.DecodeUint32()
2453         m.OutsideVrf = buf.DecodeUint32()
2454         m.Users = buf.DecodeUint32()
2455         m.Sessions = buf.DecodeUint32()
2456         m.UserSessions = buf.DecodeUint32()
2457         m.UserBuckets = buf.DecodeUint32()
2458         m.TranslationBuckets = buf.DecodeUint32()
2459         m.ForwardingEnabled = buf.DecodeBool()
2460         m.IpfixLoggingEnabled = buf.DecodeBool()
2461         m.Timeouts.UDP = buf.DecodeUint32()
2462         m.Timeouts.TCPEstablished = buf.DecodeUint32()
2463         m.Timeouts.TCPTransitory = buf.DecodeUint32()
2464         m.Timeouts.ICMP = buf.DecodeUint32()
2465         m.LogLevel = nat_types.NatLogLevel(buf.DecodeUint8())
2466         m.Flags = Nat44ConfigFlags(buf.DecodeUint8())
2467         return nil
2468 }
2469
2470 // Nat44StaticMappingDetails defines message 'nat44_static_mapping_details'.
2471 type Nat44StaticMappingDetails struct {
2472         Flags             nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
2473         LocalIPAddress    ip_types.IP4Address            `binapi:"ip4_address,name=local_ip_address" json:"local_ip_address,omitempty"`
2474         ExternalIPAddress ip_types.IP4Address            `binapi:"ip4_address,name=external_ip_address" json:"external_ip_address,omitempty"`
2475         Protocol          uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
2476         LocalPort         uint16                         `binapi:"u16,name=local_port" json:"local_port,omitempty"`
2477         ExternalPort      uint16                         `binapi:"u16,name=external_port" json:"external_port,omitempty"`
2478         ExternalSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=external_sw_if_index" json:"external_sw_if_index,omitempty"`
2479         VrfID             uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
2480         Tag               string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
2481 }
2482
2483 func (m *Nat44StaticMappingDetails) Reset()               { *m = Nat44StaticMappingDetails{} }
2484 func (*Nat44StaticMappingDetails) GetMessageName() string { return "nat44_static_mapping_details" }
2485 func (*Nat44StaticMappingDetails) GetCrcString() string   { return "06cb40b2" }
2486 func (*Nat44StaticMappingDetails) GetMessageType() api.MessageType {
2487         return api.ReplyMessage
2488 }
2489
2490 func (m *Nat44StaticMappingDetails) Size() (size int) {
2491         if m == nil {
2492                 return 0
2493         }
2494         size += 1     // m.Flags
2495         size += 1 * 4 // m.LocalIPAddress
2496         size += 1 * 4 // m.ExternalIPAddress
2497         size += 1     // m.Protocol
2498         size += 2     // m.LocalPort
2499         size += 2     // m.ExternalPort
2500         size += 4     // m.ExternalSwIfIndex
2501         size += 4     // m.VrfID
2502         size += 64    // m.Tag
2503         return size
2504 }
2505 func (m *Nat44StaticMappingDetails) Marshal(b []byte) ([]byte, error) {
2506         if b == nil {
2507                 b = make([]byte, m.Size())
2508         }
2509         buf := codec.NewBuffer(b)
2510         buf.EncodeUint8(uint8(m.Flags))
2511         buf.EncodeBytes(m.LocalIPAddress[:], 4)
2512         buf.EncodeBytes(m.ExternalIPAddress[:], 4)
2513         buf.EncodeUint8(m.Protocol)
2514         buf.EncodeUint16(m.LocalPort)
2515         buf.EncodeUint16(m.ExternalPort)
2516         buf.EncodeUint32(uint32(m.ExternalSwIfIndex))
2517         buf.EncodeUint32(m.VrfID)
2518         buf.EncodeString(m.Tag, 64)
2519         return buf.Bytes(), nil
2520 }
2521 func (m *Nat44StaticMappingDetails) Unmarshal(b []byte) error {
2522         buf := codec.NewBuffer(b)
2523         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
2524         copy(m.LocalIPAddress[:], buf.DecodeBytes(4))
2525         copy(m.ExternalIPAddress[:], buf.DecodeBytes(4))
2526         m.Protocol = buf.DecodeUint8()
2527         m.LocalPort = buf.DecodeUint16()
2528         m.ExternalPort = buf.DecodeUint16()
2529         m.ExternalSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
2530         m.VrfID = buf.DecodeUint32()
2531         m.Tag = buf.DecodeString(64)
2532         return nil
2533 }
2534
2535 // Nat44StaticMappingDump defines message 'nat44_static_mapping_dump'.
2536 type Nat44StaticMappingDump struct{}
2537
2538 func (m *Nat44StaticMappingDump) Reset()               { *m = Nat44StaticMappingDump{} }
2539 func (*Nat44StaticMappingDump) GetMessageName() string { return "nat44_static_mapping_dump" }
2540 func (*Nat44StaticMappingDump) GetCrcString() string   { return "51077d14" }
2541 func (*Nat44StaticMappingDump) GetMessageType() api.MessageType {
2542         return api.RequestMessage
2543 }
2544
2545 func (m *Nat44StaticMappingDump) Size() (size int) {
2546         if m == nil {
2547                 return 0
2548         }
2549         return size
2550 }
2551 func (m *Nat44StaticMappingDump) Marshal(b []byte) ([]byte, error) {
2552         if b == nil {
2553                 b = make([]byte, m.Size())
2554         }
2555         buf := codec.NewBuffer(b)
2556         return buf.Bytes(), nil
2557 }
2558 func (m *Nat44StaticMappingDump) Unmarshal(b []byte) error {
2559         return nil
2560 }
2561
2562 // Nat44UserDetails defines message 'nat44_user_details'.
2563 type Nat44UserDetails struct {
2564         VrfID           uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
2565         IPAddress       ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
2566         Nsessions       uint32              `binapi:"u32,name=nsessions" json:"nsessions,omitempty"`
2567         Nstaticsessions uint32              `binapi:"u32,name=nstaticsessions" json:"nstaticsessions,omitempty"`
2568 }
2569
2570 func (m *Nat44UserDetails) Reset()               { *m = Nat44UserDetails{} }
2571 func (*Nat44UserDetails) GetMessageName() string { return "nat44_user_details" }
2572 func (*Nat44UserDetails) GetCrcString() string   { return "355896c2" }
2573 func (*Nat44UserDetails) GetMessageType() api.MessageType {
2574         return api.ReplyMessage
2575 }
2576
2577 func (m *Nat44UserDetails) Size() (size int) {
2578         if m == nil {
2579                 return 0
2580         }
2581         size += 4     // m.VrfID
2582         size += 1 * 4 // m.IPAddress
2583         size += 4     // m.Nsessions
2584         size += 4     // m.Nstaticsessions
2585         return size
2586 }
2587 func (m *Nat44UserDetails) Marshal(b []byte) ([]byte, error) {
2588         if b == nil {
2589                 b = make([]byte, m.Size())
2590         }
2591         buf := codec.NewBuffer(b)
2592         buf.EncodeUint32(m.VrfID)
2593         buf.EncodeBytes(m.IPAddress[:], 4)
2594         buf.EncodeUint32(m.Nsessions)
2595         buf.EncodeUint32(m.Nstaticsessions)
2596         return buf.Bytes(), nil
2597 }
2598 func (m *Nat44UserDetails) Unmarshal(b []byte) error {
2599         buf := codec.NewBuffer(b)
2600         m.VrfID = buf.DecodeUint32()
2601         copy(m.IPAddress[:], buf.DecodeBytes(4))
2602         m.Nsessions = buf.DecodeUint32()
2603         m.Nstaticsessions = buf.DecodeUint32()
2604         return nil
2605 }
2606
2607 // Nat44UserDump defines message 'nat44_user_dump'.
2608 type Nat44UserDump struct{}
2609
2610 func (m *Nat44UserDump) Reset()               { *m = Nat44UserDump{} }
2611 func (*Nat44UserDump) GetMessageName() string { return "nat44_user_dump" }
2612 func (*Nat44UserDump) GetCrcString() string   { return "51077d14" }
2613 func (*Nat44UserDump) GetMessageType() api.MessageType {
2614         return api.RequestMessage
2615 }
2616
2617 func (m *Nat44UserDump) Size() (size int) {
2618         if m == nil {
2619                 return 0
2620         }
2621         return size
2622 }
2623 func (m *Nat44UserDump) Marshal(b []byte) ([]byte, error) {
2624         if b == nil {
2625                 b = make([]byte, m.Size())
2626         }
2627         buf := codec.NewBuffer(b)
2628         return buf.Bytes(), nil
2629 }
2630 func (m *Nat44UserDump) Unmarshal(b []byte) error {
2631         return nil
2632 }
2633
2634 // Nat44UserSessionDetails defines message 'nat44_user_session_details'.
2635 type Nat44UserSessionDetails struct {
2636         OutsideIPAddress  ip_types.IP4Address      `binapi:"ip4_address,name=outside_ip_address" json:"outside_ip_address,omitempty"`
2637         OutsidePort       uint16                   `binapi:"u16,name=outside_port" json:"outside_port,omitempty"`
2638         InsideIPAddress   ip_types.IP4Address      `binapi:"ip4_address,name=inside_ip_address" json:"inside_ip_address,omitempty"`
2639         InsidePort        uint16                   `binapi:"u16,name=inside_port" json:"inside_port,omitempty"`
2640         Protocol          uint16                   `binapi:"u16,name=protocol" json:"protocol,omitempty"`
2641         Flags             nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
2642         LastHeard         uint64                   `binapi:"u64,name=last_heard" json:"last_heard,omitempty"`
2643         TotalBytes        uint64                   `binapi:"u64,name=total_bytes" json:"total_bytes,omitempty"`
2644         TotalPkts         uint32                   `binapi:"u32,name=total_pkts" json:"total_pkts,omitempty"`
2645         ExtHostAddress    ip_types.IP4Address      `binapi:"ip4_address,name=ext_host_address" json:"ext_host_address,omitempty"`
2646         ExtHostPort       uint16                   `binapi:"u16,name=ext_host_port" json:"ext_host_port,omitempty"`
2647         ExtHostNatAddress ip_types.IP4Address      `binapi:"ip4_address,name=ext_host_nat_address" json:"ext_host_nat_address,omitempty"`
2648         ExtHostNatPort    uint16                   `binapi:"u16,name=ext_host_nat_port" json:"ext_host_nat_port,omitempty"`
2649 }
2650
2651 func (m *Nat44UserSessionDetails) Reset()               { *m = Nat44UserSessionDetails{} }
2652 func (*Nat44UserSessionDetails) GetMessageName() string { return "nat44_user_session_details" }
2653 func (*Nat44UserSessionDetails) GetCrcString() string   { return "2cf6e16d" }
2654 func (*Nat44UserSessionDetails) GetMessageType() api.MessageType {
2655         return api.ReplyMessage
2656 }
2657
2658 func (m *Nat44UserSessionDetails) Size() (size int) {
2659         if m == nil {
2660                 return 0
2661         }
2662         size += 1 * 4 // m.OutsideIPAddress
2663         size += 2     // m.OutsidePort
2664         size += 1 * 4 // m.InsideIPAddress
2665         size += 2     // m.InsidePort
2666         size += 2     // m.Protocol
2667         size += 1     // m.Flags
2668         size += 8     // m.LastHeard
2669         size += 8     // m.TotalBytes
2670         size += 4     // m.TotalPkts
2671         size += 1 * 4 // m.ExtHostAddress
2672         size += 2     // m.ExtHostPort
2673         size += 1 * 4 // m.ExtHostNatAddress
2674         size += 2     // m.ExtHostNatPort
2675         return size
2676 }
2677 func (m *Nat44UserSessionDetails) Marshal(b []byte) ([]byte, error) {
2678         if b == nil {
2679                 b = make([]byte, m.Size())
2680         }
2681         buf := codec.NewBuffer(b)
2682         buf.EncodeBytes(m.OutsideIPAddress[:], 4)
2683         buf.EncodeUint16(m.OutsidePort)
2684         buf.EncodeBytes(m.InsideIPAddress[:], 4)
2685         buf.EncodeUint16(m.InsidePort)
2686         buf.EncodeUint16(m.Protocol)
2687         buf.EncodeUint8(uint8(m.Flags))
2688         buf.EncodeUint64(m.LastHeard)
2689         buf.EncodeUint64(m.TotalBytes)
2690         buf.EncodeUint32(m.TotalPkts)
2691         buf.EncodeBytes(m.ExtHostAddress[:], 4)
2692         buf.EncodeUint16(m.ExtHostPort)
2693         buf.EncodeBytes(m.ExtHostNatAddress[:], 4)
2694         buf.EncodeUint16(m.ExtHostNatPort)
2695         return buf.Bytes(), nil
2696 }
2697 func (m *Nat44UserSessionDetails) Unmarshal(b []byte) error {
2698         buf := codec.NewBuffer(b)
2699         copy(m.OutsideIPAddress[:], buf.DecodeBytes(4))
2700         m.OutsidePort = buf.DecodeUint16()
2701         copy(m.InsideIPAddress[:], buf.DecodeBytes(4))
2702         m.InsidePort = buf.DecodeUint16()
2703         m.Protocol = buf.DecodeUint16()
2704         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
2705         m.LastHeard = buf.DecodeUint64()
2706         m.TotalBytes = buf.DecodeUint64()
2707         m.TotalPkts = buf.DecodeUint32()
2708         copy(m.ExtHostAddress[:], buf.DecodeBytes(4))
2709         m.ExtHostPort = buf.DecodeUint16()
2710         copy(m.ExtHostNatAddress[:], buf.DecodeBytes(4))
2711         m.ExtHostNatPort = buf.DecodeUint16()
2712         return nil
2713 }
2714
2715 // Nat44UserSessionDump defines message 'nat44_user_session_dump'.
2716 type Nat44UserSessionDump struct {
2717         IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
2718         VrfID     uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
2719 }
2720
2721 func (m *Nat44UserSessionDump) Reset()               { *m = Nat44UserSessionDump{} }
2722 func (*Nat44UserSessionDump) GetMessageName() string { return "nat44_user_session_dump" }
2723 func (*Nat44UserSessionDump) GetCrcString() string   { return "e1899c98" }
2724 func (*Nat44UserSessionDump) GetMessageType() api.MessageType {
2725         return api.RequestMessage
2726 }
2727
2728 func (m *Nat44UserSessionDump) Size() (size int) {
2729         if m == nil {
2730                 return 0
2731         }
2732         size += 1 * 4 // m.IPAddress
2733         size += 4     // m.VrfID
2734         return size
2735 }
2736 func (m *Nat44UserSessionDump) Marshal(b []byte) ([]byte, error) {
2737         if b == nil {
2738                 b = make([]byte, m.Size())
2739         }
2740         buf := codec.NewBuffer(b)
2741         buf.EncodeBytes(m.IPAddress[:], 4)
2742         buf.EncodeUint32(m.VrfID)
2743         return buf.Bytes(), nil
2744 }
2745 func (m *Nat44UserSessionDump) Unmarshal(b []byte) error {
2746         buf := codec.NewBuffer(b)
2747         copy(m.IPAddress[:], buf.DecodeBytes(4))
2748         m.VrfID = buf.DecodeUint32()
2749         return nil
2750 }
2751
2752 // Nat44UserSessionV2Details defines message 'nat44_user_session_v2_details'.
2753 // InProgress: the message form may change in the future versions
2754 type Nat44UserSessionV2Details struct {
2755         OutsideIPAddress  ip_types.IP4Address      `binapi:"ip4_address,name=outside_ip_address" json:"outside_ip_address,omitempty"`
2756         OutsidePort       uint16                   `binapi:"u16,name=outside_port" json:"outside_port,omitempty"`
2757         InsideIPAddress   ip_types.IP4Address      `binapi:"ip4_address,name=inside_ip_address" json:"inside_ip_address,omitempty"`
2758         InsidePort        uint16                   `binapi:"u16,name=inside_port" json:"inside_port,omitempty"`
2759         Protocol          uint16                   `binapi:"u16,name=protocol" json:"protocol,omitempty"`
2760         Flags             nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
2761         LastHeard         uint64                   `binapi:"u64,name=last_heard" json:"last_heard,omitempty"`
2762         TotalBytes        uint64                   `binapi:"u64,name=total_bytes" json:"total_bytes,omitempty"`
2763         TotalPkts         uint32                   `binapi:"u32,name=total_pkts" json:"total_pkts,omitempty"`
2764         ExtHostAddress    ip_types.IP4Address      `binapi:"ip4_address,name=ext_host_address" json:"ext_host_address,omitempty"`
2765         ExtHostPort       uint16                   `binapi:"u16,name=ext_host_port" json:"ext_host_port,omitempty"`
2766         ExtHostNatAddress ip_types.IP4Address      `binapi:"ip4_address,name=ext_host_nat_address" json:"ext_host_nat_address,omitempty"`
2767         ExtHostNatPort    uint16                   `binapi:"u16,name=ext_host_nat_port" json:"ext_host_nat_port,omitempty"`
2768         IsTimedOut        bool                     `binapi:"bool,name=is_timed_out" json:"is_timed_out,omitempty"`
2769 }
2770
2771 func (m *Nat44UserSessionV2Details) Reset()               { *m = Nat44UserSessionV2Details{} }
2772 func (*Nat44UserSessionV2Details) GetMessageName() string { return "nat44_user_session_v2_details" }
2773 func (*Nat44UserSessionV2Details) GetCrcString() string   { return "fd42b729" }
2774 func (*Nat44UserSessionV2Details) GetMessageType() api.MessageType {
2775         return api.ReplyMessage
2776 }
2777
2778 func (m *Nat44UserSessionV2Details) Size() (size int) {
2779         if m == nil {
2780                 return 0
2781         }
2782         size += 1 * 4 // m.OutsideIPAddress
2783         size += 2     // m.OutsidePort
2784         size += 1 * 4 // m.InsideIPAddress
2785         size += 2     // m.InsidePort
2786         size += 2     // m.Protocol
2787         size += 1     // m.Flags
2788         size += 8     // m.LastHeard
2789         size += 8     // m.TotalBytes
2790         size += 4     // m.TotalPkts
2791         size += 1 * 4 // m.ExtHostAddress
2792         size += 2     // m.ExtHostPort
2793         size += 1 * 4 // m.ExtHostNatAddress
2794         size += 2     // m.ExtHostNatPort
2795         size += 1     // m.IsTimedOut
2796         return size
2797 }
2798 func (m *Nat44UserSessionV2Details) Marshal(b []byte) ([]byte, error) {
2799         if b == nil {
2800                 b = make([]byte, m.Size())
2801         }
2802         buf := codec.NewBuffer(b)
2803         buf.EncodeBytes(m.OutsideIPAddress[:], 4)
2804         buf.EncodeUint16(m.OutsidePort)
2805         buf.EncodeBytes(m.InsideIPAddress[:], 4)
2806         buf.EncodeUint16(m.InsidePort)
2807         buf.EncodeUint16(m.Protocol)
2808         buf.EncodeUint8(uint8(m.Flags))
2809         buf.EncodeUint64(m.LastHeard)
2810         buf.EncodeUint64(m.TotalBytes)
2811         buf.EncodeUint32(m.TotalPkts)
2812         buf.EncodeBytes(m.ExtHostAddress[:], 4)
2813         buf.EncodeUint16(m.ExtHostPort)
2814         buf.EncodeBytes(m.ExtHostNatAddress[:], 4)
2815         buf.EncodeUint16(m.ExtHostNatPort)
2816         buf.EncodeBool(m.IsTimedOut)
2817         return buf.Bytes(), nil
2818 }
2819 func (m *Nat44UserSessionV2Details) Unmarshal(b []byte) error {
2820         buf := codec.NewBuffer(b)
2821         copy(m.OutsideIPAddress[:], buf.DecodeBytes(4))
2822         m.OutsidePort = buf.DecodeUint16()
2823         copy(m.InsideIPAddress[:], buf.DecodeBytes(4))
2824         m.InsidePort = buf.DecodeUint16()
2825         m.Protocol = buf.DecodeUint16()
2826         m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
2827         m.LastHeard = buf.DecodeUint64()
2828         m.TotalBytes = buf.DecodeUint64()
2829         m.TotalPkts = buf.DecodeUint32()
2830         copy(m.ExtHostAddress[:], buf.DecodeBytes(4))
2831         m.ExtHostPort = buf.DecodeUint16()
2832         copy(m.ExtHostNatAddress[:], buf.DecodeBytes(4))
2833         m.ExtHostNatPort = buf.DecodeUint16()
2834         m.IsTimedOut = buf.DecodeBool()
2835         return nil
2836 }
2837
2838 // Nat44UserSessionV2Dump defines message 'nat44_user_session_v2_dump'.
2839 // InProgress: the message form may change in the future versions
2840 type Nat44UserSessionV2Dump struct {
2841         IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
2842         VrfID     uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
2843 }
2844
2845 func (m *Nat44UserSessionV2Dump) Reset()               { *m = Nat44UserSessionV2Dump{} }
2846 func (*Nat44UserSessionV2Dump) GetMessageName() string { return "nat44_user_session_v2_dump" }
2847 func (*Nat44UserSessionV2Dump) GetCrcString() string   { return "e1899c98" }
2848 func (*Nat44UserSessionV2Dump) GetMessageType() api.MessageType {
2849         return api.RequestMessage
2850 }
2851
2852 func (m *Nat44UserSessionV2Dump) Size() (size int) {
2853         if m == nil {
2854                 return 0
2855         }
2856         size += 1 * 4 // m.IPAddress
2857         size += 4     // m.VrfID
2858         return size
2859 }
2860 func (m *Nat44UserSessionV2Dump) Marshal(b []byte) ([]byte, error) {
2861         if b == nil {
2862                 b = make([]byte, m.Size())
2863         }
2864         buf := codec.NewBuffer(b)
2865         buf.EncodeBytes(m.IPAddress[:], 4)
2866         buf.EncodeUint32(m.VrfID)
2867         return buf.Bytes(), nil
2868 }
2869 func (m *Nat44UserSessionV2Dump) Unmarshal(b []byte) error {
2870         buf := codec.NewBuffer(b)
2871         copy(m.IPAddress[:], buf.DecodeBytes(4))
2872         m.VrfID = buf.DecodeUint32()
2873         return nil
2874 }
2875
2876 // NatControlPing defines message 'nat_control_ping'.
2877 // Deprecated: the message will be removed in the future versions
2878 type NatControlPing struct{}
2879
2880 func (m *NatControlPing) Reset()               { *m = NatControlPing{} }
2881 func (*NatControlPing) GetMessageName() string { return "nat_control_ping" }
2882 func (*NatControlPing) GetCrcString() string   { return "51077d14" }
2883 func (*NatControlPing) GetMessageType() api.MessageType {
2884         return api.RequestMessage
2885 }
2886
2887 func (m *NatControlPing) Size() (size int) {
2888         if m == nil {
2889                 return 0
2890         }
2891         return size
2892 }
2893 func (m *NatControlPing) Marshal(b []byte) ([]byte, error) {
2894         if b == nil {
2895                 b = make([]byte, m.Size())
2896         }
2897         buf := codec.NewBuffer(b)
2898         return buf.Bytes(), nil
2899 }
2900 func (m *NatControlPing) Unmarshal(b []byte) error {
2901         return nil
2902 }
2903
2904 // NatControlPingReply defines message 'nat_control_ping_reply'.
2905 // Deprecated: the message will be removed in the future versions
2906 type NatControlPingReply struct {
2907         Retval      int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
2908         ClientIndex uint32 `binapi:"u32,name=client_index" json:"client_index,omitempty"`
2909         VpePID      uint32 `binapi:"u32,name=vpe_pid" json:"vpe_pid,omitempty"`
2910 }
2911
2912 func (m *NatControlPingReply) Reset()               { *m = NatControlPingReply{} }
2913 func (*NatControlPingReply) GetMessageName() string { return "nat_control_ping_reply" }
2914 func (*NatControlPingReply) GetCrcString() string   { return "f6b0b8ca" }
2915 func (*NatControlPingReply) GetMessageType() api.MessageType {
2916         return api.ReplyMessage
2917 }
2918
2919 func (m *NatControlPingReply) Size() (size int) {
2920         if m == nil {
2921                 return 0
2922         }
2923         size += 4 // m.Retval
2924         size += 4 // m.ClientIndex
2925         size += 4 // m.VpePID
2926         return size
2927 }
2928 func (m *NatControlPingReply) Marshal(b []byte) ([]byte, error) {
2929         if b == nil {
2930                 b = make([]byte, m.Size())
2931         }
2932         buf := codec.NewBuffer(b)
2933         buf.EncodeInt32(m.Retval)
2934         buf.EncodeUint32(m.ClientIndex)
2935         buf.EncodeUint32(m.VpePID)
2936         return buf.Bytes(), nil
2937 }
2938 func (m *NatControlPingReply) Unmarshal(b []byte) error {
2939         buf := codec.NewBuffer(b)
2940         m.Retval = buf.DecodeInt32()
2941         m.ClientIndex = buf.DecodeUint32()
2942         m.VpePID = buf.DecodeUint32()
2943         return nil
2944 }
2945
2946 // NatGetAddrAndPortAllocAlg defines message 'nat_get_addr_and_port_alloc_alg'.
2947 type NatGetAddrAndPortAllocAlg struct{}
2948
2949 func (m *NatGetAddrAndPortAllocAlg) Reset()               { *m = NatGetAddrAndPortAllocAlg{} }
2950 func (*NatGetAddrAndPortAllocAlg) GetMessageName() string { return "nat_get_addr_and_port_alloc_alg" }
2951 func (*NatGetAddrAndPortAllocAlg) GetCrcString() string   { return "51077d14" }
2952 func (*NatGetAddrAndPortAllocAlg) GetMessageType() api.MessageType {
2953         return api.RequestMessage
2954 }
2955
2956 func (m *NatGetAddrAndPortAllocAlg) Size() (size int) {
2957         if m == nil {
2958                 return 0
2959         }
2960         return size
2961 }
2962 func (m *NatGetAddrAndPortAllocAlg) Marshal(b []byte) ([]byte, error) {
2963         if b == nil {
2964                 b = make([]byte, m.Size())
2965         }
2966         buf := codec.NewBuffer(b)
2967         return buf.Bytes(), nil
2968 }
2969 func (m *NatGetAddrAndPortAllocAlg) Unmarshal(b []byte) error {
2970         return nil
2971 }
2972
2973 // NatGetAddrAndPortAllocAlgReply defines message 'nat_get_addr_and_port_alloc_alg_reply'.
2974 type NatGetAddrAndPortAllocAlgReply struct {
2975         Retval     int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
2976         Alg        uint8  `binapi:"u8,name=alg" json:"alg,omitempty"`
2977         PsidOffset uint8  `binapi:"u8,name=psid_offset" json:"psid_offset,omitempty"`
2978         PsidLength uint8  `binapi:"u8,name=psid_length" json:"psid_length,omitempty"`
2979         Psid       uint16 `binapi:"u16,name=psid" json:"psid,omitempty"`
2980         StartPort  uint16 `binapi:"u16,name=start_port" json:"start_port,omitempty"`
2981         EndPort    uint16 `binapi:"u16,name=end_port" json:"end_port,omitempty"`
2982 }
2983
2984 func (m *NatGetAddrAndPortAllocAlgReply) Reset() { *m = NatGetAddrAndPortAllocAlgReply{} }
2985 func (*NatGetAddrAndPortAllocAlgReply) GetMessageName() string {
2986         return "nat_get_addr_and_port_alloc_alg_reply"
2987 }
2988 func (*NatGetAddrAndPortAllocAlgReply) GetCrcString() string { return "3607a7d0" }
2989 func (*NatGetAddrAndPortAllocAlgReply) GetMessageType() api.MessageType {
2990         return api.ReplyMessage
2991 }
2992
2993 func (m *NatGetAddrAndPortAllocAlgReply) Size() (size int) {
2994         if m == nil {
2995                 return 0
2996         }
2997         size += 4 // m.Retval
2998         size += 1 // m.Alg
2999         size += 1 // m.PsidOffset
3000         size += 1 // m.PsidLength
3001         size += 2 // m.Psid
3002         size += 2 // m.StartPort
3003         size += 2 // m.EndPort
3004         return size
3005 }
3006 func (m *NatGetAddrAndPortAllocAlgReply) Marshal(b []byte) ([]byte, error) {
3007         if b == nil {
3008                 b = make([]byte, m.Size())
3009         }
3010         buf := codec.NewBuffer(b)
3011         buf.EncodeInt32(m.Retval)
3012         buf.EncodeUint8(m.Alg)
3013         buf.EncodeUint8(m.PsidOffset)
3014         buf.EncodeUint8(m.PsidLength)
3015         buf.EncodeUint16(m.Psid)
3016         buf.EncodeUint16(m.StartPort)
3017         buf.EncodeUint16(m.EndPort)
3018         return buf.Bytes(), nil
3019 }
3020 func (m *NatGetAddrAndPortAllocAlgReply) Unmarshal(b []byte) error {
3021         buf := codec.NewBuffer(b)
3022         m.Retval = buf.DecodeInt32()
3023         m.Alg = buf.DecodeUint8()
3024         m.PsidOffset = buf.DecodeUint8()
3025         m.PsidLength = buf.DecodeUint8()
3026         m.Psid = buf.DecodeUint16()
3027         m.StartPort = buf.DecodeUint16()
3028         m.EndPort = buf.DecodeUint16()
3029         return nil
3030 }
3031
3032 // NatGetMssClamping defines message 'nat_get_mss_clamping'.
3033 type NatGetMssClamping struct{}
3034
3035 func (m *NatGetMssClamping) Reset()               { *m = NatGetMssClamping{} }
3036 func (*NatGetMssClamping) GetMessageName() string { return "nat_get_mss_clamping" }
3037 func (*NatGetMssClamping) GetCrcString() string   { return "51077d14" }
3038 func (*NatGetMssClamping) GetMessageType() api.MessageType {
3039         return api.RequestMessage
3040 }
3041
3042 func (m *NatGetMssClamping) Size() (size int) {
3043         if m == nil {
3044                 return 0
3045         }
3046         return size
3047 }
3048 func (m *NatGetMssClamping) Marshal(b []byte) ([]byte, error) {
3049         if b == nil {
3050                 b = make([]byte, m.Size())
3051         }
3052         buf := codec.NewBuffer(b)
3053         return buf.Bytes(), nil
3054 }
3055 func (m *NatGetMssClamping) Unmarshal(b []byte) error {
3056         return nil
3057 }
3058
3059 // NatGetMssClampingReply defines message 'nat_get_mss_clamping_reply'.
3060 type NatGetMssClampingReply struct {
3061         Retval   int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
3062         MssValue uint16 `binapi:"u16,name=mss_value" json:"mss_value,omitempty"`
3063         Enable   bool   `binapi:"bool,name=enable" json:"enable,omitempty"`
3064 }
3065
3066 func (m *NatGetMssClampingReply) Reset()               { *m = NatGetMssClampingReply{} }
3067 func (*NatGetMssClampingReply) GetMessageName() string { return "nat_get_mss_clamping_reply" }
3068 func (*NatGetMssClampingReply) GetCrcString() string   { return "1c0b2a78" }
3069 func (*NatGetMssClampingReply) GetMessageType() api.MessageType {
3070         return api.ReplyMessage
3071 }
3072
3073 func (m *NatGetMssClampingReply) Size() (size int) {
3074         if m == nil {
3075                 return 0
3076         }
3077         size += 4 // m.Retval
3078         size += 2 // m.MssValue
3079         size += 1 // m.Enable
3080         return size
3081 }
3082 func (m *NatGetMssClampingReply) Marshal(b []byte) ([]byte, error) {
3083         if b == nil {
3084                 b = make([]byte, m.Size())
3085         }
3086         buf := codec.NewBuffer(b)
3087         buf.EncodeInt32(m.Retval)
3088         buf.EncodeUint16(m.MssValue)
3089         buf.EncodeBool(m.Enable)
3090         return buf.Bytes(), nil
3091 }
3092 func (m *NatGetMssClampingReply) Unmarshal(b []byte) error {
3093         buf := codec.NewBuffer(b)
3094         m.Retval = buf.DecodeInt32()
3095         m.MssValue = buf.DecodeUint16()
3096         m.Enable = buf.DecodeBool()
3097         return nil
3098 }
3099
3100 // NatGetTimeouts defines message 'nat_get_timeouts'.
3101 // Deprecated: the message will be removed in the future versions
3102 type NatGetTimeouts struct{}
3103
3104 func (m *NatGetTimeouts) Reset()               { *m = NatGetTimeouts{} }
3105 func (*NatGetTimeouts) GetMessageName() string { return "nat_get_timeouts" }
3106 func (*NatGetTimeouts) GetCrcString() string   { return "51077d14" }
3107 func (*NatGetTimeouts) GetMessageType() api.MessageType {
3108         return api.RequestMessage
3109 }
3110
3111 func (m *NatGetTimeouts) Size() (size int) {
3112         if m == nil {
3113                 return 0
3114         }
3115         return size
3116 }
3117 func (m *NatGetTimeouts) Marshal(b []byte) ([]byte, error) {
3118         if b == nil {
3119                 b = make([]byte, m.Size())
3120         }
3121         buf := codec.NewBuffer(b)
3122         return buf.Bytes(), nil
3123 }
3124 func (m *NatGetTimeouts) Unmarshal(b []byte) error {
3125         return nil
3126 }
3127
3128 // NatGetTimeoutsReply defines message 'nat_get_timeouts_reply'.
3129 // Deprecated: the message will be removed in the future versions
3130 type NatGetTimeoutsReply struct {
3131         Retval         int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
3132         UDP            uint32 `binapi:"u32,name=udp" json:"udp,omitempty"`
3133         TCPEstablished uint32 `binapi:"u32,name=tcp_established" json:"tcp_established,omitempty"`
3134         TCPTransitory  uint32 `binapi:"u32,name=tcp_transitory" json:"tcp_transitory,omitempty"`
3135         ICMP           uint32 `binapi:"u32,name=icmp" json:"icmp,omitempty"`
3136 }
3137
3138 func (m *NatGetTimeoutsReply) Reset()               { *m = NatGetTimeoutsReply{} }
3139 func (*NatGetTimeoutsReply) GetMessageName() string { return "nat_get_timeouts_reply" }
3140 func (*NatGetTimeoutsReply) GetCrcString() string   { return "3c4df4e1" }
3141 func (*NatGetTimeoutsReply) GetMessageType() api.MessageType {
3142         return api.ReplyMessage
3143 }
3144
3145 func (m *NatGetTimeoutsReply) Size() (size int) {
3146         if m == nil {
3147                 return 0
3148         }
3149         size += 4 // m.Retval
3150         size += 4 // m.UDP
3151         size += 4 // m.TCPEstablished
3152         size += 4 // m.TCPTransitory
3153         size += 4 // m.ICMP
3154         return size
3155 }
3156 func (m *NatGetTimeoutsReply) Marshal(b []byte) ([]byte, error) {
3157         if b == nil {
3158                 b = make([]byte, m.Size())
3159         }
3160         buf := codec.NewBuffer(b)
3161         buf.EncodeInt32(m.Retval)
3162         buf.EncodeUint32(m.UDP)
3163         buf.EncodeUint32(m.TCPEstablished)
3164         buf.EncodeUint32(m.TCPTransitory)
3165         buf.EncodeUint32(m.ICMP)
3166         return buf.Bytes(), nil
3167 }
3168 func (m *NatGetTimeoutsReply) Unmarshal(b []byte) error {
3169         buf := codec.NewBuffer(b)
3170         m.Retval = buf.DecodeInt32()
3171         m.UDP = buf.DecodeUint32()
3172         m.TCPEstablished = buf.DecodeUint32()
3173         m.TCPTransitory = buf.DecodeUint32()
3174         m.ICMP = buf.DecodeUint32()
3175         return nil
3176 }
3177
3178 // NatHaFlush defines message 'nat_ha_flush'.
3179 type NatHaFlush struct{}
3180
3181 func (m *NatHaFlush) Reset()               { *m = NatHaFlush{} }
3182 func (*NatHaFlush) GetMessageName() string { return "nat_ha_flush" }
3183 func (*NatHaFlush) GetCrcString() string   { return "51077d14" }
3184 func (*NatHaFlush) GetMessageType() api.MessageType {
3185         return api.RequestMessage
3186 }
3187
3188 func (m *NatHaFlush) Size() (size int) {
3189         if m == nil {
3190                 return 0
3191         }
3192         return size
3193 }
3194 func (m *NatHaFlush) Marshal(b []byte) ([]byte, error) {
3195         if b == nil {
3196                 b = make([]byte, m.Size())
3197         }
3198         buf := codec.NewBuffer(b)
3199         return buf.Bytes(), nil
3200 }
3201 func (m *NatHaFlush) Unmarshal(b []byte) error {
3202         return nil
3203 }
3204
3205 // NatHaFlushReply defines message 'nat_ha_flush_reply'.
3206 type NatHaFlushReply struct {
3207         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3208 }
3209
3210 func (m *NatHaFlushReply) Reset()               { *m = NatHaFlushReply{} }
3211 func (*NatHaFlushReply) GetMessageName() string { return "nat_ha_flush_reply" }
3212 func (*NatHaFlushReply) GetCrcString() string   { return "e8d4e804" }
3213 func (*NatHaFlushReply) GetMessageType() api.MessageType {
3214         return api.ReplyMessage
3215 }
3216
3217 func (m *NatHaFlushReply) Size() (size int) {
3218         if m == nil {
3219                 return 0
3220         }
3221         size += 4 // m.Retval
3222         return size
3223 }
3224 func (m *NatHaFlushReply) Marshal(b []byte) ([]byte, error) {
3225         if b == nil {
3226                 b = make([]byte, m.Size())
3227         }
3228         buf := codec.NewBuffer(b)
3229         buf.EncodeInt32(m.Retval)
3230         return buf.Bytes(), nil
3231 }
3232 func (m *NatHaFlushReply) Unmarshal(b []byte) error {
3233         buf := codec.NewBuffer(b)
3234         m.Retval = buf.DecodeInt32()
3235         return nil
3236 }
3237
3238 // NatHaGetFailover defines message 'nat_ha_get_failover'.
3239 type NatHaGetFailover struct{}
3240
3241 func (m *NatHaGetFailover) Reset()               { *m = NatHaGetFailover{} }
3242 func (*NatHaGetFailover) GetMessageName() string { return "nat_ha_get_failover" }
3243 func (*NatHaGetFailover) GetCrcString() string   { return "51077d14" }
3244 func (*NatHaGetFailover) GetMessageType() api.MessageType {
3245         return api.RequestMessage
3246 }
3247
3248 func (m *NatHaGetFailover) Size() (size int) {
3249         if m == nil {
3250                 return 0
3251         }
3252         return size
3253 }
3254 func (m *NatHaGetFailover) Marshal(b []byte) ([]byte, error) {
3255         if b == nil {
3256                 b = make([]byte, m.Size())
3257         }
3258         buf := codec.NewBuffer(b)
3259         return buf.Bytes(), nil
3260 }
3261 func (m *NatHaGetFailover) Unmarshal(b []byte) error {
3262         return nil
3263 }
3264
3265 // NatHaGetFailoverReply defines message 'nat_ha_get_failover_reply'.
3266 type NatHaGetFailoverReply struct {
3267         Retval                 int32               `binapi:"i32,name=retval" json:"retval,omitempty"`
3268         IPAddress              ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
3269         Port                   uint16              `binapi:"u16,name=port" json:"port,omitempty"`
3270         SessionRefreshInterval uint32              `binapi:"u32,name=session_refresh_interval" json:"session_refresh_interval,omitempty"`
3271 }
3272
3273 func (m *NatHaGetFailoverReply) Reset()               { *m = NatHaGetFailoverReply{} }
3274 func (*NatHaGetFailoverReply) GetMessageName() string { return "nat_ha_get_failover_reply" }
3275 func (*NatHaGetFailoverReply) GetCrcString() string   { return "a67d8752" }
3276 func (*NatHaGetFailoverReply) GetMessageType() api.MessageType {
3277         return api.ReplyMessage
3278 }
3279
3280 func (m *NatHaGetFailoverReply) Size() (size int) {
3281         if m == nil {
3282                 return 0
3283         }
3284         size += 4     // m.Retval
3285         size += 1 * 4 // m.IPAddress
3286         size += 2     // m.Port
3287         size += 4     // m.SessionRefreshInterval
3288         return size
3289 }
3290 func (m *NatHaGetFailoverReply) Marshal(b []byte) ([]byte, error) {
3291         if b == nil {
3292                 b = make([]byte, m.Size())
3293         }
3294         buf := codec.NewBuffer(b)
3295         buf.EncodeInt32(m.Retval)
3296         buf.EncodeBytes(m.IPAddress[:], 4)
3297         buf.EncodeUint16(m.Port)
3298         buf.EncodeUint32(m.SessionRefreshInterval)
3299         return buf.Bytes(), nil
3300 }
3301 func (m *NatHaGetFailoverReply) Unmarshal(b []byte) error {
3302         buf := codec.NewBuffer(b)
3303         m.Retval = buf.DecodeInt32()
3304         copy(m.IPAddress[:], buf.DecodeBytes(4))
3305         m.Port = buf.DecodeUint16()
3306         m.SessionRefreshInterval = buf.DecodeUint32()
3307         return nil
3308 }
3309
3310 // NatHaGetListener defines message 'nat_ha_get_listener'.
3311 type NatHaGetListener struct{}
3312
3313 func (m *NatHaGetListener) Reset()               { *m = NatHaGetListener{} }
3314 func (*NatHaGetListener) GetMessageName() string { return "nat_ha_get_listener" }
3315 func (*NatHaGetListener) GetCrcString() string   { return "51077d14" }
3316 func (*NatHaGetListener) GetMessageType() api.MessageType {
3317         return api.RequestMessage
3318 }
3319
3320 func (m *NatHaGetListener) Size() (size int) {
3321         if m == nil {
3322                 return 0
3323         }
3324         return size
3325 }
3326 func (m *NatHaGetListener) Marshal(b []byte) ([]byte, error) {
3327         if b == nil {
3328                 b = make([]byte, m.Size())
3329         }
3330         buf := codec.NewBuffer(b)
3331         return buf.Bytes(), nil
3332 }
3333 func (m *NatHaGetListener) Unmarshal(b []byte) error {
3334         return nil
3335 }
3336
3337 // NatHaGetListenerReply defines message 'nat_ha_get_listener_reply'.
3338 type NatHaGetListenerReply struct {
3339         Retval    int32               `binapi:"i32,name=retval" json:"retval,omitempty"`
3340         IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
3341         Port      uint16              `binapi:"u16,name=port" json:"port,omitempty"`
3342         PathMtu   uint32              `binapi:"u32,name=path_mtu" json:"path_mtu,omitempty"`
3343 }
3344
3345 func (m *NatHaGetListenerReply) Reset()               { *m = NatHaGetListenerReply{} }
3346 func (*NatHaGetListenerReply) GetMessageName() string { return "nat_ha_get_listener_reply" }
3347 func (*NatHaGetListenerReply) GetCrcString() string   { return "123ea41f" }
3348 func (*NatHaGetListenerReply) GetMessageType() api.MessageType {
3349         return api.ReplyMessage
3350 }
3351
3352 func (m *NatHaGetListenerReply) Size() (size int) {
3353         if m == nil {
3354                 return 0
3355         }
3356         size += 4     // m.Retval
3357         size += 1 * 4 // m.IPAddress
3358         size += 2     // m.Port
3359         size += 4     // m.PathMtu
3360         return size
3361 }
3362 func (m *NatHaGetListenerReply) Marshal(b []byte) ([]byte, error) {
3363         if b == nil {
3364                 b = make([]byte, m.Size())
3365         }
3366         buf := codec.NewBuffer(b)
3367         buf.EncodeInt32(m.Retval)
3368         buf.EncodeBytes(m.IPAddress[:], 4)
3369         buf.EncodeUint16(m.Port)
3370         buf.EncodeUint32(m.PathMtu)
3371         return buf.Bytes(), nil
3372 }
3373 func (m *NatHaGetListenerReply) Unmarshal(b []byte) error {
3374         buf := codec.NewBuffer(b)
3375         m.Retval = buf.DecodeInt32()
3376         copy(m.IPAddress[:], buf.DecodeBytes(4))
3377         m.Port = buf.DecodeUint16()
3378         m.PathMtu = buf.DecodeUint32()
3379         return nil
3380 }
3381
3382 // NatHaResync defines message 'nat_ha_resync'.
3383 type NatHaResync struct {
3384         WantResyncEvent uint8  `binapi:"u8,name=want_resync_event" json:"want_resync_event,omitempty"`
3385         PID             uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
3386 }
3387
3388 func (m *NatHaResync) Reset()               { *m = NatHaResync{} }
3389 func (*NatHaResync) GetMessageName() string { return "nat_ha_resync" }
3390 func (*NatHaResync) GetCrcString() string   { return "c8ab9e03" }
3391 func (*NatHaResync) GetMessageType() api.MessageType {
3392         return api.RequestMessage
3393 }
3394
3395 func (m *NatHaResync) Size() (size int) {
3396         if m == nil {
3397                 return 0
3398         }
3399         size += 1 // m.WantResyncEvent
3400         size += 4 // m.PID
3401         return size
3402 }
3403 func (m *NatHaResync) Marshal(b []byte) ([]byte, error) {
3404         if b == nil {
3405                 b = make([]byte, m.Size())
3406         }
3407         buf := codec.NewBuffer(b)
3408         buf.EncodeUint8(m.WantResyncEvent)
3409         buf.EncodeUint32(m.PID)
3410         return buf.Bytes(), nil
3411 }
3412 func (m *NatHaResync) Unmarshal(b []byte) error {
3413         buf := codec.NewBuffer(b)
3414         m.WantResyncEvent = buf.DecodeUint8()
3415         m.PID = buf.DecodeUint32()
3416         return nil
3417 }
3418
3419 // NatHaResyncCompletedEvent defines message 'nat_ha_resync_completed_event'.
3420 type NatHaResyncCompletedEvent struct {
3421         PID         uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
3422         MissedCount uint32 `binapi:"u32,name=missed_count" json:"missed_count,omitempty"`
3423 }
3424
3425 func (m *NatHaResyncCompletedEvent) Reset()               { *m = NatHaResyncCompletedEvent{} }
3426 func (*NatHaResyncCompletedEvent) GetMessageName() string { return "nat_ha_resync_completed_event" }
3427 func (*NatHaResyncCompletedEvent) GetCrcString() string   { return "fdc598fb" }
3428 func (*NatHaResyncCompletedEvent) GetMessageType() api.MessageType {
3429         return api.EventMessage
3430 }
3431
3432 func (m *NatHaResyncCompletedEvent) Size() (size int) {
3433         if m == nil {
3434                 return 0
3435         }
3436         size += 4 // m.PID
3437         size += 4 // m.MissedCount
3438         return size
3439 }
3440 func (m *NatHaResyncCompletedEvent) Marshal(b []byte) ([]byte, error) {
3441         if b == nil {
3442                 b = make([]byte, m.Size())
3443         }
3444         buf := codec.NewBuffer(b)
3445         buf.EncodeUint32(m.PID)
3446         buf.EncodeUint32(m.MissedCount)
3447         return buf.Bytes(), nil
3448 }
3449 func (m *NatHaResyncCompletedEvent) Unmarshal(b []byte) error {
3450         buf := codec.NewBuffer(b)
3451         m.PID = buf.DecodeUint32()
3452         m.MissedCount = buf.DecodeUint32()
3453         return nil
3454 }
3455
3456 // NatHaResyncReply defines message 'nat_ha_resync_reply'.
3457 type NatHaResyncReply struct {
3458         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3459 }
3460
3461 func (m *NatHaResyncReply) Reset()               { *m = NatHaResyncReply{} }
3462 func (*NatHaResyncReply) GetMessageName() string { return "nat_ha_resync_reply" }
3463 func (*NatHaResyncReply) GetCrcString() string   { return "e8d4e804" }
3464 func (*NatHaResyncReply) GetMessageType() api.MessageType {
3465         return api.ReplyMessage
3466 }
3467
3468 func (m *NatHaResyncReply) Size() (size int) {
3469         if m == nil {
3470                 return 0
3471         }
3472         size += 4 // m.Retval
3473         return size
3474 }
3475 func (m *NatHaResyncReply) Marshal(b []byte) ([]byte, error) {
3476         if b == nil {
3477                 b = make([]byte, m.Size())
3478         }
3479         buf := codec.NewBuffer(b)
3480         buf.EncodeInt32(m.Retval)
3481         return buf.Bytes(), nil
3482 }
3483 func (m *NatHaResyncReply) Unmarshal(b []byte) error {
3484         buf := codec.NewBuffer(b)
3485         m.Retval = buf.DecodeInt32()
3486         return nil
3487 }
3488
3489 // NatHaSetFailover defines message 'nat_ha_set_failover'.
3490 type NatHaSetFailover struct {
3491         IPAddress              ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
3492         Port                   uint16              `binapi:"u16,name=port" json:"port,omitempty"`
3493         SessionRefreshInterval uint32              `binapi:"u32,name=session_refresh_interval" json:"session_refresh_interval,omitempty"`
3494 }
3495
3496 func (m *NatHaSetFailover) Reset()               { *m = NatHaSetFailover{} }
3497 func (*NatHaSetFailover) GetMessageName() string { return "nat_ha_set_failover" }
3498 func (*NatHaSetFailover) GetCrcString() string   { return "718246af" }
3499 func (*NatHaSetFailover) GetMessageType() api.MessageType {
3500         return api.RequestMessage
3501 }
3502
3503 func (m *NatHaSetFailover) Size() (size int) {
3504         if m == nil {
3505                 return 0
3506         }
3507         size += 1 * 4 // m.IPAddress
3508         size += 2     // m.Port
3509         size += 4     // m.SessionRefreshInterval
3510         return size
3511 }
3512 func (m *NatHaSetFailover) Marshal(b []byte) ([]byte, error) {
3513         if b == nil {
3514                 b = make([]byte, m.Size())
3515         }
3516         buf := codec.NewBuffer(b)
3517         buf.EncodeBytes(m.IPAddress[:], 4)
3518         buf.EncodeUint16(m.Port)
3519         buf.EncodeUint32(m.SessionRefreshInterval)
3520         return buf.Bytes(), nil
3521 }
3522 func (m *NatHaSetFailover) Unmarshal(b []byte) error {
3523         buf := codec.NewBuffer(b)
3524         copy(m.IPAddress[:], buf.DecodeBytes(4))
3525         m.Port = buf.DecodeUint16()
3526         m.SessionRefreshInterval = buf.DecodeUint32()
3527         return nil
3528 }
3529
3530 // NatHaSetFailoverReply defines message 'nat_ha_set_failover_reply'.
3531 type NatHaSetFailoverReply struct {
3532         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3533 }
3534
3535 func (m *NatHaSetFailoverReply) Reset()               { *m = NatHaSetFailoverReply{} }
3536 func (*NatHaSetFailoverReply) GetMessageName() string { return "nat_ha_set_failover_reply" }
3537 func (*NatHaSetFailoverReply) GetCrcString() string   { return "e8d4e804" }
3538 func (*NatHaSetFailoverReply) GetMessageType() api.MessageType {
3539         return api.ReplyMessage
3540 }
3541
3542 func (m *NatHaSetFailoverReply) Size() (size int) {
3543         if m == nil {
3544                 return 0
3545         }
3546         size += 4 // m.Retval
3547         return size
3548 }
3549 func (m *NatHaSetFailoverReply) Marshal(b []byte) ([]byte, error) {
3550         if b == nil {
3551                 b = make([]byte, m.Size())
3552         }
3553         buf := codec.NewBuffer(b)
3554         buf.EncodeInt32(m.Retval)
3555         return buf.Bytes(), nil
3556 }
3557 func (m *NatHaSetFailoverReply) Unmarshal(b []byte) error {
3558         buf := codec.NewBuffer(b)
3559         m.Retval = buf.DecodeInt32()
3560         return nil
3561 }
3562
3563 // NatHaSetListener defines message 'nat_ha_set_listener'.
3564 type NatHaSetListener struct {
3565         IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
3566         Port      uint16              `binapi:"u16,name=port" json:"port,omitempty"`
3567         PathMtu   uint32              `binapi:"u32,name=path_mtu" json:"path_mtu,omitempty"`
3568 }
3569
3570 func (m *NatHaSetListener) Reset()               { *m = NatHaSetListener{} }
3571 func (*NatHaSetListener) GetMessageName() string { return "nat_ha_set_listener" }
3572 func (*NatHaSetListener) GetCrcString() string   { return "e4a8cb4e" }
3573 func (*NatHaSetListener) GetMessageType() api.MessageType {
3574         return api.RequestMessage
3575 }
3576
3577 func (m *NatHaSetListener) Size() (size int) {
3578         if m == nil {
3579                 return 0
3580         }
3581         size += 1 * 4 // m.IPAddress
3582         size += 2     // m.Port
3583         size += 4     // m.PathMtu
3584         return size
3585 }
3586 func (m *NatHaSetListener) Marshal(b []byte) ([]byte, error) {
3587         if b == nil {
3588                 b = make([]byte, m.Size())
3589         }
3590         buf := codec.NewBuffer(b)
3591         buf.EncodeBytes(m.IPAddress[:], 4)
3592         buf.EncodeUint16(m.Port)
3593         buf.EncodeUint32(m.PathMtu)
3594         return buf.Bytes(), nil
3595 }
3596 func (m *NatHaSetListener) Unmarshal(b []byte) error {
3597         buf := codec.NewBuffer(b)
3598         copy(m.IPAddress[:], buf.DecodeBytes(4))
3599         m.Port = buf.DecodeUint16()
3600         m.PathMtu = buf.DecodeUint32()
3601         return nil
3602 }
3603
3604 // NatHaSetListenerReply defines message 'nat_ha_set_listener_reply'.
3605 type NatHaSetListenerReply struct {
3606         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3607 }
3608
3609 func (m *NatHaSetListenerReply) Reset()               { *m = NatHaSetListenerReply{} }
3610 func (*NatHaSetListenerReply) GetMessageName() string { return "nat_ha_set_listener_reply" }
3611 func (*NatHaSetListenerReply) GetCrcString() string   { return "e8d4e804" }
3612 func (*NatHaSetListenerReply) GetMessageType() api.MessageType {
3613         return api.ReplyMessage
3614 }
3615
3616 func (m *NatHaSetListenerReply) Size() (size int) {
3617         if m == nil {
3618                 return 0
3619         }
3620         size += 4 // m.Retval
3621         return size
3622 }
3623 func (m *NatHaSetListenerReply) Marshal(b []byte) ([]byte, error) {
3624         if b == nil {
3625                 b = make([]byte, m.Size())
3626         }
3627         buf := codec.NewBuffer(b)
3628         buf.EncodeInt32(m.Retval)
3629         return buf.Bytes(), nil
3630 }
3631 func (m *NatHaSetListenerReply) Unmarshal(b []byte) error {
3632         buf := codec.NewBuffer(b)
3633         m.Retval = buf.DecodeInt32()
3634         return nil
3635 }
3636
3637 // NatIpfixEnableDisable defines message 'nat_ipfix_enable_disable'.
3638 // Deprecated: the message will be removed in the future versions
3639 type NatIpfixEnableDisable struct {
3640         DomainID uint32 `binapi:"u32,name=domain_id" json:"domain_id,omitempty"`
3641         SrcPort  uint16 `binapi:"u16,name=src_port" json:"src_port,omitempty"`
3642         Enable   bool   `binapi:"bool,name=enable" json:"enable,omitempty"`
3643 }
3644
3645 func (m *NatIpfixEnableDisable) Reset()               { *m = NatIpfixEnableDisable{} }
3646 func (*NatIpfixEnableDisable) GetMessageName() string { return "nat_ipfix_enable_disable" }
3647 func (*NatIpfixEnableDisable) GetCrcString() string   { return "9af4a2d2" }
3648 func (*NatIpfixEnableDisable) GetMessageType() api.MessageType {
3649         return api.RequestMessage
3650 }
3651
3652 func (m *NatIpfixEnableDisable) Size() (size int) {
3653         if m == nil {
3654                 return 0
3655         }
3656         size += 4 // m.DomainID
3657         size += 2 // m.SrcPort
3658         size += 1 // m.Enable
3659         return size
3660 }
3661 func (m *NatIpfixEnableDisable) Marshal(b []byte) ([]byte, error) {
3662         if b == nil {
3663                 b = make([]byte, m.Size())
3664         }
3665         buf := codec.NewBuffer(b)
3666         buf.EncodeUint32(m.DomainID)
3667         buf.EncodeUint16(m.SrcPort)
3668         buf.EncodeBool(m.Enable)
3669         return buf.Bytes(), nil
3670 }
3671 func (m *NatIpfixEnableDisable) Unmarshal(b []byte) error {
3672         buf := codec.NewBuffer(b)
3673         m.DomainID = buf.DecodeUint32()
3674         m.SrcPort = buf.DecodeUint16()
3675         m.Enable = buf.DecodeBool()
3676         return nil
3677 }
3678
3679 // NatIpfixEnableDisableReply defines message 'nat_ipfix_enable_disable_reply'.
3680 // Deprecated: the message will be removed in the future versions
3681 type NatIpfixEnableDisableReply struct {
3682         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3683 }
3684
3685 func (m *NatIpfixEnableDisableReply) Reset()               { *m = NatIpfixEnableDisableReply{} }
3686 func (*NatIpfixEnableDisableReply) GetMessageName() string { return "nat_ipfix_enable_disable_reply" }
3687 func (*NatIpfixEnableDisableReply) GetCrcString() string   { return "e8d4e804" }
3688 func (*NatIpfixEnableDisableReply) GetMessageType() api.MessageType {
3689         return api.ReplyMessage
3690 }
3691
3692 func (m *NatIpfixEnableDisableReply) Size() (size int) {
3693         if m == nil {
3694                 return 0
3695         }
3696         size += 4 // m.Retval
3697         return size
3698 }
3699 func (m *NatIpfixEnableDisableReply) Marshal(b []byte) ([]byte, error) {
3700         if b == nil {
3701                 b = make([]byte, m.Size())
3702         }
3703         buf := codec.NewBuffer(b)
3704         buf.EncodeInt32(m.Retval)
3705         return buf.Bytes(), nil
3706 }
3707 func (m *NatIpfixEnableDisableReply) Unmarshal(b []byte) error {
3708         buf := codec.NewBuffer(b)
3709         m.Retval = buf.DecodeInt32()
3710         return nil
3711 }
3712
3713 // NatSetAddrAndPortAllocAlg defines message 'nat_set_addr_and_port_alloc_alg'.
3714 type NatSetAddrAndPortAllocAlg struct {
3715         Alg        uint8  `binapi:"u8,name=alg" json:"alg,omitempty"`
3716         PsidOffset uint8  `binapi:"u8,name=psid_offset" json:"psid_offset,omitempty"`
3717         PsidLength uint8  `binapi:"u8,name=psid_length" json:"psid_length,omitempty"`
3718         Psid       uint16 `binapi:"u16,name=psid" json:"psid,omitempty"`
3719         StartPort  uint16 `binapi:"u16,name=start_port" json:"start_port,omitempty"`
3720         EndPort    uint16 `binapi:"u16,name=end_port" json:"end_port,omitempty"`
3721 }
3722
3723 func (m *NatSetAddrAndPortAllocAlg) Reset()               { *m = NatSetAddrAndPortAllocAlg{} }
3724 func (*NatSetAddrAndPortAllocAlg) GetMessageName() string { return "nat_set_addr_and_port_alloc_alg" }
3725 func (*NatSetAddrAndPortAllocAlg) GetCrcString() string   { return "deeb746f" }
3726 func (*NatSetAddrAndPortAllocAlg) GetMessageType() api.MessageType {
3727         return api.RequestMessage
3728 }
3729
3730 func (m *NatSetAddrAndPortAllocAlg) Size() (size int) {
3731         if m == nil {
3732                 return 0
3733         }
3734         size += 1 // m.Alg
3735         size += 1 // m.PsidOffset
3736         size += 1 // m.PsidLength
3737         size += 2 // m.Psid
3738         size += 2 // m.StartPort
3739         size += 2 // m.EndPort
3740         return size
3741 }
3742 func (m *NatSetAddrAndPortAllocAlg) Marshal(b []byte) ([]byte, error) {
3743         if b == nil {
3744                 b = make([]byte, m.Size())
3745         }
3746         buf := codec.NewBuffer(b)
3747         buf.EncodeUint8(m.Alg)
3748         buf.EncodeUint8(m.PsidOffset)
3749         buf.EncodeUint8(m.PsidLength)
3750         buf.EncodeUint16(m.Psid)
3751         buf.EncodeUint16(m.StartPort)
3752         buf.EncodeUint16(m.EndPort)
3753         return buf.Bytes(), nil
3754 }
3755 func (m *NatSetAddrAndPortAllocAlg) Unmarshal(b []byte) error {
3756         buf := codec.NewBuffer(b)
3757         m.Alg = buf.DecodeUint8()
3758         m.PsidOffset = buf.DecodeUint8()
3759         m.PsidLength = buf.DecodeUint8()
3760         m.Psid = buf.DecodeUint16()
3761         m.StartPort = buf.DecodeUint16()
3762         m.EndPort = buf.DecodeUint16()
3763         return nil
3764 }
3765
3766 // NatSetAddrAndPortAllocAlgReply defines message 'nat_set_addr_and_port_alloc_alg_reply'.
3767 type NatSetAddrAndPortAllocAlgReply struct {
3768         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3769 }
3770
3771 func (m *NatSetAddrAndPortAllocAlgReply) Reset() { *m = NatSetAddrAndPortAllocAlgReply{} }
3772 func (*NatSetAddrAndPortAllocAlgReply) GetMessageName() string {
3773         return "nat_set_addr_and_port_alloc_alg_reply"
3774 }
3775 func (*NatSetAddrAndPortAllocAlgReply) GetCrcString() string { return "e8d4e804" }
3776 func (*NatSetAddrAndPortAllocAlgReply) GetMessageType() api.MessageType {
3777         return api.ReplyMessage
3778 }
3779
3780 func (m *NatSetAddrAndPortAllocAlgReply) Size() (size int) {
3781         if m == nil {
3782                 return 0
3783         }
3784         size += 4 // m.Retval
3785         return size
3786 }
3787 func (m *NatSetAddrAndPortAllocAlgReply) Marshal(b []byte) ([]byte, error) {
3788         if b == nil {
3789                 b = make([]byte, m.Size())
3790         }
3791         buf := codec.NewBuffer(b)
3792         buf.EncodeInt32(m.Retval)
3793         return buf.Bytes(), nil
3794 }
3795 func (m *NatSetAddrAndPortAllocAlgReply) Unmarshal(b []byte) error {
3796         buf := codec.NewBuffer(b)
3797         m.Retval = buf.DecodeInt32()
3798         return nil
3799 }
3800
3801 // NatSetLogLevel defines message 'nat_set_log_level'.
3802 // Deprecated: the message will be removed in the future versions
3803 type NatSetLogLevel struct {
3804         LogLevel nat_types.NatLogLevel `binapi:"nat_log_level,name=log_level" json:"log_level,omitempty"`
3805 }
3806
3807 func (m *NatSetLogLevel) Reset()               { *m = NatSetLogLevel{} }
3808 func (*NatSetLogLevel) GetMessageName() string { return "nat_set_log_level" }
3809 func (*NatSetLogLevel) GetCrcString() string   { return "70076bfe" }
3810 func (*NatSetLogLevel) GetMessageType() api.MessageType {
3811         return api.RequestMessage
3812 }
3813
3814 func (m *NatSetLogLevel) Size() (size int) {
3815         if m == nil {
3816                 return 0
3817         }
3818         size += 1 // m.LogLevel
3819         return size
3820 }
3821 func (m *NatSetLogLevel) Marshal(b []byte) ([]byte, error) {
3822         if b == nil {
3823                 b = make([]byte, m.Size())
3824         }
3825         buf := codec.NewBuffer(b)
3826         buf.EncodeUint8(uint8(m.LogLevel))
3827         return buf.Bytes(), nil
3828 }
3829 func (m *NatSetLogLevel) Unmarshal(b []byte) error {
3830         buf := codec.NewBuffer(b)
3831         m.LogLevel = nat_types.NatLogLevel(buf.DecodeUint8())
3832         return nil
3833 }
3834
3835 // NatSetLogLevelReply defines message 'nat_set_log_level_reply'.
3836 // Deprecated: the message will be removed in the future versions
3837 type NatSetLogLevelReply struct {
3838         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3839 }
3840
3841 func (m *NatSetLogLevelReply) Reset()               { *m = NatSetLogLevelReply{} }
3842 func (*NatSetLogLevelReply) GetMessageName() string { return "nat_set_log_level_reply" }
3843 func (*NatSetLogLevelReply) GetCrcString() string   { return "e8d4e804" }
3844 func (*NatSetLogLevelReply) GetMessageType() api.MessageType {
3845         return api.ReplyMessage
3846 }
3847
3848 func (m *NatSetLogLevelReply) Size() (size int) {
3849         if m == nil {
3850                 return 0
3851         }
3852         size += 4 // m.Retval
3853         return size
3854 }
3855 func (m *NatSetLogLevelReply) Marshal(b []byte) ([]byte, error) {
3856         if b == nil {
3857                 b = make([]byte, m.Size())
3858         }
3859         buf := codec.NewBuffer(b)
3860         buf.EncodeInt32(m.Retval)
3861         return buf.Bytes(), nil
3862 }
3863 func (m *NatSetLogLevelReply) Unmarshal(b []byte) error {
3864         buf := codec.NewBuffer(b)
3865         m.Retval = buf.DecodeInt32()
3866         return nil
3867 }
3868
3869 // NatSetMssClamping defines message 'nat_set_mss_clamping'.
3870 type NatSetMssClamping struct {
3871         MssValue uint16 `binapi:"u16,name=mss_value" json:"mss_value,omitempty"`
3872         Enable   bool   `binapi:"bool,name=enable" json:"enable,omitempty"`
3873 }
3874
3875 func (m *NatSetMssClamping) Reset()               { *m = NatSetMssClamping{} }
3876 func (*NatSetMssClamping) GetMessageName() string { return "nat_set_mss_clamping" }
3877 func (*NatSetMssClamping) GetCrcString() string   { return "25e90abb" }
3878 func (*NatSetMssClamping) GetMessageType() api.MessageType {
3879         return api.RequestMessage
3880 }
3881
3882 func (m *NatSetMssClamping) Size() (size int) {
3883         if m == nil {
3884                 return 0
3885         }
3886         size += 2 // m.MssValue
3887         size += 1 // m.Enable
3888         return size
3889 }
3890 func (m *NatSetMssClamping) Marshal(b []byte) ([]byte, error) {
3891         if b == nil {
3892                 b = make([]byte, m.Size())
3893         }
3894         buf := codec.NewBuffer(b)
3895         buf.EncodeUint16(m.MssValue)
3896         buf.EncodeBool(m.Enable)
3897         return buf.Bytes(), nil
3898 }
3899 func (m *NatSetMssClamping) Unmarshal(b []byte) error {
3900         buf := codec.NewBuffer(b)
3901         m.MssValue = buf.DecodeUint16()
3902         m.Enable = buf.DecodeBool()
3903         return nil
3904 }
3905
3906 // NatSetMssClampingReply defines message 'nat_set_mss_clamping_reply'.
3907 type NatSetMssClampingReply struct {
3908         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3909 }
3910
3911 func (m *NatSetMssClampingReply) Reset()               { *m = NatSetMssClampingReply{} }
3912 func (*NatSetMssClampingReply) GetMessageName() string { return "nat_set_mss_clamping_reply" }
3913 func (*NatSetMssClampingReply) GetCrcString() string   { return "e8d4e804" }
3914 func (*NatSetMssClampingReply) GetMessageType() api.MessageType {
3915         return api.ReplyMessage
3916 }
3917
3918 func (m *NatSetMssClampingReply) Size() (size int) {
3919         if m == nil {
3920                 return 0
3921         }
3922         size += 4 // m.Retval
3923         return size
3924 }
3925 func (m *NatSetMssClampingReply) Marshal(b []byte) ([]byte, error) {
3926         if b == nil {
3927                 b = make([]byte, m.Size())
3928         }
3929         buf := codec.NewBuffer(b)
3930         buf.EncodeInt32(m.Retval)
3931         return buf.Bytes(), nil
3932 }
3933 func (m *NatSetMssClampingReply) Unmarshal(b []byte) error {
3934         buf := codec.NewBuffer(b)
3935         m.Retval = buf.DecodeInt32()
3936         return nil
3937 }
3938
3939 // NatSetTimeouts defines message 'nat_set_timeouts'.
3940 // Deprecated: the message will be removed in the future versions
3941 type NatSetTimeouts struct {
3942         UDP            uint32 `binapi:"u32,name=udp" json:"udp,omitempty"`
3943         TCPEstablished uint32 `binapi:"u32,name=tcp_established" json:"tcp_established,omitempty"`
3944         TCPTransitory  uint32 `binapi:"u32,name=tcp_transitory" json:"tcp_transitory,omitempty"`
3945         ICMP           uint32 `binapi:"u32,name=icmp" json:"icmp,omitempty"`
3946 }
3947
3948 func (m *NatSetTimeouts) Reset()               { *m = NatSetTimeouts{} }
3949 func (*NatSetTimeouts) GetMessageName() string { return "nat_set_timeouts" }
3950 func (*NatSetTimeouts) GetCrcString() string   { return "d4746b16" }
3951 func (*NatSetTimeouts) GetMessageType() api.MessageType {
3952         return api.RequestMessage
3953 }
3954
3955 func (m *NatSetTimeouts) Size() (size int) {
3956         if m == nil {
3957                 return 0
3958         }
3959         size += 4 // m.UDP
3960         size += 4 // m.TCPEstablished
3961         size += 4 // m.TCPTransitory
3962         size += 4 // m.ICMP
3963         return size
3964 }
3965 func (m *NatSetTimeouts) Marshal(b []byte) ([]byte, error) {
3966         if b == nil {
3967                 b = make([]byte, m.Size())
3968         }
3969         buf := codec.NewBuffer(b)
3970         buf.EncodeUint32(m.UDP)
3971         buf.EncodeUint32(m.TCPEstablished)
3972         buf.EncodeUint32(m.TCPTransitory)
3973         buf.EncodeUint32(m.ICMP)
3974         return buf.Bytes(), nil
3975 }
3976 func (m *NatSetTimeouts) Unmarshal(b []byte) error {
3977         buf := codec.NewBuffer(b)
3978         m.UDP = buf.DecodeUint32()
3979         m.TCPEstablished = buf.DecodeUint32()
3980         m.TCPTransitory = buf.DecodeUint32()
3981         m.ICMP = buf.DecodeUint32()
3982         return nil
3983 }
3984
3985 // NatSetTimeoutsReply defines message 'nat_set_timeouts_reply'.
3986 // Deprecated: the message will be removed in the future versions
3987 type NatSetTimeoutsReply struct {
3988         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3989 }
3990
3991 func (m *NatSetTimeoutsReply) Reset()               { *m = NatSetTimeoutsReply{} }
3992 func (*NatSetTimeoutsReply) GetMessageName() string { return "nat_set_timeouts_reply" }
3993 func (*NatSetTimeoutsReply) GetCrcString() string   { return "e8d4e804" }
3994 func (*NatSetTimeoutsReply) GetMessageType() api.MessageType {
3995         return api.ReplyMessage
3996 }
3997
3998 func (m *NatSetTimeoutsReply) Size() (size int) {
3999         if m == nil {
4000                 return 0
4001         }
4002         size += 4 // m.Retval
4003         return size
4004 }
4005 func (m *NatSetTimeoutsReply) Marshal(b []byte) ([]byte, error) {
4006         if b == nil {
4007                 b = make([]byte, m.Size())
4008         }
4009         buf := codec.NewBuffer(b)
4010         buf.EncodeInt32(m.Retval)
4011         return buf.Bytes(), nil
4012 }
4013 func (m *NatSetTimeoutsReply) Unmarshal(b []byte) error {
4014         buf := codec.NewBuffer(b)
4015         m.Retval = buf.DecodeInt32()
4016         return nil
4017 }
4018
4019 // NatSetWorkers defines message 'nat_set_workers'.
4020 type NatSetWorkers struct {
4021         WorkerMask uint64 `binapi:"u64,name=worker_mask" json:"worker_mask,omitempty"`
4022 }
4023
4024 func (m *NatSetWorkers) Reset()               { *m = NatSetWorkers{} }
4025 func (*NatSetWorkers) GetMessageName() string { return "nat_set_workers" }
4026 func (*NatSetWorkers) GetCrcString() string   { return "da926638" }
4027 func (*NatSetWorkers) GetMessageType() api.MessageType {
4028         return api.RequestMessage
4029 }
4030
4031 func (m *NatSetWorkers) Size() (size int) {
4032         if m == nil {
4033                 return 0
4034         }
4035         size += 8 // m.WorkerMask
4036         return size
4037 }
4038 func (m *NatSetWorkers) Marshal(b []byte) ([]byte, error) {
4039         if b == nil {
4040                 b = make([]byte, m.Size())
4041         }
4042         buf := codec.NewBuffer(b)
4043         buf.EncodeUint64(m.WorkerMask)
4044         return buf.Bytes(), nil
4045 }
4046 func (m *NatSetWorkers) Unmarshal(b []byte) error {
4047         buf := codec.NewBuffer(b)
4048         m.WorkerMask = buf.DecodeUint64()
4049         return nil
4050 }
4051
4052 // NatSetWorkersReply defines message 'nat_set_workers_reply'.
4053 type NatSetWorkersReply struct {
4054         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4055 }
4056
4057 func (m *NatSetWorkersReply) Reset()               { *m = NatSetWorkersReply{} }
4058 func (*NatSetWorkersReply) GetMessageName() string { return "nat_set_workers_reply" }
4059 func (*NatSetWorkersReply) GetCrcString() string   { return "e8d4e804" }
4060 func (*NatSetWorkersReply) GetMessageType() api.MessageType {
4061         return api.ReplyMessage
4062 }
4063
4064 func (m *NatSetWorkersReply) Size() (size int) {
4065         if m == nil {
4066                 return 0
4067         }
4068         size += 4 // m.Retval
4069         return size
4070 }
4071 func (m *NatSetWorkersReply) Marshal(b []byte) ([]byte, error) {
4072         if b == nil {
4073                 b = make([]byte, m.Size())
4074         }
4075         buf := codec.NewBuffer(b)
4076         buf.EncodeInt32(m.Retval)
4077         return buf.Bytes(), nil
4078 }
4079 func (m *NatSetWorkersReply) Unmarshal(b []byte) error {
4080         buf := codec.NewBuffer(b)
4081         m.Retval = buf.DecodeInt32()
4082         return nil
4083 }
4084
4085 // NatShowConfig defines message 'nat_show_config'.
4086 // Deprecated: the message will be removed in the future versions
4087 type NatShowConfig struct{}
4088
4089 func (m *NatShowConfig) Reset()               { *m = NatShowConfig{} }
4090 func (*NatShowConfig) GetMessageName() string { return "nat_show_config" }
4091 func (*NatShowConfig) GetCrcString() string   { return "51077d14" }
4092 func (*NatShowConfig) GetMessageType() api.MessageType {
4093         return api.RequestMessage
4094 }
4095
4096 func (m *NatShowConfig) Size() (size int) {
4097         if m == nil {
4098                 return 0
4099         }
4100         return size
4101 }
4102 func (m *NatShowConfig) Marshal(b []byte) ([]byte, error) {
4103         if b == nil {
4104                 b = make([]byte, m.Size())
4105         }
4106         buf := codec.NewBuffer(b)
4107         return buf.Bytes(), nil
4108 }
4109 func (m *NatShowConfig) Unmarshal(b []byte) error {
4110         return nil
4111 }
4112
4113 // NatShowConfig2 defines message 'nat_show_config_2'.
4114 // Deprecated: the message will be removed in the future versions
4115 type NatShowConfig2 struct{}
4116
4117 func (m *NatShowConfig2) Reset()               { *m = NatShowConfig2{} }
4118 func (*NatShowConfig2) GetMessageName() string { return "nat_show_config_2" }
4119 func (*NatShowConfig2) GetCrcString() string   { return "51077d14" }
4120 func (*NatShowConfig2) GetMessageType() api.MessageType {
4121         return api.RequestMessage
4122 }
4123
4124 func (m *NatShowConfig2) Size() (size int) {
4125         if m == nil {
4126                 return 0
4127         }
4128         return size
4129 }
4130 func (m *NatShowConfig2) Marshal(b []byte) ([]byte, error) {
4131         if b == nil {
4132                 b = make([]byte, m.Size())
4133         }
4134         buf := codec.NewBuffer(b)
4135         return buf.Bytes(), nil
4136 }
4137 func (m *NatShowConfig2) Unmarshal(b []byte) error {
4138         return nil
4139 }
4140
4141 // NatShowConfig2Reply defines message 'nat_show_config_2_reply'.
4142 // Deprecated: the message will be removed in the future versions
4143 type NatShowConfig2Reply struct {
4144         Retval                          int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
4145         StaticMappingOnly               bool   `binapi:"bool,name=static_mapping_only" json:"static_mapping_only,omitempty"`
4146         StaticMappingConnectionTracking bool   `binapi:"bool,name=static_mapping_connection_tracking" json:"static_mapping_connection_tracking,omitempty"`
4147         Deterministic                   bool   `binapi:"bool,name=deterministic" json:"deterministic,omitempty"`
4148         EndpointDependent               bool   `binapi:"bool,name=endpoint_dependent" json:"endpoint_dependent,omitempty"`
4149         Out2inDpo                       bool   `binapi:"bool,name=out2in_dpo" json:"out2in_dpo,omitempty"`
4150         DsliteCe                        bool   `binapi:"bool,name=dslite_ce" json:"dslite_ce,omitempty"`
4151         TranslationBuckets              uint32 `binapi:"u32,name=translation_buckets" json:"translation_buckets,omitempty"`
4152         TranslationMemorySize           uint64 `binapi:"u64,name=translation_memory_size" json:"translation_memory_size,omitempty"`
4153         UserBuckets                     uint32 `binapi:"u32,name=user_buckets" json:"user_buckets,omitempty"`
4154         UserMemorySize                  uint64 `binapi:"u64,name=user_memory_size" json:"user_memory_size,omitempty"`
4155         MaxTranslationsPerUser          uint32 `binapi:"u32,name=max_translations_per_user" json:"max_translations_per_user,omitempty"`
4156         OutsideVrfID                    uint32 `binapi:"u32,name=outside_vrf_id" json:"outside_vrf_id,omitempty"`
4157         InsideVrfID                     uint32 `binapi:"u32,name=inside_vrf_id" json:"inside_vrf_id,omitempty"`
4158         Nat64BibBuckets                 uint32 `binapi:"u32,name=nat64_bib_buckets" json:"nat64_bib_buckets,omitempty"`
4159         Nat64BibMemorySize              uint64 `binapi:"u64,name=nat64_bib_memory_size" json:"nat64_bib_memory_size,omitempty"`
4160         Nat64StBuckets                  uint32 `binapi:"u32,name=nat64_st_buckets" json:"nat64_st_buckets,omitempty"`
4161         Nat64StMemorySize               uint64 `binapi:"u64,name=nat64_st_memory_size" json:"nat64_st_memory_size,omitempty"`
4162         MaxTranslationsPerThread        uint32 `binapi:"u32,name=max_translations_per_thread" json:"max_translations_per_thread,omitempty"`
4163         MaxUsersPerThread               uint32 `binapi:"u32,name=max_users_per_thread" json:"max_users_per_thread,omitempty"`
4164 }
4165
4166 func (m *NatShowConfig2Reply) Reset()               { *m = NatShowConfig2Reply{} }
4167 func (*NatShowConfig2Reply) GetMessageName() string { return "nat_show_config_2_reply" }
4168 func (*NatShowConfig2Reply) GetCrcString() string   { return "0404a5b4" }
4169 func (*NatShowConfig2Reply) GetMessageType() api.MessageType {
4170         return api.ReplyMessage
4171 }
4172
4173 func (m *NatShowConfig2Reply) Size() (size int) {
4174         if m == nil {
4175                 return 0
4176         }
4177         size += 4 // m.Retval
4178         size += 1 // m.StaticMappingOnly
4179         size += 1 // m.StaticMappingConnectionTracking
4180         size += 1 // m.Deterministic
4181         size += 1 // m.EndpointDependent
4182         size += 1 // m.Out2inDpo
4183         size += 1 // m.DsliteCe
4184         size += 4 // m.TranslationBuckets
4185         size += 8 // m.TranslationMemorySize
4186         size += 4 // m.UserBuckets
4187         size += 8 // m.UserMemorySize
4188         size += 4 // m.MaxTranslationsPerUser
4189         size += 4 // m.OutsideVrfID
4190         size += 4 // m.InsideVrfID
4191         size += 4 // m.Nat64BibBuckets
4192         size += 8 // m.Nat64BibMemorySize
4193         size += 4 // m.Nat64StBuckets
4194         size += 8 // m.Nat64StMemorySize
4195         size += 4 // m.MaxTranslationsPerThread
4196         size += 4 // m.MaxUsersPerThread
4197         return size
4198 }
4199 func (m *NatShowConfig2Reply) Marshal(b []byte) ([]byte, error) {
4200         if b == nil {
4201                 b = make([]byte, m.Size())
4202         }
4203         buf := codec.NewBuffer(b)
4204         buf.EncodeInt32(m.Retval)
4205         buf.EncodeBool(m.StaticMappingOnly)
4206         buf.EncodeBool(m.StaticMappingConnectionTracking)
4207         buf.EncodeBool(m.Deterministic)
4208         buf.EncodeBool(m.EndpointDependent)
4209         buf.EncodeBool(m.Out2inDpo)
4210         buf.EncodeBool(m.DsliteCe)
4211         buf.EncodeUint32(m.TranslationBuckets)
4212         buf.EncodeUint64(m.TranslationMemorySize)
4213         buf.EncodeUint32(m.UserBuckets)
4214         buf.EncodeUint64(m.UserMemorySize)
4215         buf.EncodeUint32(m.MaxTranslationsPerUser)
4216         buf.EncodeUint32(m.OutsideVrfID)
4217         buf.EncodeUint32(m.InsideVrfID)
4218         buf.EncodeUint32(m.Nat64BibBuckets)
4219         buf.EncodeUint64(m.Nat64BibMemorySize)
4220         buf.EncodeUint32(m.Nat64StBuckets)
4221         buf.EncodeUint64(m.Nat64StMemorySize)
4222         buf.EncodeUint32(m.MaxTranslationsPerThread)
4223         buf.EncodeUint32(m.MaxUsersPerThread)
4224         return buf.Bytes(), nil
4225 }
4226 func (m *NatShowConfig2Reply) Unmarshal(b []byte) error {
4227         buf := codec.NewBuffer(b)
4228         m.Retval = buf.DecodeInt32()
4229         m.StaticMappingOnly = buf.DecodeBool()
4230         m.StaticMappingConnectionTracking = buf.DecodeBool()
4231         m.Deterministic = buf.DecodeBool()
4232         m.EndpointDependent = buf.DecodeBool()
4233         m.Out2inDpo = buf.DecodeBool()
4234         m.DsliteCe = buf.DecodeBool()
4235         m.TranslationBuckets = buf.DecodeUint32()
4236         m.TranslationMemorySize = buf.DecodeUint64()
4237         m.UserBuckets = buf.DecodeUint32()
4238         m.UserMemorySize = buf.DecodeUint64()
4239         m.MaxTranslationsPerUser = buf.DecodeUint32()
4240         m.OutsideVrfID = buf.DecodeUint32()
4241         m.InsideVrfID = buf.DecodeUint32()
4242         m.Nat64BibBuckets = buf.DecodeUint32()
4243         m.Nat64BibMemorySize = buf.DecodeUint64()
4244         m.Nat64StBuckets = buf.DecodeUint32()
4245         m.Nat64StMemorySize = buf.DecodeUint64()
4246         m.MaxTranslationsPerThread = buf.DecodeUint32()
4247         m.MaxUsersPerThread = buf.DecodeUint32()
4248         return nil
4249 }
4250
4251 // NatShowConfigReply defines message 'nat_show_config_reply'.
4252 // Deprecated: the message will be removed in the future versions
4253 type NatShowConfigReply struct {
4254         Retval                          int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
4255         StaticMappingOnly               bool   `binapi:"bool,name=static_mapping_only" json:"static_mapping_only,omitempty"`
4256         StaticMappingConnectionTracking bool   `binapi:"bool,name=static_mapping_connection_tracking" json:"static_mapping_connection_tracking,omitempty"`
4257         Deterministic                   bool   `binapi:"bool,name=deterministic" json:"deterministic,omitempty"`
4258         EndpointDependent               bool   `binapi:"bool,name=endpoint_dependent" json:"endpoint_dependent,omitempty"`
4259         Out2inDpo                       bool   `binapi:"bool,name=out2in_dpo" json:"out2in_dpo,omitempty"`
4260         DsliteCe                        bool   `binapi:"bool,name=dslite_ce" json:"dslite_ce,omitempty"`
4261         TranslationBuckets              uint32 `binapi:"u32,name=translation_buckets" json:"translation_buckets,omitempty"`
4262         TranslationMemorySize           uint32 `binapi:"u32,name=translation_memory_size" json:"translation_memory_size,omitempty"`
4263         UserBuckets                     uint32 `binapi:"u32,name=user_buckets" json:"user_buckets,omitempty"`
4264         UserMemorySize                  uint64 `binapi:"u64,name=user_memory_size" json:"user_memory_size,omitempty"`
4265         MaxTranslationsPerUser          uint32 `binapi:"u32,name=max_translations_per_user" json:"max_translations_per_user,omitempty"`
4266         OutsideVrfID                    uint32 `binapi:"u32,name=outside_vrf_id" json:"outside_vrf_id,omitempty"`
4267         InsideVrfID                     uint32 `binapi:"u32,name=inside_vrf_id" json:"inside_vrf_id,omitempty"`
4268         Nat64BibBuckets                 uint32 `binapi:"u32,name=nat64_bib_buckets" json:"nat64_bib_buckets,omitempty"`
4269         Nat64BibMemorySize              uint64 `binapi:"u64,name=nat64_bib_memory_size" json:"nat64_bib_memory_size,omitempty"`
4270         Nat64StBuckets                  uint32 `binapi:"u32,name=nat64_st_buckets" json:"nat64_st_buckets,omitempty"`
4271         Nat64StMemorySize               uint64 `binapi:"u64,name=nat64_st_memory_size" json:"nat64_st_memory_size,omitempty"`
4272 }
4273
4274 func (m *NatShowConfigReply) Reset()               { *m = NatShowConfigReply{} }
4275 func (*NatShowConfigReply) GetMessageName() string { return "nat_show_config_reply" }
4276 func (*NatShowConfigReply) GetCrcString() string   { return "7903ef06" }
4277 func (*NatShowConfigReply) GetMessageType() api.MessageType {
4278         return api.ReplyMessage
4279 }
4280
4281 func (m *NatShowConfigReply) Size() (size int) {
4282         if m == nil {
4283                 return 0
4284         }
4285         size += 4 // m.Retval
4286         size += 1 // m.StaticMappingOnly
4287         size += 1 // m.StaticMappingConnectionTracking
4288         size += 1 // m.Deterministic
4289         size += 1 // m.EndpointDependent
4290         size += 1 // m.Out2inDpo
4291         size += 1 // m.DsliteCe
4292         size += 4 // m.TranslationBuckets
4293         size += 4 // m.TranslationMemorySize
4294         size += 4 // m.UserBuckets
4295         size += 8 // m.UserMemorySize
4296         size += 4 // m.MaxTranslationsPerUser
4297         size += 4 // m.OutsideVrfID
4298         size += 4 // m.InsideVrfID
4299         size += 4 // m.Nat64BibBuckets
4300         size += 8 // m.Nat64BibMemorySize
4301         size += 4 // m.Nat64StBuckets
4302         size += 8 // m.Nat64StMemorySize
4303         return size
4304 }
4305 func (m *NatShowConfigReply) Marshal(b []byte) ([]byte, error) {
4306         if b == nil {
4307                 b = make([]byte, m.Size())
4308         }
4309         buf := codec.NewBuffer(b)
4310         buf.EncodeInt32(m.Retval)
4311         buf.EncodeBool(m.StaticMappingOnly)
4312         buf.EncodeBool(m.StaticMappingConnectionTracking)
4313         buf.EncodeBool(m.Deterministic)
4314         buf.EncodeBool(m.EndpointDependent)
4315         buf.EncodeBool(m.Out2inDpo)
4316         buf.EncodeBool(m.DsliteCe)
4317         buf.EncodeUint32(m.TranslationBuckets)
4318         buf.EncodeUint32(m.TranslationMemorySize)
4319         buf.EncodeUint32(m.UserBuckets)
4320         buf.EncodeUint64(m.UserMemorySize)
4321         buf.EncodeUint32(m.MaxTranslationsPerUser)
4322         buf.EncodeUint32(m.OutsideVrfID)
4323         buf.EncodeUint32(m.InsideVrfID)
4324         buf.EncodeUint32(m.Nat64BibBuckets)
4325         buf.EncodeUint64(m.Nat64BibMemorySize)
4326         buf.EncodeUint32(m.Nat64StBuckets)
4327         buf.EncodeUint64(m.Nat64StMemorySize)
4328         return buf.Bytes(), nil
4329 }
4330 func (m *NatShowConfigReply) Unmarshal(b []byte) error {
4331         buf := codec.NewBuffer(b)
4332         m.Retval = buf.DecodeInt32()
4333         m.StaticMappingOnly = buf.DecodeBool()
4334         m.StaticMappingConnectionTracking = buf.DecodeBool()
4335         m.Deterministic = buf.DecodeBool()
4336         m.EndpointDependent = buf.DecodeBool()
4337         m.Out2inDpo = buf.DecodeBool()
4338         m.DsliteCe = buf.DecodeBool()
4339         m.TranslationBuckets = buf.DecodeUint32()
4340         m.TranslationMemorySize = buf.DecodeUint32()
4341         m.UserBuckets = buf.DecodeUint32()
4342         m.UserMemorySize = buf.DecodeUint64()
4343         m.MaxTranslationsPerUser = buf.DecodeUint32()
4344         m.OutsideVrfID = buf.DecodeUint32()
4345         m.InsideVrfID = buf.DecodeUint32()
4346         m.Nat64BibBuckets = buf.DecodeUint32()
4347         m.Nat64BibMemorySize = buf.DecodeUint64()
4348         m.Nat64StBuckets = buf.DecodeUint32()
4349         m.Nat64StMemorySize = buf.DecodeUint64()
4350         return nil
4351 }
4352
4353 // NatWorkerDetails defines message 'nat_worker_details'.
4354 type NatWorkerDetails struct {
4355         WorkerIndex uint32 `binapi:"u32,name=worker_index" json:"worker_index,omitempty"`
4356         LcoreID     uint32 `binapi:"u32,name=lcore_id" json:"lcore_id,omitempty"`
4357         Name        string `binapi:"string[64],name=name" json:"name,omitempty"`
4358 }
4359
4360 func (m *NatWorkerDetails) Reset()               { *m = NatWorkerDetails{} }
4361 func (*NatWorkerDetails) GetMessageName() string { return "nat_worker_details" }
4362 func (*NatWorkerDetails) GetCrcString() string   { return "84bf06fc" }
4363 func (*NatWorkerDetails) GetMessageType() api.MessageType {
4364         return api.ReplyMessage
4365 }
4366
4367 func (m *NatWorkerDetails) Size() (size int) {
4368         if m == nil {
4369                 return 0
4370         }
4371         size += 4  // m.WorkerIndex
4372         size += 4  // m.LcoreID
4373         size += 64 // m.Name
4374         return size
4375 }
4376 func (m *NatWorkerDetails) Marshal(b []byte) ([]byte, error) {
4377         if b == nil {
4378                 b = make([]byte, m.Size())
4379         }
4380         buf := codec.NewBuffer(b)
4381         buf.EncodeUint32(m.WorkerIndex)
4382         buf.EncodeUint32(m.LcoreID)
4383         buf.EncodeString(m.Name, 64)
4384         return buf.Bytes(), nil
4385 }
4386 func (m *NatWorkerDetails) Unmarshal(b []byte) error {
4387         buf := codec.NewBuffer(b)
4388         m.WorkerIndex = buf.DecodeUint32()
4389         m.LcoreID = buf.DecodeUint32()
4390         m.Name = buf.DecodeString(64)
4391         return nil
4392 }
4393
4394 // NatWorkerDump defines message 'nat_worker_dump'.
4395 type NatWorkerDump struct{}
4396
4397 func (m *NatWorkerDump) Reset()               { *m = NatWorkerDump{} }
4398 func (*NatWorkerDump) GetMessageName() string { return "nat_worker_dump" }
4399 func (*NatWorkerDump) GetCrcString() string   { return "51077d14" }
4400 func (*NatWorkerDump) GetMessageType() api.MessageType {
4401         return api.RequestMessage
4402 }
4403
4404 func (m *NatWorkerDump) Size() (size int) {
4405         if m == nil {
4406                 return 0
4407         }
4408         return size
4409 }
4410 func (m *NatWorkerDump) Marshal(b []byte) ([]byte, error) {
4411         if b == nil {
4412                 b = make([]byte, m.Size())
4413         }
4414         buf := codec.NewBuffer(b)
4415         return buf.Bytes(), nil
4416 }
4417 func (m *NatWorkerDump) Unmarshal(b []byte) error {
4418         return nil
4419 }
4420
4421 func init() { file_nat44_ed_binapi_init() }
4422 func file_nat44_ed_binapi_init() {
4423         api.RegisterMessage((*Nat44AddDelAddressRange)(nil), "nat44_add_del_address_range_6f2b8055")
4424         api.RegisterMessage((*Nat44AddDelAddressRangeReply)(nil), "nat44_add_del_address_range_reply_e8d4e804")
4425         api.RegisterMessage((*Nat44AddDelIdentityMapping)(nil), "nat44_add_del_identity_mapping_02faaa22")
4426         api.RegisterMessage((*Nat44AddDelIdentityMappingReply)(nil), "nat44_add_del_identity_mapping_reply_e8d4e804")
4427         api.RegisterMessage((*Nat44AddDelInterfaceAddr)(nil), "nat44_add_del_interface_addr_4aed50c0")
4428         api.RegisterMessage((*Nat44AddDelInterfaceAddrReply)(nil), "nat44_add_del_interface_addr_reply_e8d4e804")
4429         api.RegisterMessage((*Nat44AddDelLbStaticMapping)(nil), "nat44_add_del_lb_static_mapping_4f68ee9d")
4430         api.RegisterMessage((*Nat44AddDelLbStaticMappingReply)(nil), "nat44_add_del_lb_static_mapping_reply_e8d4e804")
4431         api.RegisterMessage((*Nat44AddDelStaticMapping)(nil), "nat44_add_del_static_mapping_5ae5f03e")
4432         api.RegisterMessage((*Nat44AddDelStaticMappingReply)(nil), "nat44_add_del_static_mapping_reply_e8d4e804")
4433         api.RegisterMessage((*Nat44AddDelStaticMappingV2)(nil), "nat44_add_del_static_mapping_v2_5e205f1a")
4434         api.RegisterMessage((*Nat44AddDelStaticMappingV2Reply)(nil), "nat44_add_del_static_mapping_v2_reply_e8d4e804")
4435         api.RegisterMessage((*Nat44AddressDetails)(nil), "nat44_address_details_0d1beac1")
4436         api.RegisterMessage((*Nat44AddressDump)(nil), "nat44_address_dump_51077d14")
4437         api.RegisterMessage((*Nat44DelSession)(nil), "nat44_del_session_15a5bf8c")
4438         api.RegisterMessage((*Nat44DelSessionReply)(nil), "nat44_del_session_reply_e8d4e804")
4439         api.RegisterMessage((*Nat44DelUser)(nil), "nat44_del_user_99a9f998")
4440         api.RegisterMessage((*Nat44DelUserReply)(nil), "nat44_del_user_reply_e8d4e804")
4441         api.RegisterMessage((*Nat44EdAddDelOutputInterface)(nil), "nat44_ed_add_del_output_interface_47d6e753")
4442         api.RegisterMessage((*Nat44EdAddDelOutputInterfaceReply)(nil), "nat44_ed_add_del_output_interface_reply_e8d4e804")
4443         api.RegisterMessage((*Nat44EdOutputInterfaceDetails)(nil), "nat44_ed_output_interface_details_0b45011c")
4444         api.RegisterMessage((*Nat44EdOutputInterfaceGet)(nil), "nat44_ed_output_interface_get_f75ba505")
4445         api.RegisterMessage((*Nat44EdOutputInterfaceGetReply)(nil), "nat44_ed_output_interface_get_reply_53b48f5d")
4446         api.RegisterMessage((*Nat44EdPluginEnableDisable)(nil), "nat44_ed_plugin_enable_disable_be17f8dd")
4447         api.RegisterMessage((*Nat44EdPluginEnableDisableReply)(nil), "nat44_ed_plugin_enable_disable_reply_e8d4e804")
4448         api.RegisterMessage((*Nat44EdSetFqOptions)(nil), "nat44_ed_set_fq_options_2399bd71")
4449         api.RegisterMessage((*Nat44EdSetFqOptionsReply)(nil), "nat44_ed_set_fq_options_reply_e8d4e804")
4450         api.RegisterMessage((*Nat44EdShowFqOptions)(nil), "nat44_ed_show_fq_options_51077d14")
4451         api.RegisterMessage((*Nat44EdShowFqOptionsReply)(nil), "nat44_ed_show_fq_options_reply_7213b545")
4452         api.RegisterMessage((*Nat44ForwardingEnableDisable)(nil), "nat44_forwarding_enable_disable_b3e225d2")
4453         api.RegisterMessage((*Nat44ForwardingEnableDisableReply)(nil), "nat44_forwarding_enable_disable_reply_e8d4e804")
4454         api.RegisterMessage((*Nat44ForwardingIsEnabled)(nil), "nat44_forwarding_is_enabled_51077d14")
4455         api.RegisterMessage((*Nat44ForwardingIsEnabledReply)(nil), "nat44_forwarding_is_enabled_reply_46924a06")
4456         api.RegisterMessage((*Nat44IdentityMappingDetails)(nil), "nat44_identity_mapping_details_2a52a030")
4457         api.RegisterMessage((*Nat44IdentityMappingDump)(nil), "nat44_identity_mapping_dump_51077d14")
4458         api.RegisterMessage((*Nat44InterfaceAddDelFeature)(nil), "nat44_interface_add_del_feature_f3699b83")
4459         api.RegisterMessage((*Nat44InterfaceAddDelFeatureReply)(nil), "nat44_interface_add_del_feature_reply_e8d4e804")
4460         api.RegisterMessage((*Nat44InterfaceAddDelOutputFeature)(nil), "nat44_interface_add_del_output_feature_f3699b83")
4461         api.RegisterMessage((*Nat44InterfaceAddDelOutputFeatureReply)(nil), "nat44_interface_add_del_output_feature_reply_e8d4e804")
4462         api.RegisterMessage((*Nat44InterfaceAddrDetails)(nil), "nat44_interface_addr_details_e4aca9ca")
4463         api.RegisterMessage((*Nat44InterfaceAddrDump)(nil), "nat44_interface_addr_dump_51077d14")
4464         api.RegisterMessage((*Nat44InterfaceDetails)(nil), "nat44_interface_details_5d286289")
4465         api.RegisterMessage((*Nat44InterfaceDump)(nil), "nat44_interface_dump_51077d14")
4466         api.RegisterMessage((*Nat44InterfaceOutputFeatureDetails)(nil), "nat44_interface_output_feature_details_5d286289")
4467         api.RegisterMessage((*Nat44InterfaceOutputFeatureDump)(nil), "nat44_interface_output_feature_dump_51077d14")
4468         api.RegisterMessage((*Nat44LbStaticMappingAddDelLocal)(nil), "nat44_lb_static_mapping_add_del_local_7ca47547")
4469         api.RegisterMessage((*Nat44LbStaticMappingAddDelLocalReply)(nil), "nat44_lb_static_mapping_add_del_local_reply_e8d4e804")
4470         api.RegisterMessage((*Nat44LbStaticMappingDetails)(nil), "nat44_lb_static_mapping_details_ed5ce876")
4471         api.RegisterMessage((*Nat44LbStaticMappingDump)(nil), "nat44_lb_static_mapping_dump_51077d14")
4472         api.RegisterMessage((*Nat44PluginEnableDisable)(nil), "nat44_plugin_enable_disable_dea0d501")
4473         api.RegisterMessage((*Nat44PluginEnableDisableReply)(nil), "nat44_plugin_enable_disable_reply_e8d4e804")
4474         api.RegisterMessage((*Nat44SessionCleanup)(nil), "nat44_session_cleanup_51077d14")
4475         api.RegisterMessage((*Nat44SessionCleanupReply)(nil), "nat44_session_cleanup_reply_e8d4e804")
4476         api.RegisterMessage((*Nat44SetSessionLimit)(nil), "nat44_set_session_limit_8899bbb1")
4477         api.RegisterMessage((*Nat44SetSessionLimitReply)(nil), "nat44_set_session_limit_reply_e8d4e804")
4478         api.RegisterMessage((*Nat44ShowRunningConfig)(nil), "nat44_show_running_config_51077d14")
4479         api.RegisterMessage((*Nat44ShowRunningConfigReply)(nil), "nat44_show_running_config_reply_93d8e267")
4480         api.RegisterMessage((*Nat44StaticMappingDetails)(nil), "nat44_static_mapping_details_06cb40b2")
4481         api.RegisterMessage((*Nat44StaticMappingDump)(nil), "nat44_static_mapping_dump_51077d14")
4482         api.RegisterMessage((*Nat44UserDetails)(nil), "nat44_user_details_355896c2")
4483         api.RegisterMessage((*Nat44UserDump)(nil), "nat44_user_dump_51077d14")
4484         api.RegisterMessage((*Nat44UserSessionDetails)(nil), "nat44_user_session_details_2cf6e16d")
4485         api.RegisterMessage((*Nat44UserSessionDump)(nil), "nat44_user_session_dump_e1899c98")
4486         api.RegisterMessage((*Nat44UserSessionV2Details)(nil), "nat44_user_session_v2_details_fd42b729")
4487         api.RegisterMessage((*Nat44UserSessionV2Dump)(nil), "nat44_user_session_v2_dump_e1899c98")
4488         api.RegisterMessage((*NatControlPing)(nil), "nat_control_ping_51077d14")
4489         api.RegisterMessage((*NatControlPingReply)(nil), "nat_control_ping_reply_f6b0b8ca")
4490         api.RegisterMessage((*NatGetAddrAndPortAllocAlg)(nil), "nat_get_addr_and_port_alloc_alg_51077d14")
4491         api.RegisterMessage((*NatGetAddrAndPortAllocAlgReply)(nil), "nat_get_addr_and_port_alloc_alg_reply_3607a7d0")
4492         api.RegisterMessage((*NatGetMssClamping)(nil), "nat_get_mss_clamping_51077d14")
4493         api.RegisterMessage((*NatGetMssClampingReply)(nil), "nat_get_mss_clamping_reply_1c0b2a78")
4494         api.RegisterMessage((*NatGetTimeouts)(nil), "nat_get_timeouts_51077d14")
4495         api.RegisterMessage((*NatGetTimeoutsReply)(nil), "nat_get_timeouts_reply_3c4df4e1")
4496         api.RegisterMessage((*NatHaFlush)(nil), "nat_ha_flush_51077d14")
4497         api.RegisterMessage((*NatHaFlushReply)(nil), "nat_ha_flush_reply_e8d4e804")
4498         api.RegisterMessage((*NatHaGetFailover)(nil), "nat_ha_get_failover_51077d14")
4499         api.RegisterMessage((*NatHaGetFailoverReply)(nil), "nat_ha_get_failover_reply_a67d8752")
4500         api.RegisterMessage((*NatHaGetListener)(nil), "nat_ha_get_listener_51077d14")
4501         api.RegisterMessage((*NatHaGetListenerReply)(nil), "nat_ha_get_listener_reply_123ea41f")
4502         api.RegisterMessage((*NatHaResync)(nil), "nat_ha_resync_c8ab9e03")
4503         api.RegisterMessage((*NatHaResyncCompletedEvent)(nil), "nat_ha_resync_completed_event_fdc598fb")
4504         api.RegisterMessage((*NatHaResyncReply)(nil), "nat_ha_resync_reply_e8d4e804")
4505         api.RegisterMessage((*NatHaSetFailover)(nil), "nat_ha_set_failover_718246af")
4506         api.RegisterMessage((*NatHaSetFailoverReply)(nil), "nat_ha_set_failover_reply_e8d4e804")
4507         api.RegisterMessage((*NatHaSetListener)(nil), "nat_ha_set_listener_e4a8cb4e")
4508         api.RegisterMessage((*NatHaSetListenerReply)(nil), "nat_ha_set_listener_reply_e8d4e804")
4509         api.RegisterMessage((*NatIpfixEnableDisable)(nil), "nat_ipfix_enable_disable_9af4a2d2")
4510         api.RegisterMessage((*NatIpfixEnableDisableReply)(nil), "nat_ipfix_enable_disable_reply_e8d4e804")
4511         api.RegisterMessage((*NatSetAddrAndPortAllocAlg)(nil), "nat_set_addr_and_port_alloc_alg_deeb746f")
4512         api.RegisterMessage((*NatSetAddrAndPortAllocAlgReply)(nil), "nat_set_addr_and_port_alloc_alg_reply_e8d4e804")
4513         api.RegisterMessage((*NatSetLogLevel)(nil), "nat_set_log_level_70076bfe")
4514         api.RegisterMessage((*NatSetLogLevelReply)(nil), "nat_set_log_level_reply_e8d4e804")
4515         api.RegisterMessage((*NatSetMssClamping)(nil), "nat_set_mss_clamping_25e90abb")
4516         api.RegisterMessage((*NatSetMssClampingReply)(nil), "nat_set_mss_clamping_reply_e8d4e804")
4517         api.RegisterMessage((*NatSetTimeouts)(nil), "nat_set_timeouts_d4746b16")
4518         api.RegisterMessage((*NatSetTimeoutsReply)(nil), "nat_set_timeouts_reply_e8d4e804")
4519         api.RegisterMessage((*NatSetWorkers)(nil), "nat_set_workers_da926638")
4520         api.RegisterMessage((*NatSetWorkersReply)(nil), "nat_set_workers_reply_e8d4e804")
4521         api.RegisterMessage((*NatShowConfig)(nil), "nat_show_config_51077d14")
4522         api.RegisterMessage((*NatShowConfig2)(nil), "nat_show_config_2_51077d14")
4523         api.RegisterMessage((*NatShowConfig2Reply)(nil), "nat_show_config_2_reply_0404a5b4")
4524         api.RegisterMessage((*NatShowConfigReply)(nil), "nat_show_config_reply_7903ef06")
4525         api.RegisterMessage((*NatWorkerDetails)(nil), "nat_worker_details_84bf06fc")
4526         api.RegisterMessage((*NatWorkerDump)(nil), "nat_worker_dump_51077d14")
4527 }
4528
4529 // Messages returns list of all messages in this module.
4530 func AllMessages() []api.Message {
4531         return []api.Message{
4532                 (*Nat44AddDelAddressRange)(nil),
4533                 (*Nat44AddDelAddressRangeReply)(nil),
4534                 (*Nat44AddDelIdentityMapping)(nil),
4535                 (*Nat44AddDelIdentityMappingReply)(nil),
4536                 (*Nat44AddDelInterfaceAddr)(nil),
4537                 (*Nat44AddDelInterfaceAddrReply)(nil),
4538                 (*Nat44AddDelLbStaticMapping)(nil),
4539                 (*Nat44AddDelLbStaticMappingReply)(nil),
4540                 (*Nat44AddDelStaticMapping)(nil),
4541                 (*Nat44AddDelStaticMappingReply)(nil),
4542                 (*Nat44AddDelStaticMappingV2)(nil),
4543                 (*Nat44AddDelStaticMappingV2Reply)(nil),
4544                 (*Nat44AddressDetails)(nil),
4545                 (*Nat44AddressDump)(nil),
4546                 (*Nat44DelSession)(nil),
4547                 (*Nat44DelSessionReply)(nil),
4548                 (*Nat44DelUser)(nil),
4549                 (*Nat44DelUserReply)(nil),
4550                 (*Nat44EdAddDelOutputInterface)(nil),
4551                 (*Nat44EdAddDelOutputInterfaceReply)(nil),
4552                 (*Nat44EdOutputInterfaceDetails)(nil),
4553                 (*Nat44EdOutputInterfaceGet)(nil),
4554                 (*Nat44EdOutputInterfaceGetReply)(nil),
4555                 (*Nat44EdPluginEnableDisable)(nil),
4556                 (*Nat44EdPluginEnableDisableReply)(nil),
4557                 (*Nat44EdSetFqOptions)(nil),
4558                 (*Nat44EdSetFqOptionsReply)(nil),
4559                 (*Nat44EdShowFqOptions)(nil),
4560                 (*Nat44EdShowFqOptionsReply)(nil),
4561                 (*Nat44ForwardingEnableDisable)(nil),
4562                 (*Nat44ForwardingEnableDisableReply)(nil),
4563                 (*Nat44ForwardingIsEnabled)(nil),
4564                 (*Nat44ForwardingIsEnabledReply)(nil),
4565                 (*Nat44IdentityMappingDetails)(nil),
4566                 (*Nat44IdentityMappingDump)(nil),
4567                 (*Nat44InterfaceAddDelFeature)(nil),
4568                 (*Nat44InterfaceAddDelFeatureReply)(nil),
4569                 (*Nat44InterfaceAddDelOutputFeature)(nil),
4570                 (*Nat44InterfaceAddDelOutputFeatureReply)(nil),
4571                 (*Nat44InterfaceAddrDetails)(nil),
4572                 (*Nat44InterfaceAddrDump)(nil),
4573                 (*Nat44InterfaceDetails)(nil),
4574                 (*Nat44InterfaceDump)(nil),
4575                 (*Nat44InterfaceOutputFeatureDetails)(nil),
4576                 (*Nat44InterfaceOutputFeatureDump)(nil),
4577                 (*Nat44LbStaticMappingAddDelLocal)(nil),
4578                 (*Nat44LbStaticMappingAddDelLocalReply)(nil),
4579                 (*Nat44LbStaticMappingDetails)(nil),
4580                 (*Nat44LbStaticMappingDump)(nil),
4581                 (*Nat44PluginEnableDisable)(nil),
4582                 (*Nat44PluginEnableDisableReply)(nil),
4583                 (*Nat44SessionCleanup)(nil),
4584                 (*Nat44SessionCleanupReply)(nil),
4585                 (*Nat44SetSessionLimit)(nil),
4586                 (*Nat44SetSessionLimitReply)(nil),
4587                 (*Nat44ShowRunningConfig)(nil),
4588                 (*Nat44ShowRunningConfigReply)(nil),
4589                 (*Nat44StaticMappingDetails)(nil),
4590                 (*Nat44StaticMappingDump)(nil),
4591                 (*Nat44UserDetails)(nil),
4592                 (*Nat44UserDump)(nil),
4593                 (*Nat44UserSessionDetails)(nil),
4594                 (*Nat44UserSessionDump)(nil),
4595                 (*Nat44UserSessionV2Details)(nil),
4596                 (*Nat44UserSessionV2Dump)(nil),
4597                 (*NatControlPing)(nil),
4598                 (*NatControlPingReply)(nil),
4599                 (*NatGetAddrAndPortAllocAlg)(nil),
4600                 (*NatGetAddrAndPortAllocAlgReply)(nil),
4601                 (*NatGetMssClamping)(nil),
4602                 (*NatGetMssClampingReply)(nil),
4603                 (*NatGetTimeouts)(nil),
4604                 (*NatGetTimeoutsReply)(nil),
4605                 (*NatHaFlush)(nil),
4606                 (*NatHaFlushReply)(nil),
4607                 (*NatHaGetFailover)(nil),
4608                 (*NatHaGetFailoverReply)(nil),
4609                 (*NatHaGetListener)(nil),
4610                 (*NatHaGetListenerReply)(nil),
4611                 (*NatHaResync)(nil),
4612                 (*NatHaResyncCompletedEvent)(nil),
4613                 (*NatHaResyncReply)(nil),
4614                 (*NatHaSetFailover)(nil),
4615                 (*NatHaSetFailoverReply)(nil),
4616                 (*NatHaSetListener)(nil),
4617                 (*NatHaSetListenerReply)(nil),
4618                 (*NatIpfixEnableDisable)(nil),
4619                 (*NatIpfixEnableDisableReply)(nil),
4620                 (*NatSetAddrAndPortAllocAlg)(nil),
4621                 (*NatSetAddrAndPortAllocAlgReply)(nil),
4622                 (*NatSetLogLevel)(nil),
4623                 (*NatSetLogLevelReply)(nil),
4624                 (*NatSetMssClamping)(nil),
4625                 (*NatSetMssClampingReply)(nil),
4626                 (*NatSetTimeouts)(nil),
4627                 (*NatSetTimeoutsReply)(nil),
4628                 (*NatSetWorkers)(nil),
4629                 (*NatSetWorkersReply)(nil),
4630                 (*NatShowConfig)(nil),
4631                 (*NatShowConfig2)(nil),
4632                 (*NatShowConfig2Reply)(nil),
4633                 (*NatShowConfigReply)(nil),
4634                 (*NatWorkerDetails)(nil),
4635                 (*NatWorkerDump)(nil),
4636         }
4637 }