acl

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2017 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package acl is a generated protocol buffer package.

It is generated from these files:

acl.proto

It has these top-level messages:

AccessLists

Index

Constants

This section is empty.

Variables

View Source
var AclAction_name = map[int32]string{
	0: "DENY",
	1: "PERMIT",
}
View Source
var AclAction_value = map[string]int32{
	"DENY":   0,
	"PERMIT": 1,
}

Functions

func Key

func Key(aclName string) string

Key returns the prefix used in ETCD to store vpp ACL config of a particular ACL in selected vpp instance

func KeyPrefix

func KeyPrefix() string

KeyPrefix returns the prefix used in ETCD to store vpp ACLs config

Types

type AccessLists

type AccessLists struct {
	Acl []*AccessLists_Acl `protobuf:"bytes,1,rep,name=acl" json:"acl,omitempty"`
}

This is a top level container for Access Control Lists. It can have one or more Access Control Lists.

func (*AccessLists) GetAcl

func (m *AccessLists) GetAcl() []*AccessLists_Acl

func (*AccessLists) ProtoMessage

func (*AccessLists) ProtoMessage()

func (*AccessLists) Reset

func (m *AccessLists) Reset()

func (*AccessLists) String

func (m *AccessLists) String() string

type AccessLists_Acl

type AccessLists_Acl struct {
	Rules []*AccessLists_Acl_Rule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"`
	// The name of access-list. A device MAY restrict the length
	// and value of this name, possibly spRule and special
	// characters are not allowed.
	AclName string `protobuf:"bytes,3,opt,name=acl_name,proto3" json:"acl_name,omitempty"`
	// The set of interfRules that has assigned this ACL on ingres or egress
	Interfaces *AccessLists_Acl_Interfaces `protobuf:"bytes,2,opt,name=interfaces" json:"interfaces,omitempty"`
}

An Access Control List(ACL) is an ordered list of Access List Rules. Each Access Control Rule has a list of match criteria and a list of actions.

func (*AccessLists_Acl) GetInterfaces

func (m *AccessLists_Acl) GetInterfaces() *AccessLists_Acl_Interfaces

func (*AccessLists_Acl) GetRules

func (m *AccessLists_Acl) GetRules() []*AccessLists_Acl_Rule

func (*AccessLists_Acl) ProtoMessage

func (*AccessLists_Acl) ProtoMessage()

func (*AccessLists_Acl) Reset

func (m *AccessLists_Acl) Reset()

func (*AccessLists_Acl) String

func (m *AccessLists_Acl) String() string

type AccessLists_Acl_Interfaces

type AccessLists_Acl_Interfaces struct {
	Egress  []string `protobuf:"bytes,1,rep,name=egress" json:"egress,omitempty"`
	Ingress []string `protobuf:"bytes,2,rep,name=ingress" json:"ingress,omitempty"`
}

func (*AccessLists_Acl_Interfaces) ProtoMessage

func (*AccessLists_Acl_Interfaces) ProtoMessage()

func (*AccessLists_Acl_Interfaces) Reset

func (m *AccessLists_Acl_Interfaces) Reset()

func (*AccessLists_Acl_Interfaces) String

func (m *AccessLists_Acl_Interfaces) String() string

type AccessLists_Acl_Rule

type AccessLists_Acl_Rule struct {
	Actions *AccessLists_Acl_Rule_Actions `protobuf:"bytes,2,opt,name=actions" json:"actions,omitempty"`
	Matches *AccessLists_Acl_Rule_Matches `protobuf:"bytes,3,opt,name=matches" json:"matches,omitempty"`
	// Access List entry that can define:
	// - IP4/IP6 src ip prefix
	// - src MAC address mask
	// - src MAC address value
	// - can be used only for static ACLs.
	// A unique name identifying this Access List
	// Entry(Rule).
	RuleName string `protobuf:"bytes,5,opt,name=rule_name,proto3" json:"rule_name,omitempty"`
}

List of access list entries(Rule)

func (*AccessLists_Acl_Rule) GetActions

func (*AccessLists_Acl_Rule) GetMatches

func (*AccessLists_Acl_Rule) ProtoMessage

func (*AccessLists_Acl_Rule) ProtoMessage()

func (*AccessLists_Acl_Rule) Reset

func (m *AccessLists_Acl_Rule) Reset()

