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