puntmgr

package
v0.0.0-...-ae01f8c Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	PuntState_name = map[int32]string{
		0: "UNKNOWN",
		1: "INIT",
		2: "CREATED",
		3: "DELETED",
	}
	PuntState_value = map[string]int32{
		"UNKNOWN": 0,
		"INIT":    1,
		"CREATED": 2,
		"DELETED": 3,
	}
)

Enum value maps for PuntState.

View Source
var (
	PuntRequest_PuntType_name = map[int32]string{
		0: "NO_PUNT",
		1: "HAIRPIN_XCONNECT",
		2: "HAIRPIN",
		3: "SPAN",
		4: "ABX",
		5: "PUNT_TO_SOCKET",
		6: "DHCP_PROXY",
		7: "ISISX",
	}
	PuntRequest_PuntType_value = map[string]int32{
		"NO_PUNT":          0,
		"HAIRPIN_XCONNECT": 1,
		"HAIRPIN":          2,
		"SPAN":             3,
		"ABX":              4,
		"PUNT_TO_SOCKET":   5,
		"DHCP_PROXY":       6,
		"ISISX":            7,
	}
)

Enum value maps for PuntRequest_PuntType.

View Source
var (
	PuntRequest_InterconnectType_name = map[int32]string{
		0: "TAP",
		1: "MEMIF",
		2: "AF_UNIX",
	}
	PuntRequest_InterconnectType_value = map[string]int32{
		"TAP":     0,
		"MEMIF":   1,
		"AF_UNIX": 2,
	}
)

Enum value maps for PuntRequest_InterconnectType.

View Source
var File_puntmgr_puntmgr_proto protoreflect.FileDescriptor
View Source
var PuntManager_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "puntmgr.PuntManager",
	HandlerType: (*PuntManagerServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "UpdatePuntState",
			Handler:    _PuntManager_UpdatePuntState_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "puntmgr/puntmgr.proto",
}

PuntManager_ServiceDesc is the grpc.ServiceDesc for PuntManager service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterPuntManagerServer

func RegisterPuntManagerServer(s grpc.ServiceRegistrar, srv PuntManagerServer)

Types

type PuntID

type PuntID struct {

	// Microservice label of the CNF with which the packet punting is established.
	CnfMsLabel string `protobuf:"bytes,1,opt,name=cnf_ms_label,json=cnfMsLabel,proto3" json:"cnf_ms_label,omitempty"`
	// Key of the configuration item for which this punt has been created.
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// With multiple punt requests for a single key, labels are used to distinguish between them.
	Label string `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
	// contains filtered or unexported fields
}

Unique identifier for a punt instance.

func (*PuntID) Descriptor deprecated

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

Deprecated: Use PuntID.ProtoReflect.Descriptor instead.

func (*PuntID) GetCnfMsLabel

func (x *PuntID) GetCnfMsLabel() string

func (*PuntID) GetKey

func (x *PuntID) GetKey() string

func (*PuntID) GetLabel

func (x *PuntID) GetLabel() string

func (*PuntID) ProtoMessage

func (*PuntID) ProtoMessage()

func (*PuntID) ProtoReflect

func (x *PuntID) ProtoReflect() protoreflect.Message

func (*PuntID) Reset

func (x *PuntID) Reset()

func (*PuntID) String

func (x *PuntID) String() string

type PuntManagerClient

type PuntManagerClient interface {
	// UpdatePuntState is called by Punt Manager of StoneWork to notify SW-Module about state change of a punt.
	UpdatePuntState(ctx context.Context, in *UpdatePuntStateReq, opts ...grpc.CallOption) (*UpdatePuntStateResp, error)
}

PuntManagerClient is the client API for PuntManager service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.golang.ir/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type PuntManagerServer

type PuntManagerServer interface {
	// UpdatePuntState is called by Punt Manager of StoneWork to notify SW-Module about state change of a punt.
	UpdatePuntState(context.Context, *UpdatePuntStateReq) (*UpdatePuntStateResp, error)
	// contains filtered or unexported methods
}

PuntManagerServer is the server API for PuntManager service. All implementations must embed UnimplementedPuntManagerServer for forward compatibility

type PuntMetadata

type PuntMetadata struct {
	Id            *PuntID                      `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Interconnects []*PuntMetadata_Interconnect `protobuf:"bytes,2,rep,name=interconnects,proto3" json:"interconnects,omitempty"`
	// contains filtered or unexported fields
}

Metadata associated with a configured packet punting.

func (*PuntMetadata) Descriptor deprecated

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

Deprecated: Use PuntMetadata.ProtoReflect.Descriptor instead.

func (*PuntMetadata) GetId

func (x *PuntMetadata) GetId() *PuntID

func (*PuntMetadata) GetInterconnects

func (x *PuntMetadata) GetInterconnects() []*PuntMetadata_Interconnect

