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