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