func (*PuntMetadata) ProtoMessage

func (*PuntMetadata) ProtoMessage()

func (*PuntMetadata) ProtoReflect

func (x *PuntMetadata) ProtoReflect() protoreflect.Message

func (*PuntMetadata) Reset

func (x *PuntMetadata) Reset()

func (*PuntMetadata) String

func (x *PuntMetadata) String() string

type PuntMetadata_Interconnect

type PuntMetadata_Interconnect struct {
	Id *PuntMetadata_InterconnectID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// VPP side of the interconnect.
	// Nil for interconnect based on AF-UNIX socket.
	VppInterface *PuntMetadata_Interface `protobuf:"bytes,2,opt,name=vpp_interface,json=vppInterface,proto3" json:"vpp_interface,omitempty"`
	// CNF/Linux side of the interconnect.
	// Nil for interconnect based on AF-UNIX socket.
	CnfInterface *PuntMetadata_Interface `protobuf:"bytes,3,opt,name=cnf_interface,json=cnfInterface,proto3" json:"cnf_interface,omitempty"`
	// Enabled if more than one punt is using this interconnect.
	Shared bool `protobuf:"varint,4,opt,name=shared,proto3" json:"shared,omitempty"`
	// contains filtered or unexported fields
}

Interface based VPP<->CNF interconnects. Not used with PUNT_TO_SOCKET.

func (*PuntMetadata_Interconnect) Descriptor deprecated

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

Deprecated: Use PuntMetadata_Interconnect.ProtoReflect.Descriptor instead.

func (*PuntMetadata_Interconnect) GetCnfInterface

func (x *PuntMetadata_Interconnect) GetCnfInterface() *PuntMetadata_Interface

func (*PuntMetadata_Interconnect) GetId

func (*PuntMetadata_Interconnect) GetShared

func (x *PuntMetadata_Interconnect) GetShared() bool

func (*PuntMetadata_Interconnect) GetVppInterface

func (x *PuntMetadata_Interconnect) GetVppInterface() *PuntMetadata_Interface

func (*PuntMetadata_Interconnect) ProtoMessage

func (*PuntMetadata_Interconnect) ProtoMessage()

func (*PuntMetadata_Interconnect) ProtoReflect

func (*PuntMetadata_Interconnect) Reset

func (x *PuntMetadata_Interconnect) Reset()

func (*PuntMetadata_Interconnect) String

func (x *PuntMetadata_Interconnect) String() string

type PuntMetadata_InterconnectID

type PuntMetadata_InterconnectID struct {

	// What/where packets are punted on the VPP side using this interconnect.
	// Each punt handler (there is one for each PuntRequest.Type) defines its own selectors.
	VppSelector string `protobuf:"bytes,1,opt,name=vpp_selector,json=vppSelector,proto3" json:"vpp_selector,omitempty"`
	// What/where packets are punted on the CNF side using this interconnect.
	// Generated by PuntManager. Outside manager only useful in combination with vpp_selector to obtain
	// unique id for the interconnect.
	CnfSelector string `protobuf:"bytes,2,opt,name=cnf_selector,json=cnfSelector,proto3" json:"cnf_selector,omitempty"`
	// contains filtered or unexported fields
}

func (*PuntMetadata_InterconnectID) Descriptor deprecated

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

Deprecated: Use PuntMetadata_InterconnectID.ProtoReflect.Descriptor instead.

func (*PuntMetadata_InterconnectID) GetCnfSelector

func (x *PuntMetadata_InterconnectID) GetCnfSelector() string

func (*PuntMetadata_InterconnectID) GetVppSelector

func (x *PuntMetadata_InterconnectID) GetVppSelector() string

func (*PuntMetadata_InterconnectID) ProtoMessage

func (*PuntMetadata_InterconnectID) ProtoMessage()

func (*PuntMetadata_InterconnectID) ProtoReflect

func (*PuntMetadata_InterconnectID) Reset

func (x *PuntMetadata_InterconnectID) Reset()

func (*PuntMetadata_InterconnectID) String

func (x *PuntMetadata_InterconnectID) String() string

type PuntMetadata_Interface

type PuntMetadata_Interface struct {

	// For Linux interface the host name is the same as the logical one.
	Name        string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	PhysAddress string   `protobuf:"bytes,2,opt,name=phys_address,json=physAddress,proto3" json:"phys_address,omitempty"`
	IpAddresses []string `protobuf:"bytes,3,rep,name=ip_addresses,json=ipAddresses,proto3" json:"ip_addresses,omitempty"`
	VrfRT       uint32   `protobuf:"varint,4,opt,name=vrfRT,proto3" json:"vrfRT,omitempty"`
	VrfName     string   `protobuf:"bytes,5,opt,name=vrfName,proto3" json:"vrfName,omitempty"` // not used in VPP
	// contains filtered or unexported fields
}

