github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/binapi/acl_types/acl_types.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  // versions:
     3  //  binapi-generator: v0.4.0-dev
     4  //  VPP:              23.02-rc0~189-g57127b32a
     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 "github.com/edwarnicke/govpp/binapi/ethernet_types"
    20  	ip_types "github.com/edwarnicke/govpp/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  }