func (*AccessLists_Acl_Rule) String

func (m *AccessLists_Acl_Rule) String() string

type AccessLists_Acl_Rule_Actions

type AccessLists_Acl_Rule_Actions struct {
	AclAction AclAction `protobuf:"varint,1,opt,name=acl_action,proto3,enum=acl.AclAction" json:"acl_action,omitempty"`
}

Definitions of action criteria for this Access List Rule

func (*AccessLists_Acl_Rule_Actions) ProtoMessage

func (*AccessLists_Acl_Rule_Actions) ProtoMessage()

func (*AccessLists_Acl_Rule_Actions) Reset

func (m *AccessLists_Acl_Rule_Actions) Reset()

func (*AccessLists_Acl_Rule_Actions) String

type AccessLists_Acl_Rule_Matches

type AccessLists_Acl_Rule_Matches struct {
	IpRule    *AccessLists_Acl_Rule_Matches_IpRule    `protobuf:"bytes,1,opt,name=ip_rule" json:"ip_rule,omitempty"`
	MacipRule *AccessLists_Acl_Rule_Matches_MacIpRule `protobuf:"bytes,4,opt,name=macip_rule" json:"macip_rule,omitempty"`
}

Definitions for match criteria for this Access List Rule

func (*AccessLists_Acl_Rule_Matches) GetIpRule

func (*AccessLists_Acl_Rule_Matches) GetMacipRule

func (*AccessLists_Acl_Rule_Matches) ProtoMessage

func (*AccessLists_Acl_Rule_Matches) ProtoMessage()

func (*AccessLists_Acl_Rule_Matches) Reset

func (m *AccessLists_Acl_Rule_Matches) Reset()

func (*AccessLists_Acl_Rule_Matches) String

type AccessLists_Acl_Rule_Matches_IpRule

type AccessLists_Acl_Rule_Matches_IpRule struct {
	Ip    *AccessLists_Acl_Rule_Matches_IpRule_Ip    `protobuf:"bytes,1,opt,name=ip" json:"ip,omitempty"`
	Icmp  *AccessLists_Acl_Rule_Matches_IpRule_Icmp  `protobuf:"bytes,2,opt,name=icmp" json:"icmp,omitempty"`
	Tcp   *AccessLists_Acl_Rule_Matches_IpRule_Tcp   `protobuf:"bytes,4,opt,name=tcp" json:"tcp,omitempty"`
	Udp   *AccessLists_Acl_Rule_Matches_IpRule_Udp   `protobuf:"bytes,5,opt,name=udp" json:"udp,omitempty"`
	Other *AccessLists_Acl_Rule_Matches_IpRule_Other `protobuf:"bytes,3,opt,name=other" json:"other,omitempty"`
}

Access List entry that can define: - IP4/IP6 src/dst ip prefix- Internet Protocol number - Internet Protocol number - selected L4 headers:

  • ICMP (type range)
  • UDP (port range)
  • TCP (port range, flags mask, flags value)

func (*AccessLists_Acl_Rule_Matches_IpRule) GetIcmp

func (*AccessLists_Acl_Rule_Matches_IpRule) GetIp

func (*AccessLists_Acl_Rule_Matches_IpRule) GetOther

func (*AccessLists_Acl_Rule_Matches_IpRule) GetTcp

func (*AccessLists_Acl_Rule_Matches_IpRule) GetUdp

func (*AccessLists_Acl_Rule_Matches_IpRule) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule) ProtoMessage()

func (*AccessLists_Acl_Rule_Matches_IpRule) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule) String

type AccessLists_Acl_Rule_Matches_IpRule_Icmp

type AccessLists_Acl_Rule_Matches_IpRule_Icmp struct {
	// ICMPv6 flag, if false ICMPv4 will be used
	Icmpv6        bool                                                    `protobuf:"varint,1,opt,proto3" json:"Icmpv6,omitempty"`
	IcmpCodeRange *AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpCodeRange `protobuf:"bytes,2,opt,name=icmp_code_range" json:"icmp_code_range,omitempty"`
	IcmpTypeRange *AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpTypeRange `protobuf:"bytes,3,opt,name=icmp_type_range" json:"icmp_type_range,omitempty"`
}

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp) GetIcmpCodeRange

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp) GetIcmpTypeRange

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp) String

type AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpCodeRange

type AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpCodeRange struct {
	// Lower boundary for range
	First uint32 `protobuf:"varint,1,opt,name=first,proto3" json:"first,omitempty"`
	// Upper boundary for range
	Last uint32 `protobuf:"varint,2,opt,name=last,proto3" json:"last,omitempty"`
}

Inclusive range representing icmp codes to be used.

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpCodeRange) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpCodeRange) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpCodeRange) String

type AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpTypeRange

type AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpTypeRange struct {
	// Lower boundary for range
	First uint32 `protobuf:"varint,1,opt,name=first,proto3" json:"first,omitempty"`
	// Upper boundary for range
	Last uint32 `protobuf:"varint,2,opt,name=last,proto3" json:"last,omitempty"`
}

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpTypeRange) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpTypeRange) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Icmp_IcmpTypeRange) String

type AccessLists_Acl_Rule_Matches_IpRule_Ip

type AccessLists_Acl_Rule_Matches_IpRule_Ip struct {
	// Destination IPv4/IPv6 network
	DestinationNetwork string `protobuf:"bytes,1,opt,name=destination_network,proto3" json:"destination_network,omitempty"`
	// Destination IPv4/IPv6 network
	SourceNetwork string `protobuf:"bytes,2,opt,name=source_network,proto3" json:"source_network,omitempty"`
}

IP version used in this Access List Entry.

func (*AccessLists_Acl_Rule_Matches_IpRule_Ip) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Ip) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Ip) String

type AccessLists_Acl_Rule_Matches_IpRule_Other

type AccessLists_Acl_Rule_Matches_IpRule_Other struct {
	// Internet Protocol number.
	Protocol uint32 `protobuf:"varint,1,opt,name=protocol,proto3" json:"protocol,omitempty"`
}

func (*AccessLists_Acl_Rule_Matches_IpRule_Other) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Other) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Other) String

type AccessLists_Acl_Rule_Matches_IpRule_Tcp

type AccessLists_Acl_Rule_Matches_IpRule_Tcp struct {
	DestinationPortRange *AccessLists_Acl_Rule_Matches_IpRule_Tcp_DestinationPortRange `protobuf:"bytes,1,opt,name=destination_port_range" json:"destination_port_range,omitempty"`
	SourcePortRange      *AccessLists_Acl_Rule_Matches_IpRule_Tcp_SourcePortRange      `protobuf:"bytes,2,opt,name=source_port_range" json:"source_port_range,omitempty"`
	// Binary mask for tcp flags to match. MSB order (FIN at position 0).
	// Applied as logical AND to tcp flags field of the packet being matched,
	// before it is compared with tcp-flags-value.
	TcpFlagsMask uint32 `protobuf:"varint,3,opt,name=tcp_flags_mask,proto3" json:"tcp_flags_mask,omitempty"`
	// Binary value for tcp flags to match. MSB order (FIN at position 0).
	// Before tcp-flags-value is compared with tcp flags field of the packet being matched,
	// tcp-flags-mask is applied to packet field value.
	TcpFlagsValue uint32 `protobuf:"varint,4,opt,name=tcp_flags_value,proto3" json:"tcp_flags_value,omitempty"`
}

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp) GetDestinationPortRange

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp) GetSourcePortRange

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp) String

type AccessLists_Acl_Rule_Matches_IpRule_Tcp_DestinationPortRange

type AccessLists_Acl_Rule_Matches_IpRule_Tcp_DestinationPortRange struct {
	// Lower boundary for port.
	LowerPort uint32 `protobuf:"varint,1,opt,name=lower_port,proto3" json:"lower_port,omitempty"`
	// Upper boundary for port. If existing, the upper port must
	// be greater or equal to lower-port
	UpperPort uint32 `protobuf:"varint,2,opt,name=upper_port,proto3" json:"upper_port,omitempty"`
}

Inclusive range representing destination ports to be used. When only lower-port is present, it represents a single port.

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp_DestinationPortRange) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp_DestinationPortRange) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp_DestinationPortRange) String

type AccessLists_Acl_Rule_Matches_IpRule_Tcp_SourcePortRange

