1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.5.0
5 // source: /usr/share/vpp/api/core/flow_types.api.json
7 // Package flow_types contains generated bindings for API file flow_types.api.
19 api "git.fd.io/govpp.git/api"
20 ethernet_types "git.fd.io/govpp.git/binapi/ethernet_types"
21 ip_types "git.fd.io/govpp.git/binapi/ip_types"
22 codec "git.fd.io/govpp.git/codec"
25 // This is a compile-time assertion to ensure that this generated file
26 // is compatible with the GoVPP api package it is being compiled against.
27 // A compilation error at this line likely means your copy of the
28 // GoVPP api package needs to be updated.
29 const _ = api.GoVppAPIPackageIsVersion2
32 APIFile = "flow_types"
34 VersionCrc = 0xd789ede8
37 // FlowAction defines enum 'flow_action'.
38 type FlowAction uint32
41 FLOW_ACTION_COUNT FlowAction = 1
42 FLOW_ACTION_MARK FlowAction = 2
43 FLOW_ACTION_BUFFER_ADVANCE FlowAction = 4
44 FLOW_ACTION_REDIRECT_TO_NODE FlowAction = 8
45 FLOW_ACTION_REDIRECT_TO_QUEUE FlowAction = 16
46 FLOW_ACTION_DROP FlowAction = 64
50 FlowAction_name = map[uint32]string{
51 1: "FLOW_ACTION_COUNT",
52 2: "FLOW_ACTION_MARK",
53 4: "FLOW_ACTION_BUFFER_ADVANCE",
54 8: "FLOW_ACTION_REDIRECT_TO_NODE",
55 16: "FLOW_ACTION_REDIRECT_TO_QUEUE",
56 64: "FLOW_ACTION_DROP",
58 FlowAction_value = map[string]uint32{
59 "FLOW_ACTION_COUNT": 1,
60 "FLOW_ACTION_MARK": 2,
61 "FLOW_ACTION_BUFFER_ADVANCE": 4,
62 "FLOW_ACTION_REDIRECT_TO_NODE": 8,
63 "FLOW_ACTION_REDIRECT_TO_QUEUE": 16,
64 "FLOW_ACTION_DROP": 64,
68 func (x FlowAction) String() string {
69 s, ok := FlowAction_name[uint32(x)]
73 return "FlowAction(" + strconv.Itoa(int(x)) + ")"
76 // FlowType defines enum 'flow_type'.
80 FLOW_TYPE_ETHERNET FlowType = 1
81 FLOW_TYPE_IP4 FlowType = 2
82 FLOW_TYPE_IP6 FlowType = 3
83 FLOW_TYPE_IP4_L2TPV3OIP FlowType = 4
84 FLOW_TYPE_IP4_IPSEC_ESP FlowType = 5
85 FLOW_TYPE_IP4_IPSEC_AH FlowType = 6
86 FLOW_TYPE_IP4_N_TUPLE FlowType = 7
87 FLOW_TYPE_IP6_N_TUPLE FlowType = 8
88 FLOW_TYPE_IP4_N_TUPLE_TAGGED FlowType = 9
89 FLOW_TYPE_IP6_N_TUPLE_TAGGED FlowType = 10
90 FLOW_TYPE_IP4_VXLAN FlowType = 11
91 FLOW_TYPE_IP6_VXLAN FlowType = 12
92 FLOW_TYPE_IP4_GTPC FlowType = 13
93 FLOW_TYPE_IP4_GTPU FlowType = 14
97 FlowType_name = map[uint32]string{
98 1: "FLOW_TYPE_ETHERNET",
101 4: "FLOW_TYPE_IP4_L2TPV3OIP",
102 5: "FLOW_TYPE_IP4_IPSEC_ESP",
103 6: "FLOW_TYPE_IP4_IPSEC_AH",
104 7: "FLOW_TYPE_IP4_N_TUPLE",
105 8: "FLOW_TYPE_IP6_N_TUPLE",
106 9: "FLOW_TYPE_IP4_N_TUPLE_TAGGED",
107 10: "FLOW_TYPE_IP6_N_TUPLE_TAGGED",
108 11: "FLOW_TYPE_IP4_VXLAN",
109 12: "FLOW_TYPE_IP6_VXLAN",
110 13: "FLOW_TYPE_IP4_GTPC",
111 14: "FLOW_TYPE_IP4_GTPU",
113 FlowType_value = map[string]uint32{
114 "FLOW_TYPE_ETHERNET": 1,
117 "FLOW_TYPE_IP4_L2TPV3OIP": 4,
118 "FLOW_TYPE_IP4_IPSEC_ESP": 5,
119 "FLOW_TYPE_IP4_IPSEC_AH": 6,
120 "FLOW_TYPE_IP4_N_TUPLE": 7,
121 "FLOW_TYPE_IP6_N_TUPLE": 8,
122 "FLOW_TYPE_IP4_N_TUPLE_TAGGED": 9,
123 "FLOW_TYPE_IP6_N_TUPLE_TAGGED": 10,
124 "FLOW_TYPE_IP4_VXLAN": 11,
125 "FLOW_TYPE_IP6_VXLAN": 12,
126 "FLOW_TYPE_IP4_GTPC": 13,
127 "FLOW_TYPE_IP4_GTPU": 14,
131 func (x FlowType) String() string {
132 s, ok := FlowType_name[uint32(x)]
136 return "FlowType(" + strconv.Itoa(int(x)) + ")"
139 // FlowEthernet defines type 'flow_ethernet'.
140 type FlowEthernet struct {
141 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
142 SrcAddr ethernet_types.MacAddress `binapi:"mac_address,name=src_addr" json:"src_addr,omitempty"`
143 DstAddr ethernet_types.MacAddress `binapi:"mac_address,name=dst_addr" json:"dst_addr,omitempty"`
144 Type uint16 `binapi:"u16,name=type" json:"type,omitempty"`
147 // FlowIP4 defines type 'flow_ip4'.
148 type FlowIP4 struct {
149 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
150 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
151 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
152 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
155 // FlowIP4Gtpc defines type 'flow_ip4_gtpc'.
156 type FlowIP4Gtpc struct {
157 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
158 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
159 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
160 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
161 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
162 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
163 Teid uint32 `binapi:"u32,name=teid" json:"teid,omitempty"`
166 // FlowIP4Gtpu defines type 'flow_ip4_gtpu'.
167 type FlowIP4Gtpu struct {
168 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
169 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
170 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
171 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
172 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
173 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
174 Teid uint32 `binapi:"u32,name=teid" json:"teid,omitempty"`
177 // FlowIP4IpsecAh defines type 'flow_ip4_ipsec_ah'.
178 type FlowIP4IpsecAh struct {
179 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
180 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
181 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
182 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
183 Spi uint32 `binapi:"u32,name=spi" json:"spi,omitempty"`
186 // FlowIP4IpsecEsp defines type 'flow_ip4_ipsec_esp'.
187 type FlowIP4IpsecEsp struct {
188 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
189 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
190 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
191 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
192 Spi uint32 `binapi:"u32,name=spi" json:"spi,omitempty"`
195 // FlowIP4L2tpv3oip defines type 'flow_ip4_l2tpv3oip'.
196 type FlowIP4L2tpv3oip struct {
197 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
198 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
199 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
200 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
201 SessionID uint32 `binapi:"u32,name=session_id" json:"session_id,omitempty"`
204 // FlowIP4NTuple defines type 'flow_ip4_n_tuple'.
205 type FlowIP4NTuple struct {
206 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
207 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
208 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
209 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
210 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
211 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
214 // FlowIP4NTupleTagged defines type 'flow_ip4_n_tuple_tagged'.
215 type FlowIP4NTupleTagged struct {
216 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
217 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
218 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
219 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
220 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
221 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
224 // FlowIP4Vxlan defines type 'flow_ip4_vxlan'.
225 type FlowIP4Vxlan struct {
226 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
227 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
228 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
229 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
230 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
231 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
232 Vni uint32 `binapi:"u32,name=vni" json:"vni,omitempty"`
235 // FlowIP6 defines type 'flow_ip6'.
236 type FlowIP6 struct {
237 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
238 SrcAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
239 DstAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
240 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
243 // FlowIP6NTuple defines type 'flow_ip6_n_tuple'.
244 type FlowIP6NTuple struct {
245 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
246 SrcAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
247 DstAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
248 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
249 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
250 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
253 // FlowIP6NTupleTagged defines type 'flow_ip6_n_tuple_tagged'.
254 type FlowIP6NTupleTagged struct {
255 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
256 SrcAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
257 DstAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
258 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
259 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
260 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
263 // FlowIP6Vxlan defines type 'flow_ip6_vxlan'.
264 type FlowIP6Vxlan struct {
265 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
266 SrcAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
267 DstAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
268 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
269 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
270 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
271 Vni uint32 `binapi:"u32,name=vni" json:"vni,omitempty"`
274 // FlowRule defines type 'flow_rule'.
275 type FlowRule struct {
276 Type FlowType `binapi:"flow_type,name=type" json:"type,omitempty"`
277 Index uint32 `binapi:"u32,name=index" json:"index,omitempty"`
278 Actions FlowAction `binapi:"flow_action,name=actions" json:"actions,omitempty"`
279 MarkFlowID uint32 `binapi:"u32,name=mark_flow_id" json:"mark_flow_id,omitempty"`
280 RedirectNodeIndex uint32 `binapi:"u32,name=redirect_node_index" json:"redirect_node_index,omitempty"`
281 RedirectDeviceInputNextIndex uint32 `binapi:"u32,name=redirect_device_input_next_index" json:"redirect_device_input_next_index,omitempty"`
282 RedirectQueue uint32 `binapi:"u32,name=redirect_queue" json:"redirect_queue,omitempty"`
283 BufferAdvance int32 `binapi:"i32,name=buffer_advance" json:"buffer_advance,omitempty"`
284 Flow FlowUnion `binapi:"flow,name=flow" json:"flow,omitempty"`
287 // IPPortAndMask defines type 'ip_port_and_mask'.
288 type IPPortAndMask struct {
289 Port uint16 `binapi:"u16,name=port" json:"port,omitempty"`
290 Mask uint16 `binapi:"u16,name=mask" json:"mask,omitempty"`
293 // IPProtAndMask defines type 'ip_prot_and_mask'.
294 type IPProtAndMask struct {
295 Prot ip_types.IPProto `binapi:"ip_proto,name=prot" json:"prot,omitempty"`
296 Mask uint8 `binapi:"u8,name=mask" json:"mask,omitempty"`
299 // FlowUnion defines union 'flow'.
300 type FlowUnion struct {
301 // FlowUnion can be one of:
302 // - Ethernet *FlowEthernet
305 // - IP4L2tpv3oip *FlowIP4L2tpv3oip
306 // - IP4IpsecEsp *FlowIP4IpsecEsp
307 // - IP4IpsecAh *FlowIP4IpsecAh
308 // - IP4NTuple *FlowIP4NTuple
309 // - IP6NTuple *FlowIP6NTuple
310 // - IP4NTupleTagged *FlowIP4NTupleTagged
311 // - IP6NTupleTagged *FlowIP6NTupleTagged
312 // - IP4Vxlan *FlowIP4Vxlan
313 // - IP6Vxlan *FlowIP6Vxlan
314 // - IP4Gtpc *FlowIP4Gtpc
315 // - IP4Gtpu *FlowIP4Gtpu
316 XXX_UnionData [82]byte
319 func FlowUnionEthernet(a FlowEthernet) (u FlowUnion) {
323 func (u *FlowUnion) SetEthernet(a FlowEthernet) {
324 buf := codec.NewBuffer(u.XXX_UnionData[:])
325 buf.EncodeInt32(a.Foo)
326 buf.EncodeBytes(a.SrcAddr[:], 6)
327 buf.EncodeBytes(a.DstAddr[:], 6)
328 buf.EncodeUint16(a.Type)
330 func (u *FlowUnion) GetEthernet() (a FlowEthernet) {
331 buf := codec.NewBuffer(u.XXX_UnionData[:])
332 a.Foo = buf.DecodeInt32()
333 copy(a.SrcAddr[:], buf.DecodeBytes(6))
334 copy(a.DstAddr[:], buf.DecodeBytes(6))
335 a.Type = buf.DecodeUint16()
339 func FlowUnionIP4(a FlowIP4) (u FlowUnion) {
343 func (u *FlowUnion) SetIP4(a FlowIP4) {
344 buf := codec.NewBuffer(u.XXX_UnionData[:])
345 buf.EncodeInt32(a.Foo)
346 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
347 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
348 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
349 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
350 buf.EncodeUint8(uint8(a.Protocol.Prot))
351 buf.EncodeUint8(a.Protocol.Mask)
353 func (u *FlowUnion) GetIP4() (a FlowIP4) {
354 buf := codec.NewBuffer(u.XXX_UnionData[:])
355 a.Foo = buf.DecodeInt32()
356 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
357 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
358 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
359 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
360 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
361 a.Protocol.Mask = buf.DecodeUint8()
365 func FlowUnionIP6(a FlowIP6) (u FlowUnion) {
369 func (u *FlowUnion) SetIP6(a FlowIP6) {
370 buf := codec.NewBuffer(u.XXX_UnionData[:])
371 buf.EncodeInt32(a.Foo)
372 buf.EncodeBytes(a.SrcAddr.Addr[:], 16)
373 buf.EncodeBytes(a.SrcAddr.Mask[:], 16)
374 buf.EncodeBytes(a.DstAddr.Addr[:], 16)
375 buf.EncodeBytes(a.DstAddr.Mask[:], 16)
376 buf.EncodeUint8(uint8(a.Protocol.Prot))
377 buf.EncodeUint8(a.Protocol.Mask)
379 func (u *FlowUnion) GetIP6() (a FlowIP6) {
380 buf := codec.NewBuffer(u.XXX_UnionData[:])
381 a.Foo = buf.DecodeInt32()
382 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(16))
383 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(16))
384 copy(a.DstAddr.Addr[:], buf.DecodeBytes(16))
385 copy(a.DstAddr.Mask[:], buf.DecodeBytes(16))
386 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
387 a.Protocol.Mask = buf.DecodeUint8()
391 func FlowUnionIP4L2tpv3oip(a FlowIP4L2tpv3oip) (u FlowUnion) {
395 func (u *FlowUnion) SetIP4L2tpv3oip(a FlowIP4L2tpv3oip) {
396 buf := codec.NewBuffer(u.XXX_UnionData[:])
397 buf.EncodeInt32(a.Foo)
398 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
399 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
400 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
401 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
402 buf.EncodeUint8(uint8(a.Protocol.Prot))
403 buf.EncodeUint8(a.Protocol.Mask)
404 buf.EncodeUint32(a.SessionID)
406 func (u *FlowUnion) GetIP4L2tpv3oip() (a FlowIP4L2tpv3oip) {
407 buf := codec.NewBuffer(u.XXX_UnionData[:])
408 a.Foo = buf.DecodeInt32()
409 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
410 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
411 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
412 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
413 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
414 a.Protocol.Mask = buf.DecodeUint8()
415 a.SessionID = buf.DecodeUint32()
419 func FlowUnionIP4IpsecEsp(a FlowIP4IpsecEsp) (u FlowUnion) {
423 func (u *FlowUnion) SetIP4IpsecEsp(a FlowIP4IpsecEsp) {
424 buf := codec.NewBuffer(u.XXX_UnionData[:])
425 buf.EncodeInt32(a.Foo)
426 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
427 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
428 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
429 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
430 buf.EncodeUint8(uint8(a.Protocol.Prot))
431 buf.EncodeUint8(a.Protocol.Mask)
432 buf.EncodeUint32(a.Spi)
434 func (u *FlowUnion) GetIP4IpsecEsp() (a FlowIP4IpsecEsp) {
435 buf := codec.NewBuffer(u.XXX_UnionData[:])
436 a.Foo = buf.DecodeInt32()
437 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
438 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
439 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
440 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
441 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
442 a.Protocol.Mask = buf.DecodeUint8()
443 a.Spi = buf.DecodeUint32()
447 func FlowUnionIP4IpsecAh(a FlowIP4IpsecAh) (u FlowUnion) {
451 func (u *FlowUnion) SetIP4IpsecAh(a FlowIP4IpsecAh) {
452 buf := codec.NewBuffer(u.XXX_UnionData[:])
453 buf.EncodeInt32(a.Foo)
454 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
455 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
456 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
457 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
458 buf.EncodeUint8(uint8(a.Protocol.Prot))
459 buf.EncodeUint8(a.Protocol.Mask)
460 buf.EncodeUint32(a.Spi)
462 func (u *FlowUnion) GetIP4IpsecAh() (a FlowIP4IpsecAh) {
463 buf := codec.NewBuffer(u.XXX_UnionData[:])
464 a.Foo = buf.DecodeInt32()
465 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
466 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
467 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
468 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
469 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
470 a.Protocol.Mask = buf.DecodeUint8()
471 a.Spi = buf.DecodeUint32()
475 func FlowUnionIP4NTuple(a FlowIP4NTuple) (u FlowUnion) {
479 func (u *FlowUnion) SetIP4NTuple(a FlowIP4NTuple) {
480 buf := codec.NewBuffer(u.XXX_UnionData[:])
481 buf.EncodeInt32(a.Foo)
482 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
483 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
484 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
485 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
486 buf.EncodeUint8(uint8(a.Protocol.Prot))
487 buf.EncodeUint8(a.Protocol.Mask)
488 buf.EncodeUint16(a.SrcPort.Port)
489 buf.EncodeUint16(a.SrcPort.Mask)
490 buf.EncodeUint16(a.DstPort.Port)
491 buf.EncodeUint16(a.DstPort.Mask)
493 func (u *FlowUnion) GetIP4NTuple() (a FlowIP4NTuple) {
494 buf := codec.NewBuffer(u.XXX_UnionData[:])
495 a.Foo = buf.DecodeInt32()
496 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
497 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
498 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
499 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
500 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
501 a.Protocol.Mask = buf.DecodeUint8()
502 a.SrcPort.Port = buf.DecodeUint16()
503 a.SrcPort.Mask = buf.DecodeUint16()
504 a.DstPort.Port = buf.DecodeUint16()
505 a.DstPort.Mask = buf.DecodeUint16()
509 func FlowUnionIP6NTuple(a FlowIP6NTuple) (u FlowUnion) {
513 func (u *FlowUnion) SetIP6NTuple(a FlowIP6NTuple) {
514 buf := codec.NewBuffer(u.XXX_UnionData[:])
515 buf.EncodeInt32(a.Foo)
516 buf.EncodeBytes(a.SrcAddr.Addr[:], 16)
517 buf.EncodeBytes(a.SrcAddr.Mask[:], 16)
518 buf.EncodeBytes(a.DstAddr.Addr[:], 16)
519 buf.EncodeBytes(a.DstAddr.Mask[:], 16)
520 buf.EncodeUint8(uint8(a.Protocol.Prot))
521 buf.EncodeUint8(a.Protocol.Mask)
522 buf.EncodeUint16(a.SrcPort.Port)
523 buf.EncodeUint16(a.SrcPort.Mask)
524 buf.EncodeUint16(a.DstPort.Port)
525 buf.EncodeUint16(a.DstPort.Mask)
527 func (u *FlowUnion) GetIP6NTuple() (a FlowIP6NTuple) {
528 buf := codec.NewBuffer(u.XXX_UnionData[:])
529 a.Foo = buf.DecodeInt32()
530 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(16))
531 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(16))
532 copy(a.DstAddr.Addr[:], buf.DecodeBytes(16))
533 copy(a.DstAddr.Mask[:], buf.DecodeBytes(16))
534 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
535 a.Protocol.Mask = buf.DecodeUint8()
536 a.SrcPort.Port = buf.DecodeUint16()
537 a.SrcPort.Mask = buf.DecodeUint16()
538 a.DstPort.Port = buf.DecodeUint16()
539 a.DstPort.Mask = buf.DecodeUint16()
543 func FlowUnionIP4NTupleTagged(a FlowIP4NTupleTagged) (u FlowUnion) {
544 u.SetIP4NTupleTagged(a)
547 func (u *FlowUnion) SetIP4NTupleTagged(a FlowIP4NTupleTagged) {
548 buf := codec.NewBuffer(u.XXX_UnionData[:])
549 buf.EncodeInt32(a.Foo)
550 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
551 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
552 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
553 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
554 buf.EncodeUint8(uint8(a.Protocol.Prot))
555 buf.EncodeUint8(a.Protocol.Mask)
556 buf.EncodeUint16(a.SrcPort.Port)
557 buf.EncodeUint16(a.SrcPort.Mask)
558 buf.EncodeUint16(a.DstPort.Port)
559 buf.EncodeUint16(a.DstPort.Mask)
561 func (u *FlowUnion) GetIP4NTupleTagged() (a FlowIP4NTupleTagged) {
562 buf := codec.NewBuffer(u.XXX_UnionData[:])
563 a.Foo = buf.DecodeInt32()
564 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
565 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
566 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
567 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
568 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
569 a.Protocol.Mask = buf.DecodeUint8()
570 a.SrcPort.Port = buf.DecodeUint16()
571 a.SrcPort.Mask = buf.DecodeUint16()
572 a.DstPort.Port = buf.DecodeUint16()
573 a.DstPort.Mask = buf.DecodeUint16()
577 func FlowUnionIP6NTupleTagged(a FlowIP6NTupleTagged) (u FlowUnion) {
578 u.SetIP6NTupleTagged(a)
581 func (u *FlowUnion) SetIP6NTupleTagged(a FlowIP6NTupleTagged) {
582 buf := codec.NewBuffer(u.XXX_UnionData[:])
583 buf.EncodeInt32(a.Foo)
584 buf.EncodeBytes(a.SrcAddr.Addr[:], 16)
585 buf.EncodeBytes(a.SrcAddr.Mask[:], 16)
586 buf.EncodeBytes(a.DstAddr.Addr[:], 16)
587 buf.EncodeBytes(a.DstAddr.Mask[:], 16)
588 buf.EncodeUint8(uint8(a.Protocol.Prot))
589 buf.EncodeUint8(a.Protocol.Mask)
590 buf.EncodeUint16(a.SrcPort.Port)
591 buf.EncodeUint16(a.SrcPort.Mask)
592 buf.EncodeUint16(a.DstPort.Port)
593 buf.EncodeUint16(a.DstPort.Mask)
595 func (u *FlowUnion) GetIP6NTupleTagged() (a FlowIP6NTupleTagged) {
596 buf := codec.NewBuffer(u.XXX_UnionData[:])
597 a.Foo = buf.DecodeInt32()
598 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(16))
599 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(16))
600 copy(a.DstAddr.Addr[:], buf.DecodeBytes(16))
601 copy(a.DstAddr.Mask[:], buf.DecodeBytes(16))
602 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
603 a.Protocol.Mask = buf.DecodeUint8()
604 a.SrcPort.Port = buf.DecodeUint16()
605 a.SrcPort.Mask = buf.DecodeUint16()
606 a.DstPort.Port = buf.DecodeUint16()
607 a.DstPort.Mask = buf.DecodeUint16()
611 func FlowUnionIP4Vxlan(a FlowIP4Vxlan) (u FlowUnion) {
615 func (u *FlowUnion) SetIP4Vxlan(a FlowIP4Vxlan) {
616 buf := codec.NewBuffer(u.XXX_UnionData[:])
617 buf.EncodeInt32(a.Foo)
618 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
619 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
620 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
621 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
622 buf.EncodeUint8(uint8(a.Protocol.Prot))
623 buf.EncodeUint8(a.Protocol.Mask)
624 buf.EncodeUint16(a.SrcPort.Port)
625 buf.EncodeUint16(a.SrcPort.Mask)
626 buf.EncodeUint16(a.DstPort.Port)
627 buf.EncodeUint16(a.DstPort.Mask)
628 buf.EncodeUint32(a.Vni)
630 func (u *FlowUnion) GetIP4Vxlan() (a FlowIP4Vxlan) {
631 buf := codec.NewBuffer(u.XXX_UnionData[:])
632 a.Foo = buf.DecodeInt32()
633 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
634 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
635 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
636 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
637 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
638 a.Protocol.Mask = buf.DecodeUint8()
639 a.SrcPort.Port = buf.DecodeUint16()
640 a.SrcPort.Mask = buf.DecodeUint16()
641 a.DstPort.Port = buf.DecodeUint16()
642 a.DstPort.Mask = buf.DecodeUint16()
643 a.Vni = buf.DecodeUint32()
647 func FlowUnionIP6Vxlan(a FlowIP6Vxlan) (u FlowUnion) {
651 func (u *FlowUnion) SetIP6Vxlan(a FlowIP6Vxlan) {
652 buf := codec.NewBuffer(u.XXX_UnionData[:])
653 buf.EncodeInt32(a.Foo)
654 buf.EncodeBytes(a.SrcAddr.Addr[:], 16)
655 buf.EncodeBytes(a.SrcAddr.Mask[:], 16)
656 buf.EncodeBytes(a.DstAddr.Addr[:], 16)
657 buf.EncodeBytes(a.DstAddr.Mask[:], 16)
658 buf.EncodeUint8(uint8(a.Protocol.Prot))
659 buf.EncodeUint8(a.Protocol.Mask)
660 buf.EncodeUint16(a.SrcPort.Port)
661 buf.EncodeUint16(a.SrcPort.Mask)
662 buf.EncodeUint16(a.DstPort.Port)
663 buf.EncodeUint16(a.DstPort.Mask)
664 buf.EncodeUint32(a.Vni)
666 func (u *FlowUnion) GetIP6Vxlan() (a FlowIP6Vxlan) {
667 buf := codec.NewBuffer(u.XXX_UnionData[:])
668 a.Foo = buf.DecodeInt32()
669 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(16))
670 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(16))
671 copy(a.DstAddr.Addr[:], buf.DecodeBytes(16))
672 copy(a.DstAddr.Mask[:], buf.DecodeBytes(16))
673 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
674 a.Protocol.Mask = buf.DecodeUint8()
675 a.SrcPort.Port = buf.DecodeUint16()
676 a.SrcPort.Mask = buf.DecodeUint16()
677 a.DstPort.Port = buf.DecodeUint16()
678 a.DstPort.Mask = buf.DecodeUint16()
679 a.Vni = buf.DecodeUint32()
683 func FlowUnionIP4Gtpc(a FlowIP4Gtpc) (u FlowUnion) {
687 func (u *FlowUnion) SetIP4Gtpc(a FlowIP4Gtpc) {
688 buf := codec.NewBuffer(u.XXX_UnionData[:])
689 buf.EncodeInt32(a.Foo)
690 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
691 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
692 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
693 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
694 buf.EncodeUint8(uint8(a.Protocol.Prot))
695 buf.EncodeUint8(a.Protocol.Mask)
696 buf.EncodeUint16(a.SrcPort.Port)
697 buf.EncodeUint16(a.SrcPort.Mask)
698 buf.EncodeUint16(a.DstPort.Port)
699 buf.EncodeUint16(a.DstPort.Mask)
700 buf.EncodeUint32(a.Teid)
702 func (u *FlowUnion) GetIP4Gtpc() (a FlowIP4Gtpc) {
703 buf := codec.NewBuffer(u.XXX_UnionData[:])
704 a.Foo = buf.DecodeInt32()
705 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
706 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
707 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
708 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
709 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
710 a.Protocol.Mask = buf.DecodeUint8()
711 a.SrcPort.Port = buf.DecodeUint16()
712 a.SrcPort.Mask = buf.DecodeUint16()
713 a.DstPort.Port = buf.DecodeUint16()
714 a.DstPort.Mask = buf.DecodeUint16()
715 a.Teid = buf.DecodeUint32()
719 func FlowUnionIP4Gtpu(a FlowIP4Gtpu) (u FlowUnion) {
723 func (u *FlowUnion) SetIP4Gtpu(a FlowIP4Gtpu) {
724 buf := codec.NewBuffer(u.XXX_UnionData[:])
725 buf.EncodeInt32(a.Foo)
726 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
727 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
728 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
729 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
730 buf.EncodeUint8(uint8(a.Protocol.Prot))
731 buf.EncodeUint8(a.Protocol.Mask)
732 buf.EncodeUint16(a.SrcPort.Port)
733 buf.EncodeUint16(a.SrcPort.Mask)
734 buf.EncodeUint16(a.DstPort.Port)
735 buf.EncodeUint16(a.DstPort.Mask)
736 buf.EncodeUint32(a.Teid)
738 func (u *FlowUnion) GetIP4Gtpu() (a FlowIP4Gtpu) {
739 buf := codec.NewBuffer(u.XXX_UnionData[:])
740 a.Foo = buf.DecodeInt32()
741 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
742 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
743 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
744 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
745 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
746 a.Protocol.Mask = buf.DecodeUint8()
747 a.SrcPort.Port = buf.DecodeUint16()
748 a.SrcPort.Mask = buf.DecodeUint16()
749 a.DstPort.Port = buf.DecodeUint16()
750 a.DstPort.Mask = buf.DecodeUint16()
751 a.Teid = buf.DecodeUint32()