VPP or CNF interface metadata.

func (*PuntMetadata_Interface) Descriptor deprecated

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

Deprecated: Use PuntMetadata_Interface.ProtoReflect.Descriptor instead.

func (*PuntMetadata_Interface) GetIpAddresses

func (x *PuntMetadata_Interface) GetIpAddresses() []string

func (*PuntMetadata_Interface) GetName

func (x *PuntMetadata_Interface) GetName() string

func (*PuntMetadata_Interface) GetPhysAddress

func (x *PuntMetadata_Interface) GetPhysAddress() string

func (*PuntMetadata_Interface) GetVrfName

func (x *PuntMetadata_Interface) GetVrfName() string

func (*PuntMetadata_Interface) GetVrfRT

func (x *PuntMetadata_Interface) GetVrfRT() uint32

func (*PuntMetadata_Interface) ProtoMessage

func (*PuntMetadata_Interface) ProtoMessage()

func (*PuntMetadata_Interface) ProtoReflect

func (x *PuntMetadata_Interface) ProtoReflect() protoreflect.Message

func (*PuntMetadata_Interface) Reset

func (x *PuntMetadata_Interface) Reset()

func (*PuntMetadata_Interface) String

func (x *PuntMetadata_Interface) String() string

type PuntRequest

type PuntRequest struct {

	// Label identifies punt request among all the requests for a given configuration item (key-value pair).
	Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
	// Ligato/VPP supports multiple ways of packet punting between VPP and a CNF.
	PuntType         PuntRequest_PuntType         `protobuf:"varint,2,opt,name=punt_type,json=puntType,proto3,enum=puntmgr.PuntRequest_PuntType" json:"punt_type,omitempty"`
	InterconnectType PuntRequest_InterconnectType `` /* 152-byte string literal not displayed */
	EnableGso        bool                         `protobuf:"varint,4,opt,name=enable_gso,json=enableGso,proto3" json:"enable_gso,omitempty"`
	// Types that are assignable to Config:
	//
	//	*PuntRequest_HairpinXConnect_
	//	*PuntRequest_Hairpin_
	//	*PuntRequest_Span_
	//	*PuntRequest_Abx_
	//	*PuntRequest_PuntToSocket_
	//	*PuntRequest_DhcpProxy_
	//	*PuntRequest_Isisx_
	Config isPuntRequest_Config `protobuf_oneof:"config"`
	// contains filtered or unexported fields
}

func (*PuntRequest) Descriptor deprecated

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

Deprecated: Use PuntRequest.ProtoReflect.Descriptor instead.

func (*PuntRequest) GetAbx

func (x *PuntRequest) GetAbx() *PuntRequest_Abx

func (*PuntRequest) GetConfig

func (m *PuntRequest) GetConfig() isPuntRequest_Config

func (*PuntRequest) GetDhcpProxy

func (x *PuntRequest) GetDhcpProxy() *PuntRequest_DhcpProxy

func (*PuntRequest) GetEnableGso

func (x *PuntRequest) GetEnableGso() bool

func (*PuntRequest) GetHairpin

func (x *PuntRequest) GetHairpin() *PuntRequest_Hairpin

func (*PuntRequest) GetHairpinXConnect

func (x *PuntRequest) GetHairpinXConnect() *PuntRequest_HairpinXConnect

func (*PuntRequest) GetInterconnectType

func (x *PuntRequest) GetInterconnectType() PuntRequest_InterconnectType

func (*PuntRequest) GetIsisx

func (x *PuntRequest) GetIsisx() *PuntRequest_Isisx

func (*PuntRequest) GetLabel

func (x *PuntRequest) GetLabel() string

func (*PuntRequest) GetPuntToSocket

func (x *PuntRequest) GetPuntToSocket() *PuntRequest_PuntToSocket

func (*PuntRequest) GetPuntType

func (x *PuntRequest) GetPuntType() PuntRequest_PuntType

func (*PuntRequest) GetSpan

func (x *PuntRequest) GetSpan() *PuntRequest_Span

func (*PuntRequest) ProtoMessage

func (*PuntRequest) ProtoMessage()

func (*PuntRequest) ProtoReflect

func (x *PuntRequest) ProtoReflect() protoreflect.Message

func (*PuntRequest) Reset

func (x *PuntRequest) Reset()

func (*PuntRequest) String

func (x *PuntRequest) String() string

type PuntRequest_Abx

type PuntRequest_Abx struct {
	VppInterface string `protobuf:"bytes,1,opt,name=vpp_interface,json=vppInterface,proto3" json:"vpp_interface,omitempty"`
	// VPP interface is expected to be inside this VRF.
	// Punt will not be configured until this dependency is satisfied.
	Vrf uint32 `protobuf:"varint,2,opt,name=vrf,proto3" json:"vrf,omitempty"`
	// Enable if VRF is not used on the CNF side.
	WithoutCnfVrf bool `protobuf:"varint,3,opt,name=without_cnf_vrf,json=withoutCnfVrf,proto3" json:"without_cnf_vrf,omitempty"`
	// DestinationNetwork and SourceNetwork are allowed to contain special constants:
	//   - "any": match any source/destination IPv4/IPv6 address
	//   - "" (empty string): same as "any"
	//   - "local": match traffic destined to one of the IP addresses assigned to vpp_interface
	IngressAclRules []*acl.ACL_Rule_IpRule `protobuf:"bytes,4,rep,name=ingress_acl_rules,json=ingressAclRules,proto3" json:"ingress_acl_rules,omitempty"`
	EgressAclRules  []*acl.ACL_Rule_IpRule `protobuf:"bytes,5,rep,name=egress_acl_rules,json=egressAclRules,proto3" json:"egress_acl_rules,omitempty"`
	// contains filtered or unexported fields
}

func (*PuntRequest_Abx) Descriptor deprecated

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

Deprecated: Use PuntRequest_Abx.ProtoReflect.Descriptor instead.

func (*PuntRequest_Abx) GetEgressAclRules

func (x *PuntRequest_Abx) GetEgressAclRules() []*acl.ACL_Rule_IpRule

func (*PuntRequest_Abx) GetIngressAclRules

func (x *PuntRequest_Abx) GetIngressAclRules() []*acl.ACL_Rule_IpRule

func (*PuntRequest_Abx) GetVppInterface

func (x *PuntRequest_Abx) GetVppInterface() string

func (*PuntRequest_Abx) GetVrf

func (x *PuntRequest_Abx) GetVrf() uint32

func (*PuntRequest_Abx) GetWithoutCnfVrf

func (x *PuntRequest_Abx) GetWithoutCnfVrf() bool

func (*PuntRequest_Abx) ProtoMessage

func (*PuntRequest_Abx) ProtoMessage()

func (*PuntRequest_Abx) ProtoReflect

func (x *PuntRequest_Abx) ProtoReflect() protoreflect.Message

func (*PuntRequest_Abx) Reset

func (x *PuntRequest_Abx) Reset()

func (*PuntRequest_Abx) String

func (x *PuntRequest_Abx) String() string

type PuntRequest_Abx_

type PuntRequest_Abx_ struct {
	Abx *PuntRequest_Abx `protobuf:"bytes,13,opt,name=abx,proto3,oneof"`
}

type PuntRequest_DhcpProxy

type PuntRequest_DhcpProxy struct {
	Vrf uint32 `protobuf:"varint,1,opt,name=vrf,proto3" json:"vrf,omitempty"`
	// Enable if VRF is not used on the CNF side.
	WithoutCnfVrf bool `protobuf:"varint,3,opt,name=without_cnf_vrf,json=withoutCnfVrf,proto3" json:"without_cnf_vrf,omitempty"`
	// contains filtered or unexported fields
}

func (*PuntRequest_DhcpProxy) Descriptor deprecated

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

Deprecated: Use PuntRequest_DhcpProxy.ProtoReflect.Descriptor instead.

func (*PuntRequest_DhcpProxy) GetVrf

func (x *PuntRequest_DhcpProxy) GetVrf() uint32

func (*PuntRequest_DhcpProxy) GetWithoutCnfVrf

func (x *PuntRequest_DhcpProxy) GetWithoutCnfVrf() bool

func (*PuntRequest_DhcpProxy) ProtoMessage

func (*PuntRequest_DhcpProxy) ProtoMessage()

func (*PuntRequest_DhcpProxy) ProtoReflect

func (x *PuntRequest_DhcpProxy) ProtoReflect() protoreflect.Message

func (*PuntRequest_DhcpProxy) Reset

func (x *PuntRequest_DhcpProxy) Reset()

func (*PuntRequest_DhcpProxy) String

func (x *PuntRequest_DhcpProxy) String() string

type PuntRequest_DhcpProxy_

type PuntRequest_DhcpProxy_ struct {
	DhcpProxy *PuntRequest_DhcpProxy `protobuf:"bytes,15,opt,name=dhcpProxy,proto3,oneof"`
}

type PuntRequest_Hairpin

type PuntRequest_Hairpin struct {

	// Existing VPP interface that will have its traffic hairpinned over CNF/Linux.
	VppInterface string `protobuf:"bytes,1,opt,name=vpp_interface,json=vppInterface,proto3" json:"vpp_interface,omitempty"`
	// Newly created TAP/memif interface adding "hairpin" feature to an existing VPP interface.
	HairpinInterface *PuntRequest_Hairpin_Interface `protobuf:"bytes,2,opt,name=hairpin_interface,json=hairpinInterface,proto3" json:"hairpin_interface,omitempty"`
	// contains filtered or unexported fields
}