type AccessLists_Acl_Rule_Matches_IpRule_Tcp_SourcePortRange struct {
	// Lower boundary for port.
	LowerPort uint32 `protobuf:"varint,1,opt,name=lower_port,proto3" json:"lower_port,omitempty"`
	// Upper boundary for port . If existing, the upper port
	// must be greater or equal to lower-port.
	UpperPort uint32 `protobuf:"varint,2,opt,name=upper_port,proto3" json:"upper_port,omitempty"`
}

Inclusive range representing source ports to be used. When only lower-port is present, it represents a single port.

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp_SourcePortRange) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp_SourcePortRange) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Tcp_SourcePortRange) String

type AccessLists_Acl_Rule_Matches_IpRule_Udp

type AccessLists_Acl_Rule_Matches_IpRule_Udp struct {
	DestinationPortRange *AccessLists_Acl_Rule_Matches_IpRule_Udp_DestinationPortRange `protobuf:"bytes,1,opt,name=destination_port_range" json:"destination_port_range,omitempty"`
	SourcePortRange      *AccessLists_Acl_Rule_Matches_IpRule_Udp_SourcePortRange      `protobuf:"bytes,2,opt,name=source_port_range" json:"source_port_range,omitempty"`
}

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp) GetDestinationPortRange

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp) GetSourcePortRange

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp) String

type AccessLists_Acl_Rule_Matches_IpRule_Udp_DestinationPortRange

type AccessLists_Acl_Rule_Matches_IpRule_Udp_DestinationPortRange struct {
	// Lower boundary for port.
	LowerPort uint32 `protobuf:"varint,1,opt,name=lower_port,proto3" json:"lower_port,omitempty"`
	// Upper boundary for port. If existing, the upper port must
	// be greater or equal to lower-port
	UpperPort uint32 `protobuf:"varint,2,opt,name=upper_port,proto3" json:"upper_port,omitempty"`
}

Inclusive range representing destination ports to be used. When only lower-port is present, it represents a single port.

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp_DestinationPortRange) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp_DestinationPortRange) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp_DestinationPortRange) String

type AccessLists_Acl_Rule_Matches_IpRule_Udp_SourcePortRange

type AccessLists_Acl_Rule_Matches_IpRule_Udp_SourcePortRange struct {
	// Lower boundary for port.
	LowerPort uint32 `protobuf:"varint,1,opt,name=lower_port,proto3" json:"lower_port,omitempty"`
	// Upper boundary for port . If existing, the upper port
	// must be greater or equal to lower-port.
	UpperPort uint32 `protobuf:"varint,2,opt,name=upper_port,proto3" json:"upper_port,omitempty"`
}

Inclusive range representing source ports to be used. When only lower-port is present, it represents a single port.

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp_SourcePortRange) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp_SourcePortRange) Reset

func (*AccessLists_Acl_Rule_Matches_IpRule_Udp_SourcePortRange) String

type AccessLists_Acl_Rule_Matches_MacIpRule

type AccessLists_Acl_Rule_Matches_MacIpRule struct {
	// Source IPv4/Ipv6 address
	SourceAddress string `protobuf:"bytes,1,opt,name=source_address,proto3" json:"source_address,omitempty"`
	// Source IPv4/Ipv6 address prefix
	SourceAddressPrefix uint32 `protobuf:"varint,2,opt,name=source_address_prefix,proto3" json:"source_address_prefix,omitempty"`
	// Source IEEE 802 MAC address.
	// Before source-mac-address is compared with source mac address field of the packet being matched,
	// source-mac-address-mask is applied to packet field value.
	SourceMacAddress string `protobuf:"bytes,3,opt,name=source_mac_address,proto3" json:"source_mac_address,omitempty"`
	// Source IEEE 802 MAC address mask.
	// Applied as logical AND with source mac address field of the packet being matched,
	// before it is compared with source-mac-address.
	SourceMacAddressMask string `protobuf:"bytes,4,opt,name=source_mac_address_mask,proto3" json:"source_mac_address_mask,omitempty"`
}

func (*AccessLists_Acl_Rule_Matches_MacIpRule) ProtoMessage

func (*AccessLists_Acl_Rule_Matches_MacIpRule) Reset

func (*AccessLists_Acl_Rule_Matches_MacIpRule) String

type AclAction

type AclAction int32
const (
	AclAction_DENY   AclAction = 0
	AclAction_PERMIT AclAction = 1
)

func (AclAction) String

func (x AclAction) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL