ela

package
v0.0.0-...-4380e07 Latest Latest
Warning

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

Go to latest
Published: May 27, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NetworkInterface_InterfaceDriver_name = map[int32]string{
	0: "KERNEL",
	1: "USERSPACE",
}
View Source
var NetworkInterface_InterfaceDriver_value = map[string]int32{
	"KERNEL":    0,
	"USERSPACE": 1,
}
View Source
var NetworkInterface_InterfaceType_name = map[int32]string{
	0: "NONE",
	1: "UPSTREAM",
	2: "DOWNSTREAM",
	3: "BIDIRECTIONAL",
	4: "BREAKOUT",
}
View Source
var NetworkInterface_InterfaceType_value = map[string]int32{
	"NONE":          0,
	"UPSTREAM":      1,
	"DOWNSTREAM":    2,
	"BIDIRECTIONAL": 3,
	"BREAKOUT":      4,
}
View Source
var NetworkSetting_Status_name = map[int32]string{
	0: "NONE",
	1: "STATIC",
	2: "DHCPv4",
	3: "DHCPv6",
	4: "SLAAC",
}
View Source
var NetworkSetting_Status_value = map[string]int32{
	"NONE":   0,
	"STATIC": 1,
	"DHCPv4": 2,
	"DHCPv6": 3,
	"SLAAC":  4,
}
View Source
var TrafficTarget_TargetAction_name = map[int32]string{
	0: "ACCEPT",
	1: "REJECT",
	2: "DROP",
}
View Source
var TrafficTarget_TargetAction_value = map[string]int32{
	"ACCEPT": 0,
	"REJECT": 1,
	"DROP":   2,
}

Functions

func RegisterApplicationPolicyServiceServer

func RegisterApplicationPolicyServiceServer(s *grpc.Server, srv ApplicationPolicyServiceServer)

func RegisterDNSServiceServer

func RegisterDNSServiceServer(s *grpc.Server, srv DNSServiceServer)

func RegisterInterfacePolicyServiceServer

func RegisterInterfacePolicyServiceServer(s *grpc.Server, srv InterfacePolicyServiceServer)

func RegisterInterfaceServiceServer

func RegisterInterfaceServiceServer(s *grpc.Server, srv InterfaceServiceServer)

func RegisterZoneServiceServer

func RegisterZoneServiceServer(s *grpc.Server, srv ZoneServiceServer)

Types

type ApplicationPolicyServiceClient

type ApplicationPolicyServiceClient interface {
	Set(ctx context.Context, in *TrafficPolicy, opts ...grpc.CallOption) (*empty.Empty, error)
}

ApplicationPolicyServiceClient is the client API for ApplicationPolicyService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewApplicationPolicyServiceClient

func NewApplicationPolicyServiceClient(cc *grpc.ClientConn) ApplicationPolicyServiceClient

type ApplicationPolicyServiceServer

type ApplicationPolicyServiceServer interface {
	Set(context.Context, *TrafficPolicy) (*empty.Empty, error)
}

ApplicationPolicyServiceServer is the server API for ApplicationPolicyService service.

type DNSARecordSet

type DNSARecordSet struct {
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Values               []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

DNSARecordSet contains one or more values for a name, which is a fully qualified domain name (FQDN). The values are typically either an ID for the record (such as an application ID or a VNF ID) or an IP address.

func (*DNSARecordSet) Descriptor

func (*DNSARecordSet) Descriptor() ([]byte, []int)

func (*DNSARecordSet) GetName

func (m *DNSARecordSet) GetName() string

func (*DNSARecordSet) GetValues

func (m *DNSARecordSet) GetValues() []string

func (*DNSARecordSet) ProtoMessage

func (*DNSARecordSet) ProtoMessage()

func (*DNSARecordSet) Reset

func (m *DNSARecordSet) Reset()

func (*DNSARecordSet) String

func (m *DNSARecordSet) String() string

func (*DNSARecordSet) XXX_DiscardUnknown

func (m *DNSARecordSet) XXX_DiscardUnknown()

func (*DNSARecordSet) XXX_Marshal

func (m *DNSARecordSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DNSARecordSet) XXX_Merge

func (m *DNSARecordSet) XXX_Merge(src proto.Message)

func (*DNSARecordSet) XXX_Size

func (m *DNSARecordSet) XXX_Size() int

func (*DNSARecordSet) XXX_Unmarshal

func (m *DNSARecordSet) XXX_Unmarshal(b []byte) error

type DNSForwarders

type DNSForwarders struct {
	IpAddresses          []string `protobuf:"bytes,1,rep,name=ip_addresses,json=ipAddresses,proto3" json:"ip_addresses,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

DNSForwarders represents the upstream DNS forwarders, which may be used when the DNS services is performing a recursive lookup. Forwarders should be utilized when more advanced DNS usage is desired.

func (*DNSForwarders) Descriptor

func (*DNSForwarders) Descriptor() ([]byte, []int)

func (*DNSForwarders) GetIpAddresses

func (m *DNSForwarders) GetIpAddresses() []string

func (*DNSForwarders) ProtoMessage

func (*DNSForwarders) ProtoMessage()

func (*DNSForwarders) Reset

func (m *DNSForwarders) Reset()

func (*DNSForwarders) String

func (m *DNSForwarders) String() string

func (*DNSForwarders) XXX_DiscardUnknown

func (m *DNSForwarders) XXX_DiscardUnknown()

func (*DNSForwarders) XXX_Marshal

func (m *DNSForwarders) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DNSForwarders) XXX_Merge

func (m *DNSForwarders) XXX_Merge(src proto.Message)

func (*DNSForwarders) XXX_Size

func (m *DNSForwarders) XXX_Size() int

func (*DNSForwarders) XXX_Unmarshal

func (m *DNSForwarders) XXX_Unmarshal(b []byte) error

type DNSServiceClient

type DNSServiceClient interface {
	SetA(ctx context.Context, in *DNSARecordSet, opts ...grpc.CallOption) (*empty.Empty, error)
	DeleteA(ctx context.Context, in *DNSARecordSet, opts ...grpc.CallOption) (*empty.Empty, error)
	SetForwarders(ctx context.Context, in *DNSForwarders, opts ...grpc.CallOption) (*empty.Empty, error)
	DeleteForwarders(ctx context.Context, in *DNSForwarders, opts ...grpc.CallOption) (*empty.Empty, error)
}

DNSServiceClient is the client API for DNSService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewDNSServiceClient

func NewDNSServiceClient(cc *grpc.ClientConn) DNSServiceClient

type DNSServiceServer

type DNSServiceServer interface {
	SetA(context.Context, *DNSARecordSet) (*empty.Empty, error)
	DeleteA(context.Context, *DNSARecordSet) (*empty.Empty, error)
	SetForwarders(context.Context, *DNSForwarders) (*empty.Empty, error)
	DeleteForwarders(context.Context, *DNSForwarders) (*empty.Empty, error)
}

DNSServiceServer is the server API for DNSService service.

type GTPFilter

type GTPFilter struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Mask                 uint32   `protobuf:"varint,2,opt,name=mask,proto3" json:"mask,omitempty"`
	Imsis                []string `protobuf:"bytes,3,rep,name=imsis,proto3" json:"imsis,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

GTPFilter specifies properties related to GTP filters. Some implementations may not support multiple addresses or multiple IMSIs.

func (*GTPFilter) Descriptor

func (*GTPFilter) Descriptor() ([]byte, []int)

func (*GTPFilter) GetAddress

func (m *GTPFilter) GetAddress() string

func (*GTPFilter) GetImsis

func (m *GTPFilter) GetImsis() []string

func (*GTPFilter) GetMask

func (m *GTPFilter) GetMask() uint32

func (*GTPFilter) ProtoMessage

func (*GTPFilter) ProtoMessage()

func (*GTPFilter) Reset

func (m *GTPFilter) Reset()

func (*GTPFilter) String

func (m *GTPFilter) String() string

func (*GTPFilter) XXX_DiscardUnknown

func (m *GTPFilter) XXX_DiscardUnknown()

func (*GTPFilter) XXX_Marshal

func (m *GTPFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GTPFilter) XXX_Merge

func (m *GTPFilter) XXX_Merge(src proto.Message)

func (*GTPFilter) XXX_Size

func (m *GTPFilter) XXX_Size() int

func (*GTPFilter) XXX_Unmarshal

func (m *GTPFilter) XXX_Unmarshal(b []byte) error

type IPFilter

type IPFilter struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Mask                 uint32   `protobuf:"varint,2,opt,name=mask,proto3" json:"mask,omitempty"`
	BeginPort            uint32   `protobuf:"varint,3,opt,name=begin_port,json=beginPort,proto3" json:"begin_port,omitempty"`
	EndPort              uint32   `protobuf:"varint,4,opt,name=end_port,json=endPort,proto3" json:"end_port,omitempty"`
	Protocol             string   `protobuf:"bytes,5,opt,name=protocol,proto3" json:"protocol,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

IPFilter specifies properties related to IP filters. Some implementations may not support multiple IP address (subnets) or have IPv6 support.

If a caller wishes to define a single port, begin_port and end_port should be the same. For example, if the port is 3306, begin_port is 3306 and end_port is 3306. It is invalid to provide a begin_port that is greater than the end_port.

Leaving the address and mask fields empty implies that all possible IP addresses are in the filter. Leaving these primitive datatypes empty defaults to the type's zero-value (as is the norm in protobuf). The following describes the behavior depending on how the fields are populated:

___________________________________________________________________________

| Address | Mask | Result | | Zero-value ("") | Zero-value (0) | All IPv4 (and IPv6, if supported) | | "0.0.0.0" | Zero-value (0) | All IPv4 only | | "::" | Zero-value (0) | All IPv6 only (if supported) | | "1.2.3.4" | Zero-value (0) | Invalid | | Zero-value ("") | 24 | Invalid |

___________________________________________________________________________

func (*IPFilter) Descriptor

func (*IPFilter) Descriptor() ([]byte, []int)

func (*IPFilter) GetAddress

func (m *IPFilter) GetAddress() string

func (*IPFilter) GetBeginPort

func (m *IPFilter) GetBeginPort() uint32

func (*IPFilter) GetEndPort

func (m *IPFilter) GetEndPort() uint32

func (*IPFilter) GetMask

func (m *IPFilter) GetMask() uint32

func (*IPFilter) GetProtocol

func (m *IPFilter) GetProtocol() string

func (*IPFilter) ProtoMessage

func (*IPFilter) ProtoMessage()

func (*IPFilter) Reset

func (m *IPFilter) Reset()

func (*IPFilter) String

func (m *IPFilter) String() string

func (*IPFilter) XXX_DiscardUnknown

func (m *IPFilter) XXX_DiscardUnknown()

func (*IPFilter) XXX_Marshal

func (m *IPFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IPFilter) XXX_Merge

func (m *IPFilter) XXX_Merge(src proto.Message)

func (*IPFilter) XXX_Size

func (m *IPFilter) XXX_Size() int

func (*IPFilter) XXX_Unmarshal

func (m *IPFilter) XXX_Unmarshal(b []byte) error

type IPModifier

type IPModifier struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port                 uint32   `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

IPModifier defines the IP properties that should be modified

func (*IPModifier) Descriptor

func (*IPModifier) Descriptor() ([]byte, []int)

func (*IPModifier) GetAddress

func (m *IPModifier) GetAddress() string

func (*IPModifier) GetPort

func (m *IPModifier) GetPort() uint32

func (*IPModifier) ProtoMessage

func (*IPModifier) ProtoMessage()

func (*IPModifier) Reset

func (m *IPModifier) Reset()

func (*IPModifier) String

func (m *IPModifier) String() string

func (*IPModifier) XXX_DiscardUnknown

func (m *IPModifier) XXX_DiscardUnknown()

func (*IPModifier) XXX_Marshal

func (m *IPModifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IPModifier) XXX_Merge

func (m *IPModifier) XXX_Merge(src proto.Message)

func (*IPModifier) XXX_Size

func (m *IPModifier) XXX_Size() int

func (*IPModifier) XXX_Unmarshal

func (m *IPModifier) XXX_Unmarshal(b []byte) error

type InterfaceID

type InterfaceID struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*InterfaceID) Descriptor

func (*InterfaceID) Descriptor() ([]byte, []int)

func (*InterfaceID) GetId

func (m *InterfaceID) GetId() string

func (*InterfaceID) ProtoMessage

func (*InterfaceID) ProtoMessage()

func (*InterfaceID) Reset

func (m *InterfaceID) Reset()

func (*InterfaceID) String

func (m *InterfaceID) String() string

func (*InterfaceID) XXX_DiscardUnknown

func (m *InterfaceID) XXX_DiscardUnknown()

func (*InterfaceID) XXX_Marshal

func (m *InterfaceID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InterfaceID) XXX_Merge

func (m *InterfaceID) XXX_Merge(src proto.Message)

func (*InterfaceID) XXX_Size

func (m *InterfaceID) XXX_Size() int

func (*InterfaceID) XXX_Unmarshal

func (m *InterfaceID) XXX_Unmarshal(b []byte) error

type InterfacePolicyServiceClient

type InterfacePolicyServiceClient interface {
	Set(ctx context.Context, in *TrafficPolicy, opts ...grpc.CallOption) (*empty.Empty, error)
}

InterfacePolicyServiceClient is the client API for InterfacePolicyService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewInterfacePolicyServiceClient

func NewInterfacePolicyServiceClient(cc *grpc.ClientConn) InterfacePolicyServiceClient

type InterfacePolicyServiceServer

type InterfacePolicyServiceServer interface {
	Set(context.Context, *TrafficPolicy) (*empty.Empty, error)
}

InterfacePolicyServiceServer is the server API for InterfacePolicyService service.

type InterfaceServiceClient

type InterfaceServiceClient interface {
	Update(ctx context.Context, in *NetworkInterface, opts ...grpc.CallOption) (*empty.Empty, error)
	BulkUpdate(ctx context.Context, in *NetworkInterfaces, opts ...grpc.CallOption) (*empty.Empty, error)
	GetAll(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*NetworkInterfaces, error)
	Get(ctx context.Context, in *InterfaceID, opts ...grpc.CallOption) (*NetworkInterface, error)
}

InterfaceServiceClient is the client API for InterfaceService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewInterfaceServiceClient

func NewInterfaceServiceClient(cc *grpc.ClientConn) InterfaceServiceClient

type InterfaceServiceServer

type InterfaceServiceServer interface {
	Update(context.Context, *NetworkInterface) (*empty.Empty, error)
	BulkUpdate(context.Context, *NetworkInterfaces) (*empty.Empty, error)
	GetAll(context.Context, *empty.Empty) (*NetworkInterfaces, error)
	Get(context.Context, *InterfaceID) (*NetworkInterface, error)
}

InterfaceServiceServer is the server API for InterfaceService service.

type MACFilter

type MACFilter struct {
	MacAddresses         []string `protobuf:"bytes,1,rep,name=mac_addresses,json=macAddresses,proto3" json:"mac_addresses,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

MACFilter specifies properties related to MAC filters. Some implementations may not support multiple MAC addresses.

func (*MACFilter) Descriptor

func (*MACFilter) Descriptor() ([]byte, []int)

func (*MACFilter) GetMacAddresses

func (m *MACFilter) GetMacAddresses() []string

func (*MACFilter) ProtoMessage

func (*MACFilter) ProtoMessage()

func (*MACFilter) Reset

func (m *MACFilter) Reset()

func (*MACFilter) String

func (m *MACFilter) String() string

func (*MACFilter) XXX_DiscardUnknown

func (m *MACFilter) XXX_DiscardUnknown()

func (*MACFilter) XXX_Marshal

func (m *MACFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MACFilter) XXX_Merge

func (m *MACFilter) XXX_Merge(src proto.Message)

func (*MACFilter) XXX_Size

func (m *MACFilter) XXX_Size() int

func (*MACFilter) XXX_Unmarshal

func (m *MACFilter) XXX_Unmarshal(b []byte) error

type MACModifier

type MACModifier struct {
	MacAddress           string   `protobuf:"bytes,1,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

MACModifier defines the MAC properties that should be modified.

func (*MACModifier) Descriptor

func (*MACModifier) Descriptor() ([]byte, []int)

func (*MACModifier) GetMacAddress

func (m *MACModifier) GetMacAddress() string

func (*MACModifier) ProtoMessage

func (*MACModifier) ProtoMessage()

func (*MACModifier) Reset

func (m *MACModifier) Reset()

func (*MACModifier) String

func (m *MACModifier) String() string

func (*MACModifier) XXX_DiscardUnknown

func (m *MACModifier) XXX_DiscardUnknown()

func (*MACModifier) XXX_Marshal

func (m *MACModifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MACModifier) XXX_Merge

func (m *MACModifier) XXX_Merge(src proto.Message)

func (*MACModifier) XXX_Size

func (m *MACModifier) XXX_Size() int

func (*MACModifier) XXX_Unmarshal

func (m *MACModifier) XXX_Unmarshal(b []byte) error

type NetworkInterface

type NetworkInterface struct {
	Id          string                           `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Description string                           `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	Driver      NetworkInterface_InterfaceDriver `protobuf:"varint,3,opt,name=driver,proto3,enum=openness.ela.NetworkInterface_InterfaceDriver" json:"driver,omitempty"`
	Type        NetworkInterface_InterfaceType   `protobuf:"varint,4,opt,name=type,proto3,enum=openness.ela.NetworkInterface_InterfaceType" json:"type,omitempty"`
	MacAddress  string                           `protobuf:"bytes,5,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
	Vlan        uint32                           `protobuf:"varint,6,opt,name=vlan,proto3" json:"vlan,omitempty"`
	Zones       []string                         `protobuf:"bytes,7,rep,name=zones,proto3" json:"zones,omitempty"`
	// (LEGACY) The fallback interface for this interface. This only exists for
	// legacy dataplane implementations. In future implementations, a traffic
	// policy should be used to yield the same results. Using this is not
	// advisable as it belongs in the traffic policy and exposes a fallback
	// behavior that can be seen as insecure.
	FallbackInterface    string   `protobuf:"bytes,8,opt,name=fallback_interface,json=fallbackInterface,proto3" json:"fallback_interface,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

NetworkInterface defines a network interface available on the host. Interfaces are typically kernel interfaces by default, and can be changed if the caller wishes to do so.

The interface's type assists the policy engine in determining what types of traffic the interface can expect to be handling, and is mainly here for support of legacy implementations (which may require the field is updated in order to work properly).

An interface can belong to multiple zones, which can be useful for when the amount of actual interfaces is limited.

func (*NetworkInterface) Descriptor

func (*NetworkInterface) Descriptor() ([]byte, []int)

func (*NetworkInterface) GetDescription

func (m *NetworkInterface) GetDescription() string

func (*NetworkInterface) GetDriver

func (*NetworkInterface) GetFallbackInterface

func (m *NetworkInterface) GetFallbackInterface() string

func (*NetworkInterface) GetId

func (m *NetworkInterface) GetId() string

func (*NetworkInterface) GetMacAddress

func (m *NetworkInterface) GetMacAddress() string

func (*NetworkInterface) GetType

func (*NetworkInterface) GetVlan

func (m *NetworkInterface) GetVlan() uint32

func (*NetworkInterface) GetZones

func (m *NetworkInterface) GetZones() []string

func (*NetworkInterface) ProtoMessage

func (*NetworkInterface) ProtoMessage()

func (*NetworkInterface) Reset

func (m *NetworkInterface) Reset()

func (*NetworkInterface) String

func (m *NetworkInterface) String() string

func (*NetworkInterface) XXX_DiscardUnknown

func (m *NetworkInterface) XXX_DiscardUnknown()

func (*NetworkInterface) XXX_Marshal

func (m *NetworkInterface) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NetworkInterface) XXX_Merge

func (m *NetworkInterface) XXX_Merge(src proto.Message)

func (*NetworkInterface) XXX_Size

func (m *NetworkInterface) XXX_Size() int

func (*NetworkInterface) XXX_Unmarshal

func (m *NetworkInterface) XXX_Unmarshal(b []byte) error

type NetworkInterface_InterfaceDriver

type NetworkInterface_InterfaceDriver int32
const (
	NetworkInterface_KERNEL    NetworkInterface_InterfaceDriver = 0
	NetworkInterface_USERSPACE NetworkInterface_InterfaceDriver = 1
)

func (NetworkInterface_InterfaceDriver) EnumDescriptor

func (NetworkInterface_InterfaceDriver) EnumDescriptor() ([]byte, []int)

func (NetworkInterface_InterfaceDriver) String

type NetworkInterface_InterfaceType

type NetworkInterface_InterfaceType int32
const (
	NetworkInterface_NONE          NetworkInterface_InterfaceType = 0
	NetworkInterface_UPSTREAM      NetworkInterface_InterfaceType = 1
	NetworkInterface_DOWNSTREAM    NetworkInterface_InterfaceType = 2
	NetworkInterface_BIDIRECTIONAL NetworkInterface_InterfaceType = 3
	NetworkInterface_BREAKOUT      NetworkInterface_InterfaceType = 4
)

func (NetworkInterface_InterfaceType) EnumDescriptor

func (NetworkInterface_InterfaceType) EnumDescriptor() ([]byte, []int)

func (NetworkInterface_InterfaceType) String

type NetworkInterfaces

type NetworkInterfaces struct {
	NetworkInterfaces    []*NetworkInterface `protobuf:"bytes,1,rep,name=network_interfaces,json=networkInterfaces,proto3" json:"network_interfaces,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (*NetworkInterfaces) Descriptor

func (*NetworkInterfaces) Descriptor() ([]byte, []int)

func (*NetworkInterfaces) GetNetworkInterfaces

func (m *NetworkInterfaces) GetNetworkInterfaces() []*NetworkInterface

func (*NetworkInterfaces) ProtoMessage

func (*NetworkInterfaces) ProtoMessage()

func (*NetworkInterfaces) Reset

func (m *NetworkInterfaces) Reset()

func (*NetworkInterfaces) String

func (m *NetworkInterfaces) String() string

func (*NetworkInterfaces) XXX_DiscardUnknown

func (m *NetworkInterfaces) XXX_DiscardUnknown()

func (*NetworkInterfaces) XXX_Marshal

func (m *NetworkInterfaces) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NetworkInterfaces) XXX_Merge

func (m *NetworkInterfaces) XXX_Merge(src proto.Message)

func (*NetworkInterfaces) XXX_Size

func (m *NetworkInterfaces) XXX_Size() int

func (*NetworkInterfaces) XXX_Unmarshal

func (m *NetworkInterfaces) XXX_Unmarshal(b []byte) error

type NetworkSetting

type NetworkSetting struct {
	Status               NetworkSetting_Status `protobuf:"varint,1,opt,name=status,proto3,enum=openness.ela.NetworkSetting_Status" json:"status,omitempty"`
	Address              string                `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	Mask                 uint32                `protobuf:"varint,3,opt,name=mask,proto3" json:"mask,omitempty"`
	Gateway              string                `protobuf:"bytes,4,opt,name=gateway,proto3" json:"gateway,omitempty"`
	Dns                  []string              `protobuf:"bytes,5,rep,name=dns,proto3" json:"dns,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

NetworkSetting defines a network setting. It can be included in an interface to configure it's IP properties.

func (*NetworkSetting) Descriptor

func (*NetworkSetting) Descriptor() ([]byte, []int)

func (*NetworkSetting) GetAddress

func (m *NetworkSetting) GetAddress() string

func (*NetworkSetting) GetDns

func (m *NetworkSetting) GetDns() []string

func (*NetworkSetting) GetGateway

func (m *NetworkSetting) GetGateway() string

func (*NetworkSetting) GetMask

func (m *NetworkSetting) GetMask() uint32

func (*NetworkSetting) GetStatus

func (m *NetworkSetting) GetStatus() NetworkSetting_Status

func (*NetworkSetting) ProtoMessage

func (*NetworkSetting) ProtoMessage()

func (*NetworkSetting) Reset

func (m *NetworkSetting) Reset()

func (*NetworkSetting) String

func (m *NetworkSetting) String() string

func (*NetworkSetting) XXX_DiscardUnknown

func (m *NetworkSetting) XXX_DiscardUnknown()

func (*NetworkSetting) XXX_Marshal

func (m *NetworkSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NetworkSetting) XXX_Merge

func (m *NetworkSetting) XXX_Merge(src proto.Message)

func (*NetworkSetting) XXX_Size

func (m *NetworkSetting) XXX_Size() int

func (*NetworkSetting) XXX_Unmarshal

func (m *NetworkSetting) XXX_Unmarshal(b []byte) error

type NetworkSetting_Status

type NetworkSetting_Status int32
const (
	NetworkSetting_NONE   NetworkSetting_Status = 0
	NetworkSetting_STATIC NetworkSetting_Status = 1
	NetworkSetting_DHCPv4 NetworkSetting_Status = 2
	NetworkSetting_DHCPv6 NetworkSetting_Status = 3
	NetworkSetting_SLAAC  NetworkSetting_Status = 4
)

func (NetworkSetting_Status) EnumDescriptor

func (NetworkSetting_Status) EnumDescriptor() ([]byte, []int)

func (NetworkSetting_Status) String

func (x NetworkSetting_Status) String() string

type NetworkZone

type NetworkZone struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

NetworkZone defines a network zone. A zone is effectively a label that isolates network traffic within an appliance. It allows for further rules to be made surrounding the zone and interfaces that are assigned to it.

func (*NetworkZone) Descriptor

func (*NetworkZone) Descriptor() ([]byte, []int)

func (*NetworkZone) GetDescription

func (m *NetworkZone) GetDescription() string

func (*NetworkZone) GetId

func (m *NetworkZone) GetId() string

func (*NetworkZone) ProtoMessage

func (*NetworkZone) ProtoMessage()

func (*NetworkZone) Reset

func (m *NetworkZone) Reset()

func (*NetworkZone) String

func (m *NetworkZone) String() string

func (*NetworkZone) XXX_DiscardUnknown

func (m *NetworkZone) XXX_DiscardUnknown()

func (*NetworkZone) XXX_Marshal

func (m *NetworkZone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NetworkZone) XXX_Merge

func (m *NetworkZone) XXX_Merge(src proto.Message)

func (*NetworkZone) XXX_Size

func (m *NetworkZone) XXX_Size() int

func (*NetworkZone) XXX_Unmarshal

func (m *NetworkZone) XXX_Unmarshal(b []byte) error

type NetworkZones

type NetworkZones struct {
	NetworkZones         []*NetworkZone `protobuf:"bytes,1,rep,name=network_zones,json=networkZones,proto3" json:"network_zones,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (*NetworkZones) Descriptor

func (*NetworkZones) Descriptor() ([]byte, []int)

func (*NetworkZones) GetNetworkZones

func (m *NetworkZones) GetNetworkZones() []*NetworkZone

func (*NetworkZones) ProtoMessage

func (*NetworkZones) ProtoMessage()

func (*NetworkZones) Reset

func (m *NetworkZones) Reset()

func (*NetworkZones) String

func (m *NetworkZones) String() string

func (*NetworkZones) XXX_DiscardUnknown

func (m *NetworkZones) XXX_DiscardUnknown()

func (*NetworkZones) XXX_Marshal

func (m *NetworkZones) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NetworkZones) XXX_Merge

func (m *NetworkZones) XXX_Merge(src proto.Message)

func (*NetworkZones) XXX_Size

func (m *NetworkZones) XXX_Size() int

func (*NetworkZones) XXX_Unmarshal

func (m *NetworkZones) XXX_Unmarshal(b []byte) error

type TrafficPolicy

type TrafficPolicy struct {
	Id                   string         `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	TrafficRules         []*TrafficRule `protobuf:"bytes,2,rep,name=traffic_rules,json=trafficRules,proto3" json:"traffic_rules,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

TrafficPolicy is a policy that defines a set of traffic rules for the identified component (i.e. an application, an interface, etc.).

A policy engine applies these rules, using the context of the identified component in order to send traffic to a target. The policy engine acts as a man-in-the-middle. It may modify the packets in order to facilitate the traffic flow. Examples of a policy engine are DPDK, VPP or iptables applications.

func (*TrafficPolicy) Descriptor

func (*TrafficPolicy) Descriptor() ([]byte, []int)

func (*TrafficPolicy) GetId

func (m *TrafficPolicy) GetId() string

func (*TrafficPolicy) GetTrafficRules

func (m *TrafficPolicy) GetTrafficRules() []*TrafficRule

func (*TrafficPolicy) ProtoMessage

func (*TrafficPolicy) ProtoMessage()

func (*TrafficPolicy) Reset

func (m *TrafficPolicy) Reset()

func (*TrafficPolicy) String

func (m *TrafficPolicy) String() string

func (*TrafficPolicy) XXX_DiscardUnknown

func (m *TrafficPolicy) XXX_DiscardUnknown()

func (*TrafficPolicy) XXX_Marshal

func (m *TrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicy) XXX_Merge

func (m *TrafficPolicy) XXX_Merge(src proto.Message)

func (*TrafficPolicy) XXX_Size

func (m *TrafficPolicy) XXX_Size() int

func (*TrafficPolicy) XXX_Unmarshal

func (m *TrafficPolicy) XXX_Unmarshal(b []byte) error

type TrafficRule

type TrafficRule struct {
	Description          string           `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	Priority             uint32           `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"`
	Source               *TrafficSelector `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
	Destination          *TrafficSelector `protobuf:"bytes,4,opt,name=destination,proto3" json:"destination,omitempty"`
	Target               *TrafficTarget   `protobuf:"bytes,5,opt,name=target,proto3" json:"target,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

TrafficRule defines a single traffic rule. The traffic selectors are used in order to construct both a rule that must be matched as well as what action to take on the traffic if the rule is matched.

Since this is generic, the receiver of this rule must validate if the information provided by the caller is sufficient enough to construct a policy of a particular type.

A single rule only allows one of each traffic selector to be specified. However, if a system supports advanced networking rules, a traffic rule can specify a subnet mask or a range in order to create a more dynamic rule.

For example, a rule with a source selector of 10.20.30.0/24 could match all source traffic in that subnet block.

func (*TrafficRule) Descriptor

func (*TrafficRule) Descriptor() ([]byte, []int)

func (*TrafficRule) GetDescription

func (m *TrafficRule) GetDescription() string

func (*TrafficRule) GetDestination

func (m *TrafficRule) GetDestination() *TrafficSelector

func (*TrafficRule) GetPriority

func (m *TrafficRule) GetPriority() uint32

func (*TrafficRule) GetSource

func (m *TrafficRule) GetSource() *TrafficSelector

func (*TrafficRule) GetTarget

func (m *TrafficRule) GetTarget() *TrafficTarget

func (*TrafficRule) ProtoMessage

func (*TrafficRule) ProtoMessage()

func (*TrafficRule) Reset

func (m *TrafficRule) Reset()

func (*TrafficRule) String

func (m *TrafficRule) String() string

func (*TrafficRule) XXX_DiscardUnknown

func (m *TrafficRule) XXX_DiscardUnknown()

func (*TrafficRule) XXX_Marshal

func (m *TrafficRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficRule) XXX_Merge

func (m *TrafficRule) XXX_Merge(src proto.Message)

func (*TrafficRule) XXX_Size

func (m *TrafficRule) XXX_Size() int

func (*TrafficRule) XXX_Unmarshal

func (m *TrafficRule) XXX_Unmarshal(b []byte) error

type TrafficSelector

type TrafficSelector struct {
	Description          string     `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	Macs                 *MACFilter `protobuf:"bytes,2,opt,name=macs,proto3" json:"macs,omitempty"`
	Ip                   *IPFilter  `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"`
	Gtp                  *GTPFilter `protobuf:"bytes,4,opt,name=gtp,proto3" json:"gtp,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

TrafficSelector defines the parameters for a traffic selector in a TrafficRule. If a filter is empty, the selector does not evaluate it. The receiver can select traffic by using the filters as it is examining a packet or payload. They must filter using the OSI stack from layer 7 to layer 1. For example, if a MAC and IP are provided, the selector must first evaluate the IP (layer 3) before the MAC (layer 2).

If a TrafficSelector has only the MAC filter specified, the selector is created only for that filter. However, if the selector contains a GTP and IP filter, the selector is created on both and the traffic must match both filters.

func (*TrafficSelector) Descriptor

func (*TrafficSelector) Descriptor() ([]byte, []int)

func (*TrafficSelector) GetDescription

func (m *TrafficSelector) GetDescription() string

func (*TrafficSelector) GetGtp

func (m *TrafficSelector) GetGtp() *GTPFilter

func (*TrafficSelector) GetIp

func (m *TrafficSelector) GetIp() *IPFilter

func (*TrafficSelector) GetMacs

func (m *TrafficSelector) GetMacs() *MACFilter

func (*TrafficSelector) ProtoMessage

func (*TrafficSelector) ProtoMessage()

func (*TrafficSelector) Reset

func (m *TrafficSelector) Reset()

func (*TrafficSelector) String

func (m *TrafficSelector) String() string

func (*TrafficSelector) XXX_DiscardUnknown

func (m *TrafficSelector) XXX_DiscardUnknown()

func (*TrafficSelector) XXX_Marshal

func (m *TrafficSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficSelector) XXX_Merge

func (m *TrafficSelector) XXX_Merge(src proto.Message)

func (*TrafficSelector) XXX_Size

func (m *TrafficSelector) XXX_Size() int

func (*TrafficSelector) XXX_Unmarshal

func (m *TrafficSelector) XXX_Unmarshal(b []byte) error

type TrafficTarget

type TrafficTarget struct {
	Description          string                     `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	Action               TrafficTarget_TargetAction `protobuf:"varint,2,opt,name=action,proto3,enum=openness.ela.TrafficTarget_TargetAction" json:"action,omitempty"`
	Mac                  *MACModifier               `protobuf:"bytes,3,opt,name=mac,proto3" json:"mac,omitempty"`
	Ip                   *IPModifier                `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

TrafficTarget defines the parameters for a traffic target in a TrafficRule. The action indicates what target action to perform. If a modify field is empty, the target does not perform that type of modification.

For example, if the target should modify the MAC address, then it should be provided in the message. The modifiers are currently only applicable if the interface is trying to modify the traffic, such as is the case with a breakout interface.

func (*TrafficTarget) Descriptor

func (*TrafficTarget) Descriptor() ([]byte, []int)

func (*TrafficTarget) GetAction

func (*TrafficTarget) GetDescription

func (m *TrafficTarget) GetDescription() string

func (*TrafficTarget) GetIp

func (m *TrafficTarget) GetIp() *IPModifier

func (*TrafficTarget) GetMac

func (m *TrafficTarget) GetMac() *MACModifier

func (*TrafficTarget) ProtoMessage

func (*TrafficTarget) ProtoMessage()

func (*TrafficTarget) Reset

func (m *TrafficTarget) Reset()

func (*TrafficTarget) String

func (m *TrafficTarget) String() string

func (*TrafficTarget) XXX_DiscardUnknown

func (m *TrafficTarget) XXX_DiscardUnknown()

func (*TrafficTarget) XXX_Marshal

func (m *TrafficTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficTarget) XXX_Merge

func (m *TrafficTarget) XXX_Merge(src proto.Message)

func (*TrafficTarget) XXX_Size

func (m *TrafficTarget) XXX_Size() int

func (*TrafficTarget) XXX_Unmarshal

func (m *TrafficTarget) XXX_Unmarshal(b []byte) error

type TrafficTarget_TargetAction

type TrafficTarget_TargetAction int32
const (
	TrafficTarget_ACCEPT TrafficTarget_TargetAction = 0
	TrafficTarget_REJECT TrafficTarget_TargetAction = 1
	TrafficTarget_DROP   TrafficTarget_TargetAction = 2
)

func (TrafficTarget_TargetAction) EnumDescriptor

func (TrafficTarget_TargetAction) EnumDescriptor() ([]byte, []int)

func (TrafficTarget_TargetAction) String

type UnimplementedApplicationPolicyServiceServer

type UnimplementedApplicationPolicyServiceServer struct {
}

UnimplementedApplicationPolicyServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedApplicationPolicyServiceServer) Set

type UnimplementedDNSServiceServer

type UnimplementedDNSServiceServer struct {
}

UnimplementedDNSServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedDNSServiceServer) DeleteA

func (*UnimplementedDNSServiceServer) DeleteForwarders

func (*UnimplementedDNSServiceServer) DeleteForwarders(ctx context.Context, req *DNSForwarders) (*empty.Empty, error)

func (*UnimplementedDNSServiceServer) SetA

func (*UnimplementedDNSServiceServer) SetForwarders

type UnimplementedInterfacePolicyServiceServer

type UnimplementedInterfacePolicyServiceServer struct {
}

UnimplementedInterfacePolicyServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedInterfacePolicyServiceServer) Set

type UnimplementedInterfaceServiceServer

type UnimplementedInterfaceServiceServer struct {
}

UnimplementedInterfaceServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedInterfaceServiceServer) BulkUpdate

func (*UnimplementedInterfaceServiceServer) Get

func (*UnimplementedInterfaceServiceServer) GetAll

func (*UnimplementedInterfaceServiceServer) Update

type UnimplementedZoneServiceServer

type UnimplementedZoneServiceServer struct {
}

UnimplementedZoneServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedZoneServiceServer) BulkUpdate

func (*UnimplementedZoneServiceServer) Create

func (*UnimplementedZoneServiceServer) Delete

func (*UnimplementedZoneServiceServer) Get

func (*UnimplementedZoneServiceServer) GetAll

func (*UnimplementedZoneServiceServer) Update

type ZoneID

type ZoneID struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ZoneID) Descriptor

func (*ZoneID) Descriptor() ([]byte, []int)

func (*ZoneID) GetId

func (m *ZoneID) GetId() string

func (*ZoneID) ProtoMessage

func (*ZoneID) ProtoMessage()

func (*ZoneID) Reset

func (m *ZoneID) Reset()

func (*ZoneID) String

func (m *ZoneID) String() string

func (*ZoneID) XXX_DiscardUnknown

func (m *ZoneID) XXX_DiscardUnknown()

func (*ZoneID) XXX_Marshal

func (m *ZoneID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ZoneID) XXX_Merge

func (m *ZoneID) XXX_Merge(src proto.Message)

func (*ZoneID) XXX_Size

func (m *ZoneID) XXX_Size() int

func (*ZoneID) XXX_Unmarshal

func (m *ZoneID) XXX_Unmarshal(b []byte) error

type ZoneServiceClient

type ZoneServiceClient interface {
	Create(ctx context.Context, in *NetworkZone, opts ...grpc.CallOption) (*empty.Empty, error)
	Update(ctx context.Context, in *NetworkZone, opts ...grpc.CallOption) (*empty.Empty, error)
	BulkUpdate(ctx context.Context, in *NetworkZones, opts ...grpc.CallOption) (*empty.Empty, error)
	GetAll(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*NetworkZones, error)
	Get(ctx context.Context, in *ZoneID, opts ...grpc.CallOption) (*NetworkZone, error)
	Delete(ctx context.Context, in *ZoneID, opts ...grpc.CallOption) (*empty.Empty, error)
}

ZoneServiceClient is the client API for ZoneService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewZoneServiceClient

func NewZoneServiceClient(cc *grpc.ClientConn) ZoneServiceClient

type ZoneServiceServer

type ZoneServiceServer interface {
	Create(context.Context, *NetworkZone) (*empty.Empty, error)
	Update(context.Context, *NetworkZone) (*empty.Empty, error)
	BulkUpdate(context.Context, *NetworkZones) (*empty.Empty, error)
	GetAll(context.Context, *empty.Empty) (*NetworkZones, error)
	Get(context.Context, *ZoneID) (*NetworkZone, error)
	Delete(context.Context, *ZoneID) (*empty.Empty, error)
}

ZoneServiceServer is the server API for ZoneService service.

Jump to

Keyboard shortcuts

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