func (*PuntRequest_Hairpin) Descriptor deprecated

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

Deprecated: Use PuntRequest_Hairpin.ProtoReflect.Descriptor instead.

func (*PuntRequest_Hairpin) GetHairpinInterface

func (x *PuntRequest_Hairpin) GetHairpinInterface() *PuntRequest_Hairpin_Interface

func (*PuntRequest_Hairpin) GetVppInterface

func (x *PuntRequest_Hairpin) GetVppInterface() string

func (*PuntRequest_Hairpin) ProtoMessage

func (*PuntRequest_Hairpin) ProtoMessage()

func (*PuntRequest_Hairpin) ProtoReflect

func (x *PuntRequest_Hairpin) ProtoReflect() protoreflect.Message

func (*PuntRequest_Hairpin) Reset

func (x *PuntRequest_Hairpin) Reset()

func (*PuntRequest_Hairpin) String

func (x *PuntRequest_Hairpin) String() string

type PuntRequest_HairpinXConnect

type PuntRequest_HairpinXConnect struct {
	VppInterface1 string `protobuf:"bytes,1,opt,name=vpp_interface1,json=vppInterface1,proto3" json:"vpp_interface1,omitempty"`
	VppInterface2 string `protobuf:"bytes,2,opt,name=vpp_interface2,json=vppInterface2,proto3" json:"vpp_interface2,omitempty"`
	// contains filtered or unexported fields
}

Type-specific configuration to use for the punt.

func (*PuntRequest_HairpinXConnect) Descriptor deprecated

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

Deprecated: Use PuntRequest_HairpinXConnect.ProtoReflect.Descriptor instead.

func (*PuntRequest_HairpinXConnect) GetVppInterface1

func (x *PuntRequest_HairpinXConnect) GetVppInterface1() string

func (*PuntRequest_HairpinXConnect) GetVppInterface2

func (x *PuntRequest_HairpinXConnect) GetVppInterface2() string

func (*PuntRequest_HairpinXConnect) ProtoMessage

func (*PuntRequest_HairpinXConnect) ProtoMessage()

func (*PuntRequest_HairpinXConnect) ProtoReflect

func (*PuntRequest_HairpinXConnect) Reset

func (x *PuntRequest_HairpinXConnect) Reset()

func (*PuntRequest_HairpinXConnect) String

func (x *PuntRequest_HairpinXConnect) String() string

type PuntRequest_HairpinXConnect_

type PuntRequest_HairpinXConnect_ struct {
	HairpinXConnect *PuntRequest_HairpinXConnect `protobuf:"bytes,10,opt,name=hairpinXConnect,proto3,oneof"`
}

type PuntRequest_Hairpin_

type PuntRequest_Hairpin_ struct {
	Hairpin *PuntRequest_Hairpin `protobuf:"bytes,11,opt,name=hairpin,proto3,oneof"`
}

type PuntRequest_Hairpin_Interface

type PuntRequest_Hairpin_Interface struct {

	// Logical name of the newly created VPP interface.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// PhysAddress represents physical address (MAC) of the interface.
	// Random address will be assigned if left empty.
	PhysAddress string `protobuf:"bytes,2,opt,name=phys_address,json=physAddress,proto3" json:"phys_address,omitempty"`
	// IPAddresses define list of IP addresses for the interface and must be
	// defined in the following format: <ipAddress>/<ipPrefix>.
	IpAddresses []string `protobuf:"bytes,3,rep,name=ip_addresses,json=ipAddresses,proto3" json:"ip_addresses,omitempty"`
	// ID of VRF table that the interface is assigned to.
	Vrf uint32 `protobuf:"varint,4,opt,name=vrf,proto3" json:"vrf,omitempty"`
	// Enable DHCP client on interface.
	WithDhcpClient bool `protobuf:"varint,5,opt,name=with_dhcp_client,json=withDhcpClient,proto3" json:"with_dhcp_client,omitempty"`
	// Maximum transmission unit.
	Mtu uint32 `protobuf:"varint,6,opt,name=mtu,proto3" json:"mtu,omitempty"`
	// contains filtered or unexported fields
}

func (*PuntRequest_Hairpin_Interface) Descriptor deprecated

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

Deprecated: Use PuntRequest_Hairpin_Interface.ProtoReflect.Descriptor instead.

func (*PuntRequest_Hairpin_Interface) GetIpAddresses

func (x *PuntRequest_Hairpin_Interface) GetIpAddresses() []string

func (*PuntRequest_Hairpin_Interface) GetMtu

func (*PuntRequest_Hairpin_Interface) GetName

func (*PuntRequest_Hairpin_Interface) GetPhysAddress

func (x *PuntRequest_Hairpin_Interface) GetPhysAddress() string

func (*PuntRequest_Hairpin_Interface) GetVrf

func (*PuntRequest_Hairpin_Interface) GetWithDhcpClient

func (x *PuntRequest_Hairpin_Interface) GetWithDhcpClient() bool

func (*PuntRequest_Hairpin_Interface) ProtoMessage

func (*PuntRequest_Hairpin_Interface) ProtoMessage()

func (*PuntRequest_Hairpin_Interface) ProtoReflect

func (*PuntRequest_Hairpin_Interface) Reset

func (x *PuntRequest_Hairpin_Interface) Reset()

func (*PuntRequest_Hairpin_Interface) String

type PuntRequest_InterconnectType

type PuntRequest_InterconnectType int32

Type of the interconnection between VPP and Linux/CNF.

const (
	// Interconnect VPP with the Linux network stack using TAP.
	PuntRequest_TAP PuntRequest_InterconnectType = 0
	// Interconnect VPP with a CNF using memif.
	PuntRequest_MEMIF PuntRequest_InterconnectType = 1
	// Exchange packets between VPP and a CNF over AF-UNIX socket.
	PuntRequest_AF_UNIX PuntRequest_InterconnectType = 2
)

func (PuntRequest_InterconnectType) Descriptor

func (PuntRequest_InterconnectType) Enum

func (PuntRequest_InterconnectType) EnumDescriptor deprecated

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

Deprecated: Use PuntRequest_InterconnectType.Descriptor instead.

func (PuntRequest_InterconnectType) Number

func (PuntRequest_InterconnectType) String

func (PuntRequest_InterconnectType) Type

type PuntRequest_Isisx

type PuntRequest_Isisx struct {

	// Interface in VPP that is used to communicate ISIS protocol packets with outside world.
	// This interface gets by this configuration ISIS enabled.
	VppInterface string `protobuf:"bytes,1,opt,name=vpp_interface,json=vppInterface,proto3" json:"vpp_interface,omitempty"`
	// VPP interface is expected to be inside this VRF.
	// Punt will not be configured until this dependency is satisfied.
	Vrf uint32 `protobuf:"varint,2,opt,name=vrf,proto3" json:"vrf,omitempty"`
	// Enable if VRF is not used on the CNF side.
	WithoutCnfVrf bool `protobuf:"varint,3,opt,name=without_cnf_vrf,json=withoutCnfVrf,proto3" json:"without_cnf_vrf,omitempty"`
	// contains filtered or unexported fields
}

func (*PuntRequest_Isisx) Descriptor deprecated

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

Deprecated: Use PuntRequest_Isisx.ProtoReflect.Descriptor instead.

func (*PuntRequest_Isisx) GetVppInterface

func (x *PuntRequest_Isisx) GetVppInterface() string

func (*PuntRequest_Isisx) GetVrf

func (x *PuntRequest_Isisx) GetVrf() uint32

func (*PuntRequest_Isisx) GetWithoutCnfVrf

func (x *PuntRequest_Isisx) GetWithoutCnfVrf() bool

func (*PuntRequest_Isisx) ProtoMessage

func (*PuntRequest_Isisx) ProtoMessage()

func (*PuntRequest_Isisx) ProtoReflect

func (x *PuntRequest_Isisx) ProtoReflect() protoreflect.Message

func (*PuntRequest_Isisx) Reset

func (x *PuntRequest_Isisx) Reset()

func (*PuntRequest_Isisx) String

func (x *PuntRequest_Isisx) String() string

type PuntRequest_Isisx_

type PuntRequest_Isisx_ struct {
	Isisx *PuntRequest_Isisx `protobuf:"bytes,16,opt,name=isisx,proto3,oneof"`
}

type PuntRequest_PuntToSocket

type PuntRequest_PuntToSocket struct {

	// Types that are assignable to Config:
	//
	//	*PuntRequest_PuntToSocket_ToHost
	//	*PuntRequest_PuntToSocket_Exception
	Config isPuntRequest_PuntToSocket_Config `protobuf_oneof:"config"`
	// contains filtered or unexported fields
}

func (*PuntRequest_PuntToSocket) Descriptor deprecated

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

Deprecated: Use PuntRequest_PuntToSocket.ProtoReflect.Descriptor instead.

func (*PuntRequest_PuntToSocket) GetConfig

func (m *PuntRequest_PuntToSocket) GetConfig() isPuntRequest_PuntToSocket_Config

func (*PuntRequest_PuntToSocket) GetException

func (x *PuntRequest_PuntToSocket) GetException() *punt.Exception

func (*PuntRequest_PuntToSocket) GetToHost

func (x *PuntRequest_PuntToSocket) GetToHost() *punt.ToHost

func (*PuntRequest_PuntToSocket) ProtoMessage

