aa44f002bc9f9373c697311e3d83004b3ba8f484
[govpp.git] / binapi / ipip / ipip.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2 // versions:
3 //  binapi-generator: v0.4.0-dev
4 //  VPP:              20.05-release
5
6 // Package ipip contains generated bindings for API file ipip.api.
7 //
8 // Contents:
9 //   1 struct
10 //  10 messages
11 //
12 package ipip
13
14 import (
15         api "git.fd.io/govpp.git/api"
16         interface_types "git.fd.io/govpp.git/binapi/interface_types"
17         ip_types "git.fd.io/govpp.git/binapi/ip_types"
18         tunnel_types "git.fd.io/govpp.git/binapi/tunnel_types"
19         codec "git.fd.io/govpp.git/codec"
20 )
21
22 // This is a compile-time assertion to ensure that this generated file
23 // is compatible with the GoVPP api package it is being compiled against.
24 // A compilation error at this line likely means your copy of the
25 // GoVPP api package needs to be updated.
26 const _ = api.GoVppAPIPackageIsVersion2
27
28 const (
29         APIFile    = "ipip"
30         APIVersion = "2.0.1"
31         VersionCrc = 0xa095e728
32 )
33
34 // IpipTunnel defines type 'ipip_tunnel'.
35 type IpipTunnel struct {
36         Instance  uint32                             `binapi:"u32,name=instance" json:"instance,omitempty"`
37         Src       ip_types.Address                   `binapi:"address,name=src" json:"src,omitempty"`
38         Dst       ip_types.Address                   `binapi:"address,name=dst" json:"dst,omitempty"`
39         SwIfIndex interface_types.InterfaceIndex     `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
40         TableID   uint32                             `binapi:"u32,name=table_id" json:"table_id,omitempty"`
41         Flags     tunnel_types.TunnelEncapDecapFlags `binapi:"tunnel_encap_decap_flags,name=flags" json:"flags,omitempty"`
42         Mode      tunnel_types.TunnelMode            `binapi:"tunnel_mode,name=mode" json:"mode,omitempty"`
43         Dscp      ip_types.IPDscp                    `binapi:"ip_dscp,name=dscp" json:"dscp,omitempty"`
44 }
45
46 // Ipip6rdAddTunnel defines message 'ipip_6rd_add_tunnel'.
47 type Ipip6rdAddTunnel struct {
48         IP6TableID    uint32              `binapi:"u32,name=ip6_table_id" json:"ip6_table_id,omitempty"`
49         IP4TableID    uint32              `binapi:"u32,name=ip4_table_id" json:"ip4_table_id,omitempty"`
50         IP6Prefix     ip_types.IP6Prefix  `binapi:"ip6_prefix,name=ip6_prefix" json:"ip6_prefix,omitempty"`
51         IP4Prefix     ip_types.IP4Prefix  `binapi:"ip4_prefix,name=ip4_prefix" json:"ip4_prefix,omitempty"`
52         IP4Src        ip_types.IP4Address `binapi:"ip4_address,name=ip4_src" json:"ip4_src,omitempty"`
53         SecurityCheck bool                `binapi:"bool,name=security_check" json:"security_check,omitempty"`
54         TcTos         uint8               `binapi:"u8,name=tc_tos" json:"tc_tos,omitempty"`
55 }
56
57 func (m *Ipip6rdAddTunnel) Reset()               { *m = Ipip6rdAddTunnel{} }
58 func (*Ipip6rdAddTunnel) GetMessageName() string { return "ipip_6rd_add_tunnel" }
59 func (*Ipip6rdAddTunnel) GetCrcString() string   { return "56e93cc0" }
60 func (*Ipip6rdAddTunnel) GetMessageType() api.MessageType {
61         return api.RequestMessage
62 }
63
64 func (m *Ipip6rdAddTunnel) Size() (size int) {
65         if m == nil {
66                 return 0
67         }
68         size += 4      // m.IP6TableID
69         size += 4      // m.IP4TableID
70         size += 1 * 16 // m.IP6Prefix.Address
71         size += 1      // m.IP6Prefix.Len
72         size += 1 * 4  // m.IP4Prefix.Address
73         size += 1      // m.IP4Prefix.Len
74         size += 1 * 4  // m.IP4Src
75         size += 1      // m.SecurityCheck
76         size += 1      // m.TcTos
77         return size
78 }
79 func (m *Ipip6rdAddTunnel) Marshal(b []byte) ([]byte, error) {
80         if b == nil {
81                 b = make([]byte, m.Size())
82         }
83         buf := codec.NewBuffer(b)
84         buf.EncodeUint32(m.IP6TableID)
85         buf.EncodeUint32(m.IP4TableID)
86         buf.EncodeBytes(m.IP6Prefix.Address[:], 16)
87         buf.EncodeUint8(m.IP6Prefix.Len)
88         buf.EncodeBytes(m.IP4Prefix.Address[:], 4)
89         buf.EncodeUint8(m.IP4Prefix.Len)
90         buf.EncodeBytes(m.IP4Src[:], 4)
91         buf.EncodeBool(m.SecurityCheck)
92         buf.EncodeUint8(m.TcTos)
93         return buf.Bytes(), nil
94 }
95 func (m *Ipip6rdAddTunnel) Unmarshal(b []byte) error {
96         buf := codec.NewBuffer(b)
97         m.IP6TableID = buf.DecodeUint32()
98         m.IP4TableID = buf.DecodeUint32()
99         copy(m.IP6Prefix.Address[:], buf.DecodeBytes(16))
100         m.IP6Prefix.Len = buf.DecodeUint8()
101         copy(m.IP4Prefix.Address[:], buf.DecodeBytes(4))
102         m.IP4Prefix.Len = buf.DecodeUint8()
103         copy(m.IP4Src[:], buf.DecodeBytes(4))
104         m.SecurityCheck = buf.DecodeBool()
105         m.TcTos = buf.DecodeUint8()
106         return nil
107 }
108
109 // Ipip6rdAddTunnelReply defines message 'ipip_6rd_add_tunnel_reply'.
110 type Ipip6rdAddTunnelReply struct {
111         Retval    int32                          `binapi:"i32,name=retval" json:"retval,omitempty"`
112         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
113 }
114
115 func (m *Ipip6rdAddTunnelReply) Reset()               { *m = Ipip6rdAddTunnelReply{} }
116 func (*Ipip6rdAddTunnelReply) GetMessageName() string { return "ipip_6rd_add_tunnel_reply" }
117 func (*Ipip6rdAddTunnelReply) GetCrcString() string   { return "5383d31f" }
118 func (*Ipip6rdAddTunnelReply) GetMessageType() api.MessageType {
119         return api.ReplyMessage
120 }
121
122 func (m *Ipip6rdAddTunnelReply) Size() (size int) {
123         if m == nil {
124                 return 0
125         }
126         size += 4 // m.Retval
127         size += 4 // m.SwIfIndex
128         return size
129 }
130 func (m *Ipip6rdAddTunnelReply) Marshal(b []byte) ([]byte, error) {
131         if b == nil {
132                 b = make([]byte, m.Size())
133         }
134         buf := codec.NewBuffer(b)
135         buf.EncodeInt32(m.Retval)
136         buf.EncodeUint32(uint32(m.SwIfIndex))
137         return buf.Bytes(), nil
138 }
139 func (m *Ipip6rdAddTunnelReply) Unmarshal(b []byte) error {
140         buf := codec.NewBuffer(b)
141         m.Retval = buf.DecodeInt32()
142         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
143         return nil
144 }
145
146 // Ipip6rdDelTunnel defines message 'ipip_6rd_del_tunnel'.
147 type Ipip6rdDelTunnel struct {
148         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
149 }
150
151 func (m *Ipip6rdDelTunnel) Reset()               { *m = Ipip6rdDelTunnel{} }
152 func (*Ipip6rdDelTunnel) GetMessageName() string { return "ipip_6rd_del_tunnel" }
153 func (*Ipip6rdDelTunnel) GetCrcString() string   { return "f9e6675e" }
154 func (*Ipip6rdDelTunnel) GetMessageType() api.MessageType {
155         return api.RequestMessage
156 }
157
158 func (m *Ipip6rdDelTunnel) Size() (size int) {
159         if m == nil {
160                 return 0
161         }
162         size += 4 // m.SwIfIndex
163         return size
164 }
165 func (m *Ipip6rdDelTunnel) Marshal(b []byte) ([]byte, error) {
166         if b == nil {
167                 b = make([]byte, m.Size())
168         }
169         buf := codec.NewBuffer(b)
170         buf.EncodeUint32(uint32(m.SwIfIndex))
171         return buf.Bytes(), nil
172 }
173 func (m *Ipip6rdDelTunnel) Unmarshal(b []byte) error {
174         buf := codec.NewBuffer(b)
175         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
176         return nil
177 }
178
179 // Ipip6rdDelTunnelReply defines message 'ipip_6rd_del_tunnel_reply'.
180 type Ipip6rdDelTunnelReply struct {
181         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
182 }
183
184 func (m *Ipip6rdDelTunnelReply) Reset()               { *m = Ipip6rdDelTunnelReply{} }
185 func (*Ipip6rdDelTunnelReply) GetMessageName() string { return "ipip_6rd_del_tunnel_reply" }
186 func (*Ipip6rdDelTunnelReply) GetCrcString() string   { return "e8d4e804" }
187 func (*Ipip6rdDelTunnelReply) GetMessageType() api.MessageType {
188         return api.ReplyMessage
189 }
190
191 func (m *Ipip6rdDelTunnelReply) Size() (size int) {
192         if m == nil {
193                 return 0
194         }
195         size += 4 // m.Retval
196         return size
197 }
198 func (m *Ipip6rdDelTunnelReply) Marshal(b []byte) ([]byte, error) {
199         if b == nil {
200                 b = make([]byte, m.Size())
201         }
202         buf := codec.NewBuffer(b)
203         buf.EncodeInt32(m.Retval)
204         return buf.Bytes(), nil
205 }
206 func (m *Ipip6rdDelTunnelReply) Unmarshal(b []byte) error {
207         buf := codec.NewBuffer(b)
208         m.Retval = buf.DecodeInt32()
209         return nil
210 }
211
212 // IpipAddTunnel defines message 'ipip_add_tunnel'.
213 type IpipAddTunnel struct {
214         Tunnel IpipTunnel `binapi:"ipip_tunnel,name=tunnel" json:"tunnel,omitempty"`
215 }
216
217 func (m *IpipAddTunnel) Reset()               { *m = IpipAddTunnel{} }
218 func (*IpipAddTunnel) GetMessageName() string { return "ipip_add_tunnel" }
219 func (*IpipAddTunnel) GetCrcString() string   { return "a9decfcd" }
220 func (*IpipAddTunnel) GetMessageType() api.MessageType {
221         return api.RequestMessage
222 }
223
224 func (m *IpipAddTunnel) Size() (size int) {
225         if m == nil {
226                 return 0
227         }
228         size += 4      // m.Tunnel.Instance
229         size += 1      // m.Tunnel.Src.Af
230         size += 1 * 16 // m.Tunnel.Src.Un
231         size += 1      // m.Tunnel.Dst.Af
232         size += 1 * 16 // m.Tunnel.Dst.Un
233         size += 4      // m.Tunnel.SwIfIndex
234         size += 4      // m.Tunnel.TableID
235         size += 1      // m.Tunnel.Flags
236         size += 1      // m.Tunnel.Mode
237         size += 1      // m.Tunnel.Dscp
238         return size
239 }
240 func (m *IpipAddTunnel) Marshal(b []byte) ([]byte, error) {
241         if b == nil {
242                 b = make([]byte, m.Size())
243         }
244         buf := codec.NewBuffer(b)
245         buf.EncodeUint32(m.Tunnel.Instance)
246         buf.EncodeUint8(uint8(m.Tunnel.Src.Af))
247         buf.EncodeBytes(m.Tunnel.Src.Un.XXX_UnionData[:], 16)
248         buf.EncodeUint8(uint8(m.Tunnel.Dst.Af))
249         buf.EncodeBytes(m.Tunnel.Dst.Un.XXX_UnionData[:], 16)
250         buf.EncodeUint32(uint32(m.Tunnel.SwIfIndex))
251         buf.EncodeUint32(m.Tunnel.TableID)
252         buf.EncodeUint8(uint8(m.Tunnel.Flags))
253         buf.EncodeUint8(uint8(m.Tunnel.Mode))
254         buf.EncodeUint8(uint8(m.Tunnel.Dscp))
255         return buf.Bytes(), nil
256 }
257 func (m *IpipAddTunnel) Unmarshal(b []byte) error {
258         buf := codec.NewBuffer(b)
259         m.Tunnel.Instance = buf.DecodeUint32()
260         m.Tunnel.Src.Af = ip_types.AddressFamily(buf.DecodeUint8())
261         copy(m.Tunnel.Src.Un.XXX_UnionData[:], buf.DecodeBytes(16))
262         m.Tunnel.Dst.Af = ip_types.AddressFamily(buf.DecodeUint8())
263         copy(m.Tunnel.Dst.Un.XXX_UnionData[:], buf.DecodeBytes(16))
264         m.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
265         m.Tunnel.TableID = buf.DecodeUint32()
266         m.Tunnel.Flags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8())
267         m.Tunnel.Mode = tunnel_types.TunnelMode(buf.DecodeUint8())
268         m.Tunnel.Dscp = ip_types.IPDscp(buf.DecodeUint8())
269         return nil
270 }
271
272 // IpipAddTunnelReply defines message 'ipip_add_tunnel_reply'.
273 type IpipAddTunnelReply struct {
274         Retval    int32                          `binapi:"i32,name=retval" json:"retval,omitempty"`
275         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
276 }
277
278 func (m *IpipAddTunnelReply) Reset()               { *m = IpipAddTunnelReply{} }
279 func (*IpipAddTunnelReply) GetMessageName() string { return "ipip_add_tunnel_reply" }
280 func (*IpipAddTunnelReply) GetCrcString() string   { return "5383d31f" }
281 func (*IpipAddTunnelReply) GetMessageType() api.MessageType {
282         return api.ReplyMessage
283 }
284
285 func (m *IpipAddTunnelReply) Size() (size int) {
286         if m == nil {
287                 return 0
288         }
289         size += 4 // m.Retval
290         size += 4 // m.SwIfIndex
291         return size
292 }
293 func (m *IpipAddTunnelReply) Marshal(b []byte) ([]byte, error) {
294         if b == nil {
295                 b = make([]byte, m.Size())
296         }
297         buf := codec.NewBuffer(b)
298         buf.EncodeInt32(m.Retval)
299         buf.EncodeUint32(uint32(m.SwIfIndex))
300         return buf.Bytes(), nil
301 }
302 func (m *IpipAddTunnelReply) Unmarshal(b []byte) error {
303         buf := codec.NewBuffer(b)
304         m.Retval = buf.DecodeInt32()
305         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
306         return nil
307 }
308
309 // IpipDelTunnel defines message 'ipip_del_tunnel'.
310 type IpipDelTunnel struct {
311         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
312 }
313
314 func (m *IpipDelTunnel) Reset()               { *m = IpipDelTunnel{} }
315 func (*IpipDelTunnel) GetMessageName() string { return "ipip_del_tunnel" }
316 func (*IpipDelTunnel) GetCrcString() string   { return "f9e6675e" }
317 func (*IpipDelTunnel) GetMessageType() api.MessageType {
318         return api.RequestMessage
319 }
320
321 func (m *IpipDelTunnel) Size() (size int) {
322         if m == nil {
323                 return 0
324         }
325         size += 4 // m.SwIfIndex
326         return size
327 }
328 func (m *IpipDelTunnel) Marshal(b []byte) ([]byte, error) {
329         if b == nil {
330                 b = make([]byte, m.Size())
331         }
332         buf := codec.NewBuffer(b)
333         buf.EncodeUint32(uint32(m.SwIfIndex))
334         return buf.Bytes(), nil
335 }
336 func (m *IpipDelTunnel) Unmarshal(b []byte) error {
337         buf := codec.NewBuffer(b)
338         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
339         return nil
340 }
341
342 // IpipDelTunnelReply defines message 'ipip_del_tunnel_reply'.
343 type IpipDelTunnelReply struct {
344         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
345 }
346
347 func (m *IpipDelTunnelReply) Reset()               { *m = IpipDelTunnelReply{} }
348 func (*IpipDelTunnelReply) GetMessageName() string { return "ipip_del_tunnel_reply" }
349 func (*IpipDelTunnelReply) GetCrcString() string   { return "e8d4e804" }
350 func (*IpipDelTunnelReply) GetMessageType() api.MessageType {
351         return api.ReplyMessage
352 }
353
354 func (m *IpipDelTunnelReply) Size() (size int) {
355         if m == nil {
356                 return 0
357         }
358         size += 4 // m.Retval
359         return size
360 }
361 func (m *IpipDelTunnelReply) Marshal(b []byte) ([]byte, error) {
362         if b == nil {
363                 b = make([]byte, m.Size())
364         }
365         buf := codec.NewBuffer(b)
366         buf.EncodeInt32(m.Retval)
367         return buf.Bytes(), nil
368 }
369 func (m *IpipDelTunnelReply) Unmarshal(b []byte) error {
370         buf := codec.NewBuffer(b)
371         m.Retval = buf.DecodeInt32()
372         return nil
373 }
374
375 // IpipTunnelDetails defines message 'ipip_tunnel_details'.
376 type IpipTunnelDetails struct {
377         Tunnel IpipTunnel `binapi:"ipip_tunnel,name=tunnel" json:"tunnel,omitempty"`
378 }
379
380 func (m *IpipTunnelDetails) Reset()               { *m = IpipTunnelDetails{} }
381 func (*IpipTunnelDetails) GetMessageName() string { return "ipip_tunnel_details" }
382 func (*IpipTunnelDetails) GetCrcString() string   { return "53236d75" }
383 func (*IpipTunnelDetails) GetMessageType() api.MessageType {
384         return api.ReplyMessage
385 }
386
387 func (m *IpipTunnelDetails) Size() (size int) {
388         if m == nil {
389                 return 0
390         }
391         size += 4      // m.Tunnel.Instance
392         size += 1      // m.Tunnel.Src.Af
393         size += 1 * 16 // m.Tunnel.Src.Un
394         size += 1      // m.Tunnel.Dst.Af
395         size += 1 * 16 // m.Tunnel.Dst.Un
396         size += 4      // m.Tunnel.SwIfIndex
397         size += 4      // m.Tunnel.TableID
398         size += 1      // m.Tunnel.Flags
399         size += 1      // m.Tunnel.Mode
400         size += 1      // m.Tunnel.Dscp
401         return size
402 }
403 func (m *IpipTunnelDetails) Marshal(b []byte) ([]byte, error) {
404         if b == nil {
405                 b = make([]byte, m.Size())
406         }
407         buf := codec.NewBuffer(b)
408         buf.EncodeUint32(m.Tunnel.Instance)
409         buf.EncodeUint8(uint8(m.Tunnel.Src.Af))
410         buf.EncodeBytes(m.Tunnel.Src.Un.XXX_UnionData[:], 16)
411         buf.EncodeUint8(uint8(m.Tunnel.Dst.Af))
412         buf.EncodeBytes(m.Tunnel.Dst.Un.XXX_UnionData[:], 16)
413         buf.EncodeUint32(uint32(m.Tunnel.SwIfIndex))
414         buf.EncodeUint32(m.Tunnel.TableID)
415         buf.EncodeUint8(uint8(m.Tunnel.Flags))
416         buf.EncodeUint8(uint8(m.Tunnel.Mode))
417         buf.EncodeUint8(uint8(m.Tunnel.Dscp))
418         return buf.Bytes(), nil
419 }
420 func (m *IpipTunnelDetails) Unmarshal(b []byte) error {
421         buf := codec.NewBuffer(b)
422         m.Tunnel.Instance = buf.DecodeUint32()
423         m.Tunnel.Src.Af = ip_types.AddressFamily(buf.DecodeUint8())
424         copy(m.Tunnel.Src.Un.XXX_UnionData[:], buf.DecodeBytes(16))
425         m.Tunnel.Dst.Af = ip_types.AddressFamily(buf.DecodeUint8())
426         copy(m.Tunnel.Dst.Un.XXX_UnionData[:], buf.DecodeBytes(16))
427         m.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
428         m.Tunnel.TableID = buf.DecodeUint32()
429         m.Tunnel.Flags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8())
430         m.Tunnel.Mode = tunnel_types.TunnelMode(buf.DecodeUint8())
431         m.Tunnel.Dscp = ip_types.IPDscp(buf.DecodeUint8())
432         return nil
433 }
434
435 // IpipTunnelDump defines message 'ipip_tunnel_dump'.
436 type IpipTunnelDump struct {
437         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
438 }
439
440 func (m *IpipTunnelDump) Reset()               { *m = IpipTunnelDump{} }
441 func (*IpipTunnelDump) GetMessageName() string { return "ipip_tunnel_dump" }
442 func (*IpipTunnelDump) GetCrcString() string   { return "f9e6675e" }
443 func (*IpipTunnelDump) GetMessageType() api.MessageType {
444         return api.RequestMessage
445 }
446
447 func (m *IpipTunnelDump) Size() (size int) {
448         if m == nil {
449                 return 0
450         }
451         size += 4 // m.SwIfIndex
452         return size
453 }
454 func (m *IpipTunnelDump) Marshal(b []byte) ([]byte, error) {
455         if b == nil {
456                 b = make([]byte, m.Size())
457         }
458         buf := codec.NewBuffer(b)
459         buf.EncodeUint32(uint32(m.SwIfIndex))
460         return buf.Bytes(), nil
461 }
462 func (m *IpipTunnelDump) Unmarshal(b []byte) error {
463         buf := codec.NewBuffer(b)
464         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
465         return nil
466 }
467
468 func init() { file_ipip_binapi_init() }
469 func file_ipip_binapi_init() {
470         api.RegisterMessage((*Ipip6rdAddTunnel)(nil), "ipip_6rd_add_tunnel_56e93cc0")
471         api.RegisterMessage((*Ipip6rdAddTunnelReply)(nil), "ipip_6rd_add_tunnel_reply_5383d31f")
472         api.RegisterMessage((*Ipip6rdDelTunnel)(nil), "ipip_6rd_del_tunnel_f9e6675e")
473         api.RegisterMessage((*Ipip6rdDelTunnelReply)(nil), "ipip_6rd_del_tunnel_reply_e8d4e804")
474         api.RegisterMessage((*IpipAddTunnel)(nil), "ipip_add_tunnel_a9decfcd")
475         api.RegisterMessage((*IpipAddTunnelReply)(nil), "ipip_add_tunnel_reply_5383d31f")
476         api.RegisterMessage((*IpipDelTunnel)(nil), "ipip_del_tunnel_f9e6675e")
477         api.RegisterMessage((*IpipDelTunnelReply)(nil), "ipip_del_tunnel_reply_e8d4e804")
478         api.RegisterMessage((*IpipTunnelDetails)(nil), "ipip_tunnel_details_53236d75")
479         api.RegisterMessage((*IpipTunnelDump)(nil), "ipip_tunnel_dump_f9e6675e")
480 }
481
482 // Messages returns list of all messages in this module.
483 func AllMessages() []api.Message {
484         return []api.Message{
485                 (*Ipip6rdAddTunnel)(nil),
486                 (*Ipip6rdAddTunnelReply)(nil),
487                 (*Ipip6rdDelTunnel)(nil),
488                 (*Ipip6rdDelTunnelReply)(nil),
489                 (*IpipAddTunnel)(nil),
490                 (*IpipAddTunnelReply)(nil),
491                 (*IpipDelTunnel)(nil),
492                 (*IpipDelTunnelReply)(nil),
493                 (*IpipTunnelDetails)(nil),
494                 (*IpipTunnelDump)(nil),
495         }
496 }