1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.4.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
31 // FlowAction defines enum 'flow_action'.
32 type FlowAction uint32
35 FLOW_ACTION_COUNT FlowAction = 1
36 FLOW_ACTION_MARK FlowAction = 2
37 FLOW_ACTION_BUFFER_ADVANCE FlowAction = 4
38 FLOW_ACTION_REDIRECT_TO_NODE FlowAction = 8
39 FLOW_ACTION_REDIRECT_TO_QUEUE FlowAction = 16
40 FLOW_ACTION_DROP FlowAction = 64
44 FlowAction_name = map[uint32]string{
45 1: "FLOW_ACTION_COUNT",
46 2: "FLOW_ACTION_MARK",
47 4: "FLOW_ACTION_BUFFER_ADVANCE",
48 8: "FLOW_ACTION_REDIRECT_TO_NODE",
49 16: "FLOW_ACTION_REDIRECT_TO_QUEUE",
50 64: "FLOW_ACTION_DROP",
52 FlowAction_value = map[string]uint32{
53 "FLOW_ACTION_COUNT": 1,
54 "FLOW_ACTION_MARK": 2,
55 "FLOW_ACTION_BUFFER_ADVANCE": 4,
56 "FLOW_ACTION_REDIRECT_TO_NODE": 8,
57 "FLOW_ACTION_REDIRECT_TO_QUEUE": 16,
58 "FLOW_ACTION_DROP": 64,
62 func (x FlowAction) String() string {
63 s, ok := FlowAction_name[uint32(x)]
67 return "FlowAction(" + strconv.Itoa(int(x)) + ")"
70 // FlowType defines enum 'flow_type'.
74 FLOW_TYPE_ETHERNET FlowType = 1
75 FLOW_TYPE_IP4 FlowType = 2
76 FLOW_TYPE_IP6 FlowType = 3
77 FLOW_TYPE_IP4_L2TPV3OIP FlowType = 4
78 FLOW_TYPE_IP4_IPSEC_ESP FlowType = 5
79 FLOW_TYPE_IP4_IPSEC_AH FlowType = 6
80 FLOW_TYPE_IP4_N_TUPLE FlowType = 7
81 FLOW_TYPE_IP6_N_TUPLE FlowType = 8
82 FLOW_TYPE_IP4_N_TUPLE_TAGGED FlowType = 9
83 FLOW_TYPE_IP6_N_TUPLE_TAGGED FlowType = 10
84 FLOW_TYPE_IP4_VXLAN FlowType = 11
85 FLOW_TYPE_IP6_VXLAN FlowType = 12
86 FLOW_TYPE_IP4_GTPC FlowType = 13
87 FLOW_TYPE_IP4_GTPU FlowType = 14
91 FlowType_name = map[uint32]string{
92 1: "FLOW_TYPE_ETHERNET",
95 4: "FLOW_TYPE_IP4_L2TPV3OIP",
96 5: "FLOW_TYPE_IP4_IPSEC_ESP",
97 6: "FLOW_TYPE_IP4_IPSEC_AH",
98 7: "FLOW_TYPE_IP4_N_TUPLE",
99 8: "FLOW_TYPE_IP6_N_TUPLE",
100 9: "FLOW_TYPE_IP4_N_TUPLE_TAGGED",
101 10: "FLOW_TYPE_IP6_N_TUPLE_TAGGED",
102 11: "FLOW_TYPE_IP4_VXLAN",
103 12: "FLOW_TYPE_IP6_VXLAN",
104 13: "FLOW_TYPE_IP4_GTPC",
105 14: "FLOW_TYPE_IP4_GTPU",
107 FlowType_value = map[string]uint32{
108 "FLOW_TYPE_ETHERNET": 1,
111 "FLOW_TYPE_IP4_L2TPV3OIP": 4,
112 "FLOW_TYPE_IP4_IPSEC_ESP": 5,
113 "FLOW_TYPE_IP4_IPSEC_AH": 6,
114 "FLOW_TYPE_IP4_N_TUPLE": 7,
115 "FLOW_TYPE_IP6_N_TUPLE": 8,
116 "FLOW_TYPE_IP4_N_TUPLE_TAGGED": 9,
117 "FLOW_TYPE_IP6_N_TUPLE_TAGGED": 10,
118 "FLOW_TYPE_IP4_VXLAN": 11,
119 "FLOW_TYPE_IP6_VXLAN": 12,
120 "FLOW_TYPE_IP4_GTPC": 13,
121 "FLOW_TYPE_IP4_GTPU": 14,
125 func (x FlowType) String() string {
126 s, ok := FlowType_name[uint32(x)]
130 return "FlowType(" + strconv.Itoa(int(x)) + ")"
133 // FlowEthernet defines type 'flow_ethernet'.
134 type FlowEthernet struct {
135 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
136 SrcAddr ethernet_types.MacAddress `binapi:"mac_address,name=src_addr" json:"src_addr,omitempty"`
137 DstAddr ethernet_types.MacAddress `binapi:"mac_address,name=dst_addr" json:"dst_addr,omitempty"`
138 Type uint16 `binapi:"u16,name=type" json:"type,omitempty"`
141 // FlowIP4 defines type 'flow_ip4'.
142 type FlowIP4 struct {
143 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
144 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
145 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
146 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
149 // FlowIP4Gtpc defines type 'flow_ip4_gtpc'.
150 type FlowIP4Gtpc struct {
151 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
152 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
153 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
154 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
155 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
156 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
157 Teid uint32 `binapi:"u32,name=teid" json:"teid,omitempty"`
160 // FlowIP4Gtpu defines type 'flow_ip4_gtpu'.
161 type FlowIP4Gtpu struct {
162 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
163 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
164 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
165 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
166 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
167 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
168 Teid uint32 `binapi:"u32,name=teid" json:"teid,omitempty"`
171 // FlowIP4IpsecAh defines type 'flow_ip4_ipsec_ah'.
172 type FlowIP4IpsecAh struct {
173 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
174 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
175 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
176 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
177 Spi uint32 `binapi:"u32,name=spi" json:"spi,omitempty"`
180 // FlowIP4IpsecEsp defines type 'flow_ip4_ipsec_esp'.
181 type FlowIP4IpsecEsp struct {
182 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
183 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
184 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
185 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
186 Spi uint32 `binapi:"u32,name=spi" json:"spi,omitempty"`
189 // FlowIP4L2tpv3oip defines type 'flow_ip4_l2tpv3oip'.
190 type FlowIP4L2tpv3oip struct {
191 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
192 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
193 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
194 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
195 SessionID uint32 `binapi:"u32,name=session_id" json:"session_id,omitempty"`
198 // FlowIP4NTuple defines type 'flow_ip4_n_tuple'.
199 type FlowIP4NTuple struct {
200 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
201 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
202 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
203 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
204 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
205 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
208 // FlowIP4NTupleTagged defines type 'flow_ip4_n_tuple_tagged'.
209 type FlowIP4NTupleTagged struct {
210 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
211 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
212 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
213 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
214 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
215 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
218 // FlowIP4Vxlan defines type 'flow_ip4_vxlan'.
219 type FlowIP4Vxlan struct {
220 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
221 SrcAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
222 DstAddr ip_types.IP4AddressAndMask `binapi:"ip4_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
223 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
224 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
225 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
226 Vni uint32 `binapi:"u32,name=vni" json:"vni,omitempty"`
229 // FlowIP6 defines type 'flow_ip6'.
230 type FlowIP6 struct {
231 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
232 SrcAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
233 DstAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
234 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
237 // FlowIP6NTuple defines type 'flow_ip6_n_tuple'.
238 type FlowIP6NTuple struct {
239 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
240 SrcAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
241 DstAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
242 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
243 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
244 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
247 // FlowIP6NTupleTagged defines type 'flow_ip6_n_tuple_tagged'.
248 type FlowIP6NTupleTagged struct {
249 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
250 SrcAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
251 DstAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
252 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
253 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
254 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
257 // FlowIP6Vxlan defines type 'flow_ip6_vxlan'.
258 type FlowIP6Vxlan struct {
259 Foo int32 `binapi:"i32,name=foo" json:"foo,omitempty"`
260 SrcAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=src_addr" json:"src_addr,omitempty"`
261 DstAddr ip_types.IP6AddressAndMask `binapi:"ip6_address_and_mask,name=dst_addr" json:"dst_addr,omitempty"`
262 Protocol IPProtAndMask `binapi:"ip_prot_and_mask,name=protocol" json:"protocol,omitempty"`
263 SrcPort IPPortAndMask `binapi:"ip_port_and_mask,name=src_port" json:"src_port,omitempty"`
264 DstPort IPPortAndMask `binapi:"ip_port_and_mask,name=dst_port" json:"dst_port,omitempty"`
265 Vni uint32 `binapi:"u32,name=vni" json:"vni,omitempty"`
268 // FlowRule defines type 'flow_rule'.
269 type FlowRule struct {
270 Type FlowType `binapi:"flow_type,name=type" json:"type,omitempty"`
271 Index uint32 `binapi:"u32,name=index" json:"index,omitempty"`
272 Actions FlowAction `binapi:"flow_action,name=actions" json:"actions,omitempty"`
273 MarkFlowID uint32 `binapi:"u32,name=mark_flow_id" json:"mark_flow_id,omitempty"`
274 RedirectNodeIndex uint32 `binapi:"u32,name=redirect_node_index" json:"redirect_node_index,omitempty"`
275 RedirectDeviceInputNextIndex uint32 `binapi:"u32,name=redirect_device_input_next_index" json:"redirect_device_input_next_index,omitempty"`
276 RedirectQueue uint32 `binapi:"u32,name=redirect_queue" json:"redirect_queue,omitempty"`
277 BufferAdvance int32 `binapi:"i32,name=buffer_advance" json:"buffer_advance,omitempty"`
278 Flow FlowUnion `binapi:"flow,name=flow" json:"flow,omitempty"`
281 // IPPortAndMask defines type 'ip_port_and_mask'.
282 type IPPortAndMask struct {
283 Port uint16 `binapi:"u16,name=port" json:"port,omitempty"`
284 Mask uint16 `binapi:"u16,name=mask" json:"mask,omitempty"`
287 // IPProtAndMask defines type 'ip_prot_and_mask'.
288 type IPProtAndMask struct {
289 Prot ip_types.IPProto `binapi:"ip_proto,name=prot" json:"prot,omitempty"`
290 Mask uint8 `binapi:"u8,name=mask" json:"mask,omitempty"`
293 // FlowUnion defines union 'flow'.
294 type FlowUnion struct {
295 // FlowUnion can be one of:
296 // - Ethernet *FlowEthernet
299 // - IP4L2tpv3oip *FlowIP4L2tpv3oip
300 // - IP4IpsecEsp *FlowIP4IpsecEsp
301 // - IP4IpsecAh *FlowIP4IpsecAh
302 // - IP4NTuple *FlowIP4NTuple
303 // - IP6NTuple *FlowIP6NTuple
304 // - IP4NTupleTagged *FlowIP4NTupleTagged
305 // - IP6NTupleTagged *FlowIP6NTupleTagged
306 // - IP4Vxlan *FlowIP4Vxlan
307 // - IP6Vxlan *FlowIP6Vxlan
308 // - IP4Gtpc *FlowIP4Gtpc
309 // - IP4Gtpu *FlowIP4Gtpu
310 XXX_UnionData [82]byte
313 func FlowUnionEthernet(a FlowEthernet) (u FlowUnion) {
317 func (u *FlowUnion) SetEthernet(a FlowEthernet) {
318 buf := codec.NewBuffer(u.XXX_UnionData[:])
319 buf.EncodeInt32(a.Foo)
320 buf.EncodeBytes(a.SrcAddr[:], 6)
321 buf.EncodeBytes(a.DstAddr[:], 6)
322 buf.EncodeUint16(a.Type)
324 func (u *FlowUnion) GetEthernet() (a FlowEthernet) {
325 buf := codec.NewBuffer(u.XXX_UnionData[:])
326 a.Foo = buf.DecodeInt32()
327 copy(a.SrcAddr[:], buf.DecodeBytes(6))
328 copy(a.DstAddr[:], buf.DecodeBytes(6))
329 a.Type = buf.DecodeUint16()
333 func FlowUnionIP4(a FlowIP4) (u FlowUnion) {
337 func (u *FlowUnion) SetIP4(a FlowIP4) {
338 buf := codec.NewBuffer(u.XXX_UnionData[:])
339 buf.EncodeInt32(a.Foo)
340 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
341 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
342 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
343 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
344 buf.EncodeUint8(uint8(a.Protocol.Prot))
345 buf.EncodeUint8(a.Protocol.Mask)
347 func (u *FlowUnion) GetIP4() (a FlowIP4) {
348 buf := codec.NewBuffer(u.XXX_UnionData[:])
349 a.Foo = buf.DecodeInt32()
350 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
351 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
352 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
353 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
354 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
355 a.Protocol.Mask = buf.DecodeUint8()
359 func FlowUnionIP6(a FlowIP6) (u FlowUnion) {
363 func (u *FlowUnion) SetIP6(a FlowIP6) {
364 buf := codec.NewBuffer(u.XXX_UnionData[:])
365 buf.EncodeInt32(a.Foo)
366 buf.EncodeBytes(a.SrcAddr.Addr[:], 16)
367 buf.EncodeBytes(a.SrcAddr.Mask[:], 16)
368 buf.EncodeBytes(a.DstAddr.Addr[:], 16)
369 buf.EncodeBytes(a.DstAddr.Mask[:], 16)
370 buf.EncodeUint8(uint8(a.Protocol.Prot))
371 buf.EncodeUint8(a.Protocol.Mask)
373 func (u *FlowUnion) GetIP6() (a FlowIP6) {
374 buf := codec.NewBuffer(u.XXX_UnionData[:])
375 a.Foo = buf.DecodeInt32()
376 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(16))
377 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(16))
378 copy(a.DstAddr.Addr[:], buf.DecodeBytes(16))
379 copy(a.DstAddr.Mask[:], buf.DecodeBytes(16))
380 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
381 a.Protocol.Mask = buf.DecodeUint8()
385 func FlowUnionIP4L2tpv3oip(a FlowIP4L2tpv3oip) (u FlowUnion) {
389 func (u *FlowUnion) SetIP4L2tpv3oip(a FlowIP4L2tpv3oip) {
390 buf := codec.NewBuffer(u.XXX_UnionData[:])
391 buf.EncodeInt32(a.Foo)
392 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
393 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
394 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
395 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
396 buf.EncodeUint8(uint8(a.Protocol.Prot))
397 buf.EncodeUint8(a.Protocol.Mask)
398 buf.EncodeUint32(a.SessionID)
400 func (u *FlowUnion) GetIP4L2tpv3oip() (a FlowIP4L2tpv3oip) {
401 buf := codec.NewBuffer(u.XXX_UnionData[:])
402 a.Foo = buf.DecodeInt32()
403 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
404 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
405 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
406 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
407 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
408 a.Protocol.Mask = buf.DecodeUint8()
409 a.SessionID = buf.DecodeUint32()
413 func FlowUnionIP4IpsecEsp(a FlowIP4IpsecEsp) (u FlowUnion) {
417 func (u *FlowUnion) SetIP4IpsecEsp(a FlowIP4IpsecEsp) {
418 buf := codec.NewBuffer(u.XXX_UnionData[:])
419 buf.EncodeInt32(a.Foo)
420 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
421 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
422 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
423 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
424 buf.EncodeUint8(uint8(a.Protocol.Prot))
425 buf.EncodeUint8(a.Protocol.Mask)
426 buf.EncodeUint32(a.Spi)
428 func (u *FlowUnion) GetIP4IpsecEsp() (a FlowIP4IpsecEsp) {
429 buf := codec.NewBuffer(u.XXX_UnionData[:])
430 a.Foo = buf.DecodeInt32()
431 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
432 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
433 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
434 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
435 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
436 a.Protocol.Mask = buf.DecodeUint8()
437 a.Spi = buf.DecodeUint32()
441 func FlowUnionIP4IpsecAh(a FlowIP4IpsecAh) (u FlowUnion) {
445 func (u *FlowUnion) SetIP4IpsecAh(a FlowIP4IpsecAh) {
446 buf := codec.NewBuffer(u.XXX_UnionData[:])
447 buf.EncodeInt32(a.Foo)
448 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
449 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
450 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
451 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
452 buf.EncodeUint8(uint8(a.Protocol.Prot))
453 buf.EncodeUint8(a.Protocol.Mask)
454 buf.EncodeUint32(a.Spi)
456 func (u *FlowUnion) GetIP4IpsecAh() (a FlowIP4IpsecAh) {
457 buf := codec.NewBuffer(u.XXX_UnionData[:])
458 a.Foo = buf.DecodeInt32()
459 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
460 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
461 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
462 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
463 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
464 a.Protocol.Mask = buf.DecodeUint8()
465 a.Spi = buf.DecodeUint32()
469 func FlowUnionIP4NTuple(a FlowIP4NTuple) (u FlowUnion) {
473 func (u *FlowUnion) SetIP4NTuple(a FlowIP4NTuple) {
474 buf := codec.NewBuffer(u.XXX_UnionData[:])
475 buf.EncodeInt32(a.Foo)
476 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
477 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
478 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
479 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
480 buf.EncodeUint8(uint8(a.Protocol.Prot))
481 buf.EncodeUint8(a.Protocol.Mask)
482 buf.EncodeUint16(a.SrcPort.Port)
483 buf.EncodeUint16(a.SrcPort.Mask)
484 buf.EncodeUint16(a.DstPort.Port)
485 buf.EncodeUint16(a.DstPort.Mask)
487 func (u *FlowUnion) GetIP4NTuple() (a FlowIP4NTuple) {
488 buf := codec.NewBuffer(u.XXX_UnionData[:])
489 a.Foo = buf.DecodeInt32()
490 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
491 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
492 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
493 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
494 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
495 a.Protocol.Mask = buf.DecodeUint8()
496 a.SrcPort.Port = buf.DecodeUint16()
497 a.SrcPort.Mask = buf.DecodeUint16()
498 a.DstPort.Port = buf.DecodeUint16()
499 a.DstPort.Mask = buf.DecodeUint16()
503 func FlowUnionIP6NTuple(a FlowIP6NTuple) (u FlowUnion) {
507 func (u *FlowUnion) SetIP6NTuple(a FlowIP6NTuple) {
508 buf := codec.NewBuffer(u.XXX_UnionData[:])
509 buf.EncodeInt32(a.Foo)
510 buf.EncodeBytes(a.SrcAddr.Addr[:], 16)
511 buf.EncodeBytes(a.SrcAddr.Mask[:], 16)
512 buf.EncodeBytes(a.DstAddr.Addr[:], 16)
513 buf.EncodeBytes(a.DstAddr.Mask[:], 16)
514 buf.EncodeUint8(uint8(a.Protocol.Prot))
515 buf.EncodeUint8(a.Protocol.Mask)
516 buf.EncodeUint16(a.SrcPort.Port)
517 buf.EncodeUint16(a.SrcPort.Mask)
518 buf.EncodeUint16(a.DstPort.Port)
519 buf.EncodeUint16(a.DstPort.Mask)
521 func (u *FlowUnion) GetIP6NTuple() (a FlowIP6NTuple) {
522 buf := codec.NewBuffer(u.XXX_UnionData[:])
523 a.Foo = buf.DecodeInt32()
524 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(16))
525 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(16))
526 copy(a.DstAddr.Addr[:], buf.DecodeBytes(16))
527 copy(a.DstAddr.Mask[:], buf.DecodeBytes(16))
528 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
529 a.Protocol.Mask = buf.DecodeUint8()
530 a.SrcPort.Port = buf.DecodeUint16()
531 a.SrcPort.Mask = buf.DecodeUint16()
532 a.DstPort.Port = buf.DecodeUint16()
533 a.DstPort.Mask = buf.DecodeUint16()
537 func FlowUnionIP4NTupleTagged(a FlowIP4NTupleTagged) (u FlowUnion) {
538 u.SetIP4NTupleTagged(a)
541 func (u *FlowUnion) SetIP4NTupleTagged(a FlowIP4NTupleTagged) {
542 buf := codec.NewBuffer(u.XXX_UnionData[:])
543 buf.EncodeInt32(a.Foo)
544 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
545 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
546 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
547 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
548 buf.EncodeUint8(uint8(a.Protocol.Prot))
549 buf.EncodeUint8(a.Protocol.Mask)
550 buf.EncodeUint16(a.SrcPort.Port)
551 buf.EncodeUint16(a.SrcPort.Mask)
552 buf.EncodeUint16(a.DstPort.Port)
553 buf.EncodeUint16(a.DstPort.Mask)
555 func (u *FlowUnion) GetIP4NTupleTagged() (a FlowIP4NTupleTagged) {
556 buf := codec.NewBuffer(u.XXX_UnionData[:])
557 a.Foo = buf.DecodeInt32()
558 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
559 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
560 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
561 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
562 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
563 a.Protocol.Mask = buf.DecodeUint8()
564 a.SrcPort.Port = buf.DecodeUint16()
565 a.SrcPort.Mask = buf.DecodeUint16()
566 a.DstPort.Port = buf.DecodeUint16()
567 a.DstPort.Mask = buf.DecodeUint16()
571 func FlowUnionIP6NTupleTagged(a FlowIP6NTupleTagged) (u FlowUnion) {
572 u.SetIP6NTupleTagged(a)
575 func (u *FlowUnion) SetIP6NTupleTagged(a FlowIP6NTupleTagged) {
576 buf := codec.NewBuffer(u.XXX_UnionData[:])
577 buf.EncodeInt32(a.Foo)
578 buf.EncodeBytes(a.SrcAddr.Addr[:], 16)
579 buf.EncodeBytes(a.SrcAddr.Mask[:], 16)
580 buf.EncodeBytes(a.DstAddr.Addr[:], 16)
581 buf.EncodeBytes(a.DstAddr.Mask[:], 16)
582 buf.EncodeUint8(uint8(a.Protocol.Prot))
583 buf.EncodeUint8(a.Protocol.Mask)
584 buf.EncodeUint16(a.SrcPort.Port)
585 buf.EncodeUint16(a.SrcPort.Mask)
586 buf.EncodeUint16(a.DstPort.Port)
587 buf.EncodeUint16(a.DstPort.Mask)
589 func (u *FlowUnion) GetIP6NTupleTagged() (a FlowIP6NTupleTagged) {
590 buf := codec.NewBuffer(u.XXX_UnionData[:])
591 a.Foo = buf.DecodeInt32()
592 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(16))
593 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(16))
594 copy(a.DstAddr.Addr[:], buf.DecodeBytes(16))
595 copy(a.DstAddr.Mask[:], buf.DecodeBytes(16))
596 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
597 a.Protocol.Mask = buf.DecodeUint8()
598 a.SrcPort.Port = buf.DecodeUint16()
599 a.SrcPort.Mask = buf.DecodeUint16()
600 a.DstPort.Port = buf.DecodeUint16()
601 a.DstPort.Mask = buf.DecodeUint16()
605 func FlowUnionIP4Vxlan(a FlowIP4Vxlan) (u FlowUnion) {
609 func (u *FlowUnion) SetIP4Vxlan(a FlowIP4Vxlan) {
610 buf := codec.NewBuffer(u.XXX_UnionData[:])
611 buf.EncodeInt32(a.Foo)
612 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
613 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
614 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
615 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
616 buf.EncodeUint8(uint8(a.Protocol.Prot))
617 buf.EncodeUint8(a.Protocol.Mask)
618 buf.EncodeUint16(a.SrcPort.Port)
619 buf.EncodeUint16(a.SrcPort.Mask)
620 buf.EncodeUint16(a.DstPort.Port)
621 buf.EncodeUint16(a.DstPort.Mask)
622 buf.EncodeUint32(a.Vni)
624 func (u *FlowUnion) GetIP4Vxlan() (a FlowIP4Vxlan) {
625 buf := codec.NewBuffer(u.XXX_UnionData[:])
626 a.Foo = buf.DecodeInt32()
627 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
628 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
629 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
630 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
631 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
632 a.Protocol.Mask = buf.DecodeUint8()
633 a.SrcPort.Port = buf.DecodeUint16()
634 a.SrcPort.Mask = buf.DecodeUint16()
635 a.DstPort.Port = buf.DecodeUint16()
636 a.DstPort.Mask = buf.DecodeUint16()
637 a.Vni = buf.DecodeUint32()
641 func FlowUnionIP6Vxlan(a FlowIP6Vxlan) (u FlowUnion) {
645 func (u *FlowUnion) SetIP6Vxlan(a FlowIP6Vxlan) {
646 buf := codec.NewBuffer(u.XXX_UnionData[:])
647 buf.EncodeInt32(a.Foo)
648 buf.EncodeBytes(a.SrcAddr.Addr[:], 16)
649 buf.EncodeBytes(a.SrcAddr.Mask[:], 16)
650 buf.EncodeBytes(a.DstAddr.Addr[:], 16)
651 buf.EncodeBytes(a.DstAddr.Mask[:], 16)
652 buf.EncodeUint8(uint8(a.Protocol.Prot))
653 buf.EncodeUint8(a.Protocol.Mask)
654 buf.EncodeUint16(a.SrcPort.Port)
655 buf.EncodeUint16(a.SrcPort.Mask)
656 buf.EncodeUint16(a.DstPort.Port)
657 buf.EncodeUint16(a.DstPort.Mask)
658 buf.EncodeUint32(a.Vni)
660 func (u *FlowUnion) GetIP6Vxlan() (a FlowIP6Vxlan) {
661 buf := codec.NewBuffer(u.XXX_UnionData[:])
662 a.Foo = buf.DecodeInt32()
663 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(16))
664 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(16))
665 copy(a.DstAddr.Addr[:], buf.DecodeBytes(16))
666 copy(a.DstAddr.Mask[:], buf.DecodeBytes(16))
667 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
668 a.Protocol.Mask = buf.DecodeUint8()
669 a.SrcPort.Port = buf.DecodeUint16()
670 a.SrcPort.Mask = buf.DecodeUint16()
671 a.DstPort.Port = buf.DecodeUint16()
672 a.DstPort.Mask = buf.DecodeUint16()
673 a.Vni = buf.DecodeUint32()
677 func FlowUnionIP4Gtpc(a FlowIP4Gtpc) (u FlowUnion) {
681 func (u *FlowUnion) SetIP4Gtpc(a FlowIP4Gtpc) {
682 buf := codec.NewBuffer(u.XXX_UnionData[:])
683 buf.EncodeInt32(a.Foo)
684 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
685 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
686 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
687 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
688 buf.EncodeUint8(uint8(a.Protocol.Prot))
689 buf.EncodeUint8(a.Protocol.Mask)
690 buf.EncodeUint16(a.SrcPort.Port)
691 buf.EncodeUint16(a.SrcPort.Mask)
692 buf.EncodeUint16(a.DstPort.Port)
693 buf.EncodeUint16(a.DstPort.Mask)
694 buf.EncodeUint32(a.Teid)
696 func (u *FlowUnion) GetIP4Gtpc() (a FlowIP4Gtpc) {
697 buf := codec.NewBuffer(u.XXX_UnionData[:])
698 a.Foo = buf.DecodeInt32()
699 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
700 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
701 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
702 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
703 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
704 a.Protocol.Mask = buf.DecodeUint8()
705 a.SrcPort.Port = buf.DecodeUint16()
706 a.SrcPort.Mask = buf.DecodeUint16()
707 a.DstPort.Port = buf.DecodeUint16()
708 a.DstPort.Mask = buf.DecodeUint16()
709 a.Teid = buf.DecodeUint32()
713 func FlowUnionIP4Gtpu(a FlowIP4Gtpu) (u FlowUnion) {
717 func (u *FlowUnion) SetIP4Gtpu(a FlowIP4Gtpu) {
718 buf := codec.NewBuffer(u.XXX_UnionData[:])
719 buf.EncodeInt32(a.Foo)
720 buf.EncodeBytes(a.SrcAddr.Addr[:], 4)
721 buf.EncodeBytes(a.SrcAddr.Mask[:], 4)
722 buf.EncodeBytes(a.DstAddr.Addr[:], 4)
723 buf.EncodeBytes(a.DstAddr.Mask[:], 4)
724 buf.EncodeUint8(uint8(a.Protocol.Prot))
725 buf.EncodeUint8(a.Protocol.Mask)
726 buf.EncodeUint16(a.SrcPort.Port)
727 buf.EncodeUint16(a.SrcPort.Mask)
728 buf.EncodeUint16(a.DstPort.Port)
729 buf.EncodeUint16(a.DstPort.Mask)
730 buf.EncodeUint32(a.Teid)
732 func (u *FlowUnion) GetIP4Gtpu() (a FlowIP4Gtpu) {
733 buf := codec.NewBuffer(u.XXX_UnionData[:])
734 a.Foo = buf.DecodeInt32()
735 copy(a.SrcAddr.Addr[:], buf.DecodeBytes(4))
736 copy(a.SrcAddr.Mask[:], buf.DecodeBytes(4))
737 copy(a.DstAddr.Addr[:], buf.DecodeBytes(4))
738 copy(a.DstAddr.Mask[:], buf.DecodeBytes(4))
739 a.Protocol.Prot = ip_types.IPProto(buf.DecodeUint8())
740 a.Protocol.Mask = buf.DecodeUint8()
741 a.SrcPort.Port = buf.DecodeUint16()
742 a.SrcPort.Mask = buf.DecodeUint16()
743 a.DstPort.Port = buf.DecodeUint16()
744 a.DstPort.Mask = buf.DecodeUint16()
745 a.Teid = buf.DecodeUint32()