func (*PuntRequest_PuntToSocket) ProtoMessage()

func (*PuntRequest_PuntToSocket) ProtoReflect

func (x *PuntRequest_PuntToSocket) ProtoReflect() protoreflect.Message

func (*PuntRequest_PuntToSocket) Reset

func (x *PuntRequest_PuntToSocket) Reset()

func (*PuntRequest_PuntToSocket) String

func (x *PuntRequest_PuntToSocket) String() string

type PuntRequest_PuntToSocket_

type PuntRequest_PuntToSocket_ struct {
	PuntToSocket *PuntRequest_PuntToSocket `protobuf:"bytes,14,opt,name=puntToSocket,proto3,oneof"`
}

type PuntRequest_PuntToSocket_Exception

type PuntRequest_PuntToSocket_Exception struct {
	Exception *punt.Exception `protobuf:"bytes,2,opt,name=exception,proto3,oneof"`
}

type PuntRequest_PuntToSocket_ToHost

type PuntRequest_PuntToSocket_ToHost struct {
	ToHost *punt.ToHost `protobuf:"bytes,1,opt,name=toHost,proto3,oneof"`
}

type PuntRequest_PuntType

type PuntRequest_PuntType int32
const (
	// Punt is not required.
	PuntRequest_NO_PUNT PuntRequest_PuntType = 0
	// Create an L2 "hairpin x-connect" using TAPs or MEMIFs:
	//
	//	vpp_interface1 <-> vpp tap/memif 1 <-> linux tap/memif 1 -- CNF -- linux tap/memif 2 <-> vpp tap/memif 2 <-> vpp_interface2
	//
	// (i.e. hairpinning over linux network stack or via memif-enabled CNF)
	PuntRequest_HAIRPIN_XCONNECT PuntRequest_PuntType = 1
	// Like HAIRPIN x-connect except that while one side is attached to an existing L2 VPP interface, the other side
	// is created as memif or TAP with given attributes. Basically it is like a feature attached to VPP interface
	// (in the form of a new interface linked with an existing one, just like tunnel interfaces), which causes all
	// traffic arriving/leaving via that interface to also flow through a CNF/Linux network stack before
	// entering/exiting VPP. Unlike HAIRPIN x-connect it is therefore possible to attach further processing
	// to this traffic (x-connect just forwards it through VPP unprocessed).
	PuntRequest_HAIRPIN PuntRequest_PuntType = 2
	// Copy traffic arriving and/or leaving via L2/L3 interface and send it to Linux or memif-enabled CNF.
	PuntRequest_SPAN PuntRequest_PuntType = 3
	// Effectively replicate L3 VPP interface in Linux using ACL-based xConnect as follows:
	//
	//	vpp-interface with IP  <-- ABX --> unnumbered vpp memif/tap interface <-> Linux Tap / CNF memif
	PuntRequest_ABX PuntRequest_PuntType = 4
	// Punt traffic matching given conditions (received through any interface) and punt it over a AF_UNIX socket.
	PuntRequest_PUNT_TO_SOCKET PuntRequest_PuntType = 5
	// Proxy DHCP requests for a given (L3) VRF into the Linux network stack or into a memif-enabled CNF.
	PuntRequest_DHCP_PROXY PuntRequest_PuntType = 6
	// Effectively replicate L3 VPP interface in Linux for ISIS protocol packets using xConnect as follows:
	//
	//	vpp-interface with IP  <-- ISISX --> unnumbered vpp memif/tap interface <-> Linux Tap / CNF memif
	//
	// Basically it has the same goal as ABX, but ABX can't be used for ISIS protocol packets as packets
	// for this protocol get dropped in VPP before reaching ACL VPP node.
	PuntRequest_ISISX PuntRequest_PuntType = 7
)

func (PuntRequest_PuntType) Descriptor

func (PuntRequest_PuntType) Enum

func (PuntRequest_PuntType) EnumDescriptor deprecated

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

Deprecated: Use PuntRequest_PuntType.Descriptor instead.

func (PuntRequest_PuntType) Number

func (PuntRequest_PuntType) String

func (x PuntRequest_PuntType) String() string

func (PuntRequest_PuntType) Type

type PuntRequest_Span

type PuntRequest_Span struct {
	VppInterface string `protobuf:"bytes,1,opt,name=vpp_interface,json=vppInterface,proto3" json:"vpp_interface,omitempty"`
	// contains filtered or unexported fields
}

func (*PuntRequest_Span) Descriptor deprecated

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

Deprecated: Use PuntRequest_Span.ProtoReflect.Descriptor instead.

func (*PuntRequest_Span) GetVppInterface

func (x *PuntRequest_Span) GetVppInterface() string

func (*PuntRequest_Span) ProtoMessage

func (*PuntRequest_Span) ProtoMessage()

func (*PuntRequest_Span) ProtoReflect

func (x *PuntRequest_Span) ProtoReflect() protoreflect.Message

func (*PuntRequest_Span) Reset

func (x *PuntRequest_Span) Reset()

func (*PuntRequest_Span) String

func (x *PuntRequest_Span) String() string

type PuntRequest_Span_

type PuntRequest_Span_ struct {
	Span *PuntRequest_Span `protobuf:"bytes,12,opt,name=span,proto3,oneof"`
}

type PuntRequests

type PuntRequests struct {
	PuntRequests []*PuntRequest `protobuf:"bytes,1,rep,name=punt_requests,json=puntRequests,proto3" json:"punt_requests,omitempty"`
	// contains filtered or unexported fields
}

A list of punt requests.

func (*PuntRequests) Descriptor deprecated

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

Deprecated: Use PuntRequests.ProtoReflect.Descriptor instead.

func (*PuntRequests) GetPuntRequests

func (x *PuntRequests) GetPuntRequests() []*PuntRequest

func (*PuntRequests) ProtoMessage

func (*PuntRequests) ProtoMessage()

func (*PuntRequests) ProtoReflect

func (x *PuntRequests) ProtoReflect() protoreflect.Message

func (*PuntRequests) Reset

func (x *PuntRequests) Reset()

func (*PuntRequests) String

func (x *PuntRequests) String() string

type PuntState

type PuntState int32

Lifecycle of a punt.

const (
	// The state of the punt is not known.
	PuntState_UNKNOWN PuntState = 0
	// Punt is initialized (metadata are available) but not yet configured.
	PuntState_INIT PuntState = 1
	// Punt is configured between VPP and CNF/Linux.
	PuntState_CREATED PuntState = 2
	// Punt is removed and no longer available (including the metadata).
	PuntState_DELETED PuntState = 3
)

func (PuntState) Descriptor

func (PuntState) Descriptor() protoreflect.EnumDescriptor

func (PuntState) Enum

func (x PuntState) Enum() *PuntState

func (PuntState) EnumDescriptor deprecated

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

Deprecated: Use PuntState.Descriptor instead.

func (PuntState) Number

func (x PuntState) Number() protoreflect.EnumNumber

func (PuntState) String

func (x PuntState) String() string

func (PuntState) Type

type UnimplementedPuntManagerServer

type UnimplementedPuntManagerServer struct {
}

UnimplementedPuntManagerServer must be embedded to have forward compatible implementations.

func (UnimplementedPuntManagerServer) UpdatePuntState

type UnsafePuntManagerServer

type UnsafePuntManagerServer interface {
	// contains filtered or unexported methods
}

UnsafePuntManagerServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to PuntManagerServer will result in compilation errors.

type UpdatePuntStateReq

type UpdatePuntStateReq struct {
	Metadata *PuntMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
	State    PuntState     `protobuf:"varint,2,opt,name=state,proto3,enum=puntmgr.PuntState" json:"state,omitempty"`
	// contains filtered or unexported fields
}

UpdatePuntStateReq encapsulates input arguments to UpdatePuntState gRPC.

func (*UpdatePuntStateReq) Descriptor deprecated

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

Deprecated: Use UpdatePuntStateReq.ProtoReflect.Descriptor instead.

func (*UpdatePuntStateReq) GetMetadata

func (x *UpdatePuntStateReq) GetMetadata() *PuntMetadata

func (*UpdatePuntStateReq) GetState

func (x *UpdatePuntStateReq) GetState() PuntState

func (*UpdatePuntStateReq) ProtoMessage

func (*UpdatePuntStateReq) ProtoMessage()

func (*UpdatePuntStateReq) ProtoReflect

func (x *UpdatePuntStateReq) ProtoReflect() protoreflect.Message

func (*UpdatePuntStateReq) Reset

func (x *UpdatePuntStateReq) Reset()

func (*UpdatePuntStateReq) String

func (x *UpdatePuntStateReq) String() string

type UpdatePuntStateResp

type UpdatePuntStateResp struct {
	// contains filtered or unexported fields
}

UpdatePuntStateResp is empty. UpdatePuntState returns only SUCCESS/FAILURE.

func (*UpdatePuntStateResp) Descriptor deprecated

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

Deprecated: Use UpdatePuntStateResp.ProtoReflect.Descriptor instead.

func (*UpdatePuntStateResp) ProtoMessage

func (*UpdatePuntStateResp) ProtoMessage()

func (*UpdatePuntStateResp) ProtoReflect

func (x *UpdatePuntStateResp) ProtoReflect() protoreflect.Message

func (*UpdatePuntStateResp) Reset

func (x *UpdatePuntStateResp) Reset()

func (*UpdatePuntStateResp) String

func (x *UpdatePuntStateResp) String() string

Jump to

Keyboard shortcuts

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