binapigen: fix union size
[govpp.git] / binapi / acl_types / acl_types.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/acl_types.api.json
6
7 // Package acl_types contains generated bindings for API file acl_types.api.
8 //
9 // Contents:
10 //   1 enum
11 //   2 structs
12 //
13 package acl_types
14
15 import (
16         "strconv"
17
18         api "git.fd.io/govpp.git/api"
19         ethernet_types "git.fd.io/govpp.git/binapi/ethernet_types"
20         ip_types "git.fd.io/govpp.git/binapi/ip_types"
21 )
22
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
28
29 // ACLAction defines enum 'acl_action'.
30 type ACLAction uint8
31
32 const (
33         ACL_ACTION_API_DENY           ACLAction = 0
34         ACL_ACTION_API_PERMIT         ACLAction = 1
35         ACL_ACTION_API_PERMIT_REFLECT ACLAction = 2
36 )
37
38 var (
39         ACLAction_name = map[uint8]string{
40                 0: "ACL_ACTION_API_DENY",
41                 1: "ACL_ACTION_API_PERMIT",
42                 2: "ACL_ACTION_API_PERMIT_REFLECT",
43         }
44         ACLAction_value = map[string]uint8{
45                 "ACL_ACTION_API_DENY":           0,
46                 "ACL_ACTION_API_PERMIT":         1,
47                 "ACL_ACTION_API_PERMIT_REFLECT": 2,
48         }
49 )
50
51 func (x ACLAction) String() string {
52         s, ok := ACLAction_name[uint8(x)]
53         if ok {
54                 return s
55         }
56         return "ACLAction(" + strconv.Itoa(int(x)) + ")"
57 }
58
59 // ACLRule defines type 'acl_rule'.
60 type ACLRule struct {
61         IsPermit               ACLAction        `binapi:"acl_action,name=is_permit" json:"is_permit,omitempty"`
62         SrcPrefix              ip_types.Prefix  `binapi:"prefix,name=src_prefix" json:"src_prefix,omitempty"`
63         DstPrefix              ip_types.Prefix  `binapi:"prefix,name=dst_prefix" json:"dst_prefix,omitempty"`
64         Proto                  ip_types.IPProto `binapi:"ip_proto,name=proto" json:"proto,omitempty"`
65         SrcportOrIcmptypeFirst uint16           `binapi:"u16,name=srcport_or_icmptype_first" json:"srcport_or_icmptype_first,omitempty"`
66         SrcportOrIcmptypeLast  uint16           `binapi:"u16,name=srcport_or_icmptype_last" json:"srcport_or_icmptype_last,omitempty"`
67         DstportOrIcmpcodeFirst uint16           `binapi:"u16,name=dstport_or_icmpcode_first" json:"dstport_or_icmpcode_first,omitempty"`
68         DstportOrIcmpcodeLast  uint16           `binapi:"u16,name=dstport_or_icmpcode_last" json:"dstport_or_icmpcode_last,omitempty"`
69         TCPFlagsMask           uint8            `binapi:"u8,name=tcp_flags_mask" json:"tcp_flags_mask,omitempty"`
70         TCPFlagsValue          uint8            `binapi:"u8,name=tcp_flags_value" json:"tcp_flags_value,omitempty"`
71 }
72
73 // MacipACLRule defines type 'macip_acl_rule'.
74 type MacipACLRule struct {
75         IsPermit   ACLAction                 `binapi:"acl_action,name=is_permit" json:"is_permit,omitempty"`
76         SrcMac     ethernet_types.MacAddress `binapi:"mac_address,name=src_mac" json:"src_mac,omitempty"`
77         SrcMacMask ethernet_types.MacAddress `binapi:"mac_address,name=src_mac_mask" json:"src_mac_mask,omitempty"`
78         SrcPrefix  ip_types.Prefix           `binapi:"prefix,name=src_prefix" json:"src_prefix,omitempty"`
79 }