1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.5.0
5 // source: /usr/share/vpp/api/core/tunnel_types.api.json
7 // Package tunnel_types contains generated bindings for API file tunnel_types.api.
18 api "git.fd.io/govpp.git/api"
19 interface_types "git.fd.io/govpp.git/binapi/interface_types"
20 ip_types "git.fd.io/govpp.git/binapi/ip_types"
23 // This is a compile-time assertion to ensure that this generated file
24 // is compatible with the GoVPP api package it is being compiled against.
25 // A compilation error at this line likely means your copy of the
26 // GoVPP api package needs to be updated.
27 const _ = api.GoVppAPIPackageIsVersion2
30 APIFile = "tunnel_types"
32 VersionCrc = 0x882f6758
35 // TunnelEncapDecapFlags defines enum 'tunnel_encap_decap_flags'.
36 type TunnelEncapDecapFlags uint8
39 TUNNEL_API_ENCAP_DECAP_FLAG_NONE TunnelEncapDecapFlags = 0
40 TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DF TunnelEncapDecapFlags = 1
41 TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_SET_DF TunnelEncapDecapFlags = 2
42 TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DSCP TunnelEncapDecapFlags = 4
43 TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_ECN TunnelEncapDecapFlags = 8
44 TUNNEL_API_ENCAP_DECAP_FLAG_DECAP_COPY_ECN TunnelEncapDecapFlags = 16
45 TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_INNER_HASH TunnelEncapDecapFlags = 32
46 TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_HOP_LIMIT TunnelEncapDecapFlags = 64
47 TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_FLOW_LABEL TunnelEncapDecapFlags = 128
51 TunnelEncapDecapFlags_name = map[uint8]string{
52 0: "TUNNEL_API_ENCAP_DECAP_FLAG_NONE",
53 1: "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DF",
54 2: "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_SET_DF",
55 4: "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DSCP",
56 8: "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_ECN",
57 16: "TUNNEL_API_ENCAP_DECAP_FLAG_DECAP_COPY_ECN",
58 32: "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_INNER_HASH",
59 64: "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_HOP_LIMIT",
60 128: "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_FLOW_LABEL",
62 TunnelEncapDecapFlags_value = map[string]uint8{
63 "TUNNEL_API_ENCAP_DECAP_FLAG_NONE": 0,
64 "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DF": 1,
65 "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_SET_DF": 2,
66 "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DSCP": 4,
67 "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_ECN": 8,
68 "TUNNEL_API_ENCAP_DECAP_FLAG_DECAP_COPY_ECN": 16,
69 "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_INNER_HASH": 32,
70 "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_HOP_LIMIT": 64,
71 "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_FLOW_LABEL": 128,
75 func (x TunnelEncapDecapFlags) String() string {
76 s, ok := TunnelEncapDecapFlags_name[uint8(x)]
80 str := func(n uint8) string {
81 s, ok := TunnelEncapDecapFlags_name[uint8(n)]
85 return "TunnelEncapDecapFlags(" + strconv.Itoa(int(n)) + ")"
87 for i := uint8(0); i <= 8; i++ {
102 // TunnelMode defines enum 'tunnel_mode'.
103 type TunnelMode uint8
106 TUNNEL_API_MODE_P2P TunnelMode = 0
107 TUNNEL_API_MODE_MP TunnelMode = 1
111 TunnelMode_name = map[uint8]string{
112 0: "TUNNEL_API_MODE_P2P",
113 1: "TUNNEL_API_MODE_MP",
115 TunnelMode_value = map[string]uint8{
116 "TUNNEL_API_MODE_P2P": 0,
117 "TUNNEL_API_MODE_MP": 1,
121 func (x TunnelMode) String() string {
122 s, ok := TunnelMode_name[uint8(x)]
126 return "TunnelMode(" + strconv.Itoa(int(x)) + ")"
129 // TunnelFlags defines enum 'tunnel_flags'.
130 type TunnelFlags uint8
133 TUNNEL_API_FLAG_TRACK_MTU TunnelFlags = 1
137 TunnelFlags_name = map[uint8]string{
138 1: "TUNNEL_API_FLAG_TRACK_MTU",
140 TunnelFlags_value = map[string]uint8{
141 "TUNNEL_API_FLAG_TRACK_MTU": 1,
145 func (x TunnelFlags) String() string {
146 s, ok := TunnelFlags_name[uint8(x)]
150 str := func(n uint8) string {
151 s, ok := TunnelFlags_name[uint8(n)]
155 return "TunnelFlags(" + strconv.Itoa(int(n)) + ")"
157 for i := uint8(0); i <= 8; i++ {
172 // Tunnel defines type 'tunnel'.
174 Instance uint32 `binapi:"u32,name=instance" json:"instance,omitempty"`
175 Src ip_types.Address `binapi:"address,name=src" json:"src,omitempty"`
176 Dst ip_types.Address `binapi:"address,name=dst" json:"dst,omitempty"`
177 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
178 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
179 EncapDecapFlags TunnelEncapDecapFlags `binapi:"tunnel_encap_decap_flags,name=encap_decap_flags" json:"encap_decap_flags,omitempty"`
180 Mode TunnelMode `binapi:"tunnel_mode,name=mode" json:"mode,omitempty"`
181 Flags TunnelFlags `binapi:"tunnel_flags,name=flags" json:"flags,omitempty"`
182 Dscp ip_types.IPDscp `binapi:"ip_dscp,name=dscp" json:"dscp,omitempty"`
183 HopLimit uint8 `binapi:"u8,name=hop_limit" json:"hop_limit,omitempty"`