vpp_srv6

package
v3.4.0-alpha Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2022 License: Apache-2.0 Imports: 7 Imported by: 12

Documentation

Index

Constants

View Source
const (
	ModuleName = "vpp.srv6"
)

ModuleName is the module name used for models.

Variables

View Source
var (
	// ModelLocalSID is registered NB model of LocalSID
	ModelLocalSID = models.Register(&LocalSID{}, models.Spec{
		Module:  ModuleName,
		Type:    "localsid",
		Version: "v2",
	}, models.WithNameTemplate("{{.Sid}}"))

	// ModelPolicy is registered NB model of Policy
	ModelPolicy = models.Register(&Policy{}, models.Spec{
		Module:  ModuleName,
		Type:    "policy",
		Version: "v2",
	}, models.WithNameTemplate("{{.Bsid}}"))

	// ModelSteering is registered NB model of Steering
	ModelSteering = models.Register(&Steering{}, models.Spec{
		Module:  ModuleName,
		Type:    "steering",
		Version: "v2",
	}, models.WithNameTemplate("{{.Name}}"))

	// ModelSRv6Global is registered NB model of SRv6 global config
	ModelSRv6Global = models.Register(&SRv6Global{}, models.Spec{
		Module:  ModuleName,
		Type:    "srv6-global",
		Version: "v2",
	})
)
View Source
var File_ligato_vpp_srv6_srv6_proto protoreflect.FileDescriptor

Functions

func PolicyKey

func PolicyKey(bsid string) string

PolicyKey returns the key used in ETCD to store vpp sr policy for vpp instance.

Types

type LocalSID

type LocalSID struct {
	Sid               string `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"` // segment id (IPv6 Address)
	InstallationVrfId uint32 `protobuf:"varint,2,opt,name=installation_vrf_id,json=installationVrfId,proto3" json:"installation_vrf_id,omitempty"`
	// Configuration for end functions (all end functions are mutually exclusive)
	// Types that are assignable to EndFunction:
	//	*LocalSID_BaseEndFunction
	//	*LocalSID_EndFunctionX
	//	*LocalSID_EndFunctionT
	//	*LocalSID_EndFunctionDx2
	//	*LocalSID_EndFunctionDx4
	//	*LocalSID_EndFunctionDx6
	//	*LocalSID_EndFunctionDt4
	//	*LocalSID_EndFunctionDt6
	//	*LocalSID_EndFunctionAd
	EndFunction isLocalSID_EndFunction `protobuf_oneof:"end_function"`
	// contains filtered or unexported fields
}

func (*LocalSID) Descriptor deprecated

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

Deprecated: Use LocalSID.ProtoReflect.Descriptor instead.

func (*LocalSID) GetBaseEndFunction

func (x *LocalSID) GetBaseEndFunction() *LocalSID_End

func (*LocalSID) GetEndFunction

func (m *LocalSID) GetEndFunction() isLocalSID_EndFunction

func (*LocalSID) GetEndFunctionAd

func (x *LocalSID) GetEndFunctionAd() *LocalSID_EndAD

func (*LocalSID) GetEndFunctionDt4

func (x *LocalSID) GetEndFunctionDt4() *LocalSID_EndDT4

func (*LocalSID) GetEndFunctionDt6

func (x *LocalSID) GetEndFunctionDt6() *LocalSID_EndDT6

func (*LocalSID) GetEndFunctionDx2

func (x *LocalSID) GetEndFunctionDx2() *LocalSID_EndDX2

func (*LocalSID) GetEndFunctionDx4

func (x *LocalSID) GetEndFunctionDx4() *LocalSID_EndDX4

func (*LocalSID) GetEndFunctionDx6

func (x *LocalSID) GetEndFunctionDx6() *LocalSID_EndDX6

func (*LocalSID) GetEndFunctionT

func (x *LocalSID) GetEndFunctionT() *LocalSID_EndT

func (*LocalSID) GetEndFunctionX

func (x *LocalSID) GetEndFunctionX() *LocalSID_EndX

func (*LocalSID) GetInstallationVrfId

func (x *LocalSID) GetInstallationVrfId() uint32

func (*LocalSID) GetSid

func (x *LocalSID) GetSid() string

func (*LocalSID) ProtoMessage

func (*LocalSID) ProtoMessage()

func (*LocalSID) ProtoReflect added in v3.2.0

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

func (*LocalSID) Reset

func (x *LocalSID) Reset()

func (*LocalSID) String

func (x *LocalSID) String() string

type LocalSID_BaseEndFunction

type LocalSID_BaseEndFunction struct {
	BaseEndFunction *LocalSID_End `protobuf:"bytes,3,opt,name=base_end_function,json=baseEndFunction,proto3,oneof"`
}

type LocalSID_End

type LocalSID_End struct {
	Psp bool `protobuf:"varint,1,opt,name=psp,proto3" json:"psp,omitempty"` // use PSP (penultimate segment POP of the SRH) or by default use USP (Ultimate Segment Pop of the SRH)
	// contains filtered or unexported fields
}

End function behavior of simple endpoint

func (*LocalSID_End) Descriptor deprecated

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

Deprecated: Use LocalSID_End.ProtoReflect.Descriptor instead.

func (*LocalSID_End) GetPsp

func (x *LocalSID_End) GetPsp() bool

func (*LocalSID_End) ProtoMessage

func (*LocalSID_End) ProtoMessage()

func (*LocalSID_End) ProtoReflect added in v3.2.0

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

func (*LocalSID_End) Reset

func (x *LocalSID_End) Reset()

func (*LocalSID_End) String

func (x *LocalSID_End) String() string

type LocalSID_EndAD

type LocalSID_EndAD struct {
	OutgoingInterface string `protobuf:"bytes,2,opt,name=outgoing_interface,json=outgoingInterface,proto3" json:"outgoing_interface,omitempty"` // name of interface on segment routing proxy side sending data to segment routing unaware service
	IncomingInterface string `protobuf:"bytes,3,opt,name=incoming_interface,json=incomingInterface,proto3" json:"incoming_interface,omitempty"` // name of interface on segment routing proxy side receiving data from segment routing unaware service
	L3ServiceAddress  string `protobuf:"bytes,4,opt,name=l3_service_address,json=l3ServiceAddress,proto3" json:"l3_service_address,omitempty"`  // IPv6/IPv4 address of L3 SR-unaware service (address type depends whether service is IPv4 or IPv6 service), in case of L2 service it must be empty
	// contains filtered or unexported fields
}

End function behavior of dynamic segment routing proxy endpoint

func (*LocalSID_EndAD) Descriptor deprecated

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

Deprecated: Use LocalSID_EndAD.ProtoReflect.Descriptor instead.

func (*LocalSID_EndAD) GetIncomingInterface

func (x *LocalSID_EndAD) GetIncomingInterface() string

func (*LocalSID_EndAD) GetL3ServiceAddress

func (x *LocalSID_EndAD) GetL3ServiceAddress() string

func (*LocalSID_EndAD) GetOutgoingInterface

func (x *LocalSID_EndAD) GetOutgoingInterface() string

func (*LocalSID_EndAD) ProtoMessage

func (*LocalSID_EndAD) ProtoMessage()

func (*LocalSID_EndAD) ProtoReflect added in v3.2.0

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

func (*LocalSID_EndAD) Reset

func (x *LocalSID_EndAD) Reset()

func (*LocalSID_EndAD) String

func (x *LocalSID_EndAD) String() string

type LocalSID_EndDT4

type LocalSID_EndDT4 struct {
	VrfId uint32 `protobuf:"varint,1,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
	// contains filtered or unexported fields
}

End function behavior of endpoint with decapsulation and specific IPv4 table lookup

func (*LocalSID_EndDT4) Descriptor deprecated

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

Deprecated: Use LocalSID_EndDT4.ProtoReflect.Descriptor instead.

func (*LocalSID_EndDT4) GetVrfId

func (x *LocalSID_EndDT4) GetVrfId() uint32

func (*LocalSID_EndDT4) ProtoMessage

func (*LocalSID_EndDT4) ProtoMessage()

func (*LocalSID_EndDT4) ProtoReflect added in v3.2.0

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

func (*LocalSID_EndDT4) Reset

func (x *LocalSID_EndDT4) Reset()

func (*LocalSID_EndDT4) String

func (x *LocalSID_EndDT4) String() string

type LocalSID_EndDT6

type LocalSID_EndDT6 struct {
	VrfId uint32 `protobuf:"varint,1,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
	// contains filtered or unexported fields
}

End function behavior of endpoint with decapsulation and specific IPv6 table lookup

func (*LocalSID_EndDT6) Descriptor deprecated

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

Deprecated: Use LocalSID_EndDT6.ProtoReflect.Descriptor instead.

func (*LocalSID_EndDT6) GetVrfId

func (x *LocalSID_EndDT6) GetVrfId() uint32

func (*LocalSID_EndDT6) ProtoMessage

func (*LocalSID_EndDT6) ProtoMessage()

func (*LocalSID_EndDT6) ProtoReflect added in v3.2.0

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

func (*LocalSID_EndDT6) Reset

func (x *LocalSID_EndDT6) Reset()

func (*LocalSID_EndDT6) String

func (x *LocalSID_EndDT6) String() string

type LocalSID_EndDX2

type LocalSID_EndDX2 struct {
	VlanTag           uint32 `protobuf:"varint,1,opt,name=vlan_tag,json=vlanTag,proto3" json:"vlan_tag,omitempty"`                              // Outgoing VLAN tag
	OutgoingInterface string `protobuf:"bytes,2,opt,name=outgoing_interface,json=outgoingInterface,proto3" json:"outgoing_interface,omitempty"` // name of cross-connected outgoing interface
	// contains filtered or unexported fields
}

End function behavior of endpoint with decapsulation and Layer-2 cross-connect (or DX2 with egress VLAN rewrite when VLAN notzero - not supported this variant yet)

func (*LocalSID_EndDX2) Descriptor deprecated

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

Deprecated: Use LocalSID_EndDX2.ProtoReflect.Descriptor instead.

func (*LocalSID_EndDX2) GetOutgoingInterface

func (x *LocalSID_EndDX2) GetOutgoingInterface() string

func (*LocalSID_EndDX2) GetVlanTag

func (x *LocalSID_EndDX2) GetVlanTag() uint32

func (*LocalSID_EndDX2) ProtoMessage

func (*LocalSID_EndDX2) ProtoMessage()

func (*LocalSID_EndDX2) ProtoReflect added in v3.2.0

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

func (*LocalSID_EndDX2) Reset

func (x *LocalSID_EndDX2) Reset()

func (*LocalSID_EndDX2) String

func (x *LocalSID_EndDX2) String() string

type LocalSID_EndDX4

type LocalSID_EndDX4 struct {
	OutgoingInterface string `protobuf:"bytes,1,opt,name=outgoing_interface,json=outgoingInterface,proto3" json:"outgoing_interface,omitempty"` // name of cross-connected outgoing interface
	NextHop           string `protobuf:"bytes,2,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"`                               // next hop address for cross-connected link
	// contains filtered or unexported fields
}

End function behavior of endpoint with decapsulation and IPv4 cross-connect

func (*LocalSID_EndDX4) Descriptor deprecated

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

Deprecated: Use LocalSID_EndDX4.ProtoReflect.Descriptor instead.

func (*LocalSID_EndDX4) GetNextHop

func (x *LocalSID_EndDX4) GetNextHop() string

func (*LocalSID_EndDX4) GetOutgoingInterface

func (x *LocalSID_EndDX4) GetOutgoingInterface() string

func (*LocalSID_EndDX4) ProtoMessage

func (*LocalSID_EndDX4) ProtoMessage()

func (*LocalSID_EndDX4) ProtoReflect added in v3.2.0

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

func (*LocalSID_EndDX4) Reset

func (x *LocalSID_EndDX4) Reset()

func (*LocalSID_EndDX4) String

func (x *LocalSID_EndDX4) String() string

type LocalSID_EndDX6

type LocalSID_EndDX6 struct {
	OutgoingInterface string `protobuf:"bytes,1,opt,name=outgoing_interface,json=outgoingInterface,proto3" json:"outgoing_interface,omitempty"` // name of cross-connected outgoing interface
	NextHop           string `protobuf:"bytes,2,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"`                               // next hop address for cross-connected link
	// contains filtered or unexported fields
}

End function behavior of endpoint with decapsulation and IPv6 cross-connect

func (*LocalSID_EndDX6) Descriptor deprecated

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

Deprecated: Use LocalSID_EndDX6.ProtoReflect.Descriptor instead.

func (*LocalSID_EndDX6) GetNextHop

func (x *LocalSID_EndDX6) GetNextHop() string

func (*LocalSID_EndDX6) GetOutgoingInterface

func (x *LocalSID_EndDX6) GetOutgoingInterface() string

func (*LocalSID_EndDX6) ProtoMessage

func (*LocalSID_EndDX6) ProtoMessage()

func (*LocalSID_EndDX6) ProtoReflect added in v3.2.0

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

func (*LocalSID_EndDX6) Reset

func (x *LocalSID_EndDX6) Reset()

func (*LocalSID_EndDX6) String

func (x *LocalSID_EndDX6) String() string

type LocalSID_EndFunctionAd

type LocalSID_EndFunctionAd struct {
	EndFunctionAd *LocalSID_EndAD `protobuf:"bytes,11,opt,name=end_function_ad,json=endFunctionAd,proto3,oneof"`
}

type LocalSID_EndFunctionDt4

type LocalSID_EndFunctionDt4 struct {
	EndFunctionDt4 *LocalSID_EndDT4 `protobuf:"bytes,9,opt,name=end_function_dt4,json=endFunctionDt4,proto3,oneof"`
}

type LocalSID_EndFunctionDt6

type LocalSID_EndFunctionDt6 struct {
	EndFunctionDt6 *LocalSID_EndDT6 `protobuf:"bytes,10,opt,name=end_function_dt6,json=endFunctionDt6,proto3,oneof"`
}

type LocalSID_EndFunctionDx2

type LocalSID_EndFunctionDx2 struct {
	EndFunctionDx2 *LocalSID_EndDX2 `protobuf:"bytes,6,opt,name=end_function_dx2,json=endFunctionDx2,proto3,oneof"`
}

type LocalSID_EndFunctionDx4

type LocalSID_EndFunctionDx4 struct {
	EndFunctionDx4 *LocalSID_EndDX4 `protobuf:"bytes,7,opt,name=end_function_dx4,json=endFunctionDx4,proto3,oneof"`
}

type LocalSID_EndFunctionDx6

type LocalSID_EndFunctionDx6 struct {
	EndFunctionDx6 *LocalSID_EndDX6 `protobuf:"bytes,8,opt,name=end_function_dx6,json=endFunctionDx6,proto3,oneof"`
}

type LocalSID_EndFunctionT

type LocalSID_EndFunctionT struct {
	EndFunctionT *LocalSID_EndT `protobuf:"bytes,5,opt,name=end_function_t,json=endFunctionT,proto3,oneof"`
}

type LocalSID_EndFunctionX

type LocalSID_EndFunctionX struct {
	EndFunctionX *LocalSID_EndX `protobuf:"bytes,4,opt,name=end_function_x,json=endFunctionX,proto3,oneof"`
}

type LocalSID_EndT

type LocalSID_EndT struct {
	Psp   bool   `protobuf:"varint,1,opt,name=psp,proto3" json:"psp,omitempty"` // use PSP (penultimate segment POP of the SRH) or by default use USP (Ultimate Segment Pop of the SRH)
	VrfId uint32 `protobuf:"varint,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
	// contains filtered or unexported fields
}

End function behavior of endpoint with specific IPv6 table lookup

func (*LocalSID_EndT) Descriptor deprecated

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

Deprecated: Use LocalSID_EndT.ProtoReflect.Descriptor instead.

func (*LocalSID_EndT) GetPsp

func (x *LocalSID_EndT) GetPsp() bool

func (*LocalSID_EndT) GetVrfId

func (x *LocalSID_EndT) GetVrfId() uint32

func (*LocalSID_EndT) ProtoMessage

func (*LocalSID_EndT) ProtoMessage()

func (*LocalSID_EndT) ProtoReflect added in v3.2.0

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

func (*LocalSID_EndT) Reset

func (x *LocalSID_EndT) Reset()

func (*LocalSID_EndT) String

func (x *LocalSID_EndT) String() string

type LocalSID_EndX

type LocalSID_EndX struct {
	Psp               bool   `protobuf:"varint,1,opt,name=psp,proto3" json:"psp,omitempty"`                                                     // use PSP (penultimate segment POP of the SRH) or by default use USP (Ultimate Segment Pop of the SRH)
	OutgoingInterface string `protobuf:"bytes,2,opt,name=outgoing_interface,json=outgoingInterface,proto3" json:"outgoing_interface,omitempty"` // name of cross-connected outgoing interface
	NextHop           string `protobuf:"bytes,3,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"`                               // IPv6 next hop address for cross-connected link
	// contains filtered or unexported fields
}

End function behavior of endpoint with Layer-3 cross-connect (IPv6)

func (*LocalSID_EndX) Descriptor deprecated

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

Deprecated: Use LocalSID_EndX.ProtoReflect.Descriptor instead.

func (*LocalSID_EndX) GetNextHop

func (x *LocalSID_EndX) GetNextHop() string

func (*LocalSID_EndX) GetOutgoingInterface

func (x *LocalSID_EndX) GetOutgoingInterface() string

func (*LocalSID_EndX) GetPsp

func (x *LocalSID_EndX) GetPsp() bool

func (*LocalSID_EndX) ProtoMessage

func (*LocalSID_EndX) ProtoMessage()

func (*LocalSID_EndX) ProtoReflect added in v3.2.0

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

func (*LocalSID_EndX) Reset

func (x *LocalSID_EndX) Reset()

func (*LocalSID_EndX) String

func (x *LocalSID_EndX) String() string

type Policy

type Policy struct {
	Bsid              string                `protobuf:"bytes,1,opt,name=bsid,proto3" json:"bsid,omitempty"` // binding SID (IPv6 Address)
	InstallationVrfId uint32                `protobuf:"varint,2,opt,name=installation_vrf_id,json=installationVrfId,proto3" json:"installation_vrf_id,omitempty"`
	SrhEncapsulation  bool                  `protobuf:"varint,3,opt,name=srh_encapsulation,json=srhEncapsulation,proto3" json:"srh_encapsulation,omitempty"` // are SR headers handled by encapsulation? (no means insertion of SR headers)
	SprayBehaviour    bool                  `protobuf:"varint,4,opt,name=spray_behaviour,json=sprayBehaviour,proto3" json:"spray_behaviour,omitempty"`       // spray(multicast) to all policy segments? (no means to use PolicySegment.weight to loadbalance traffic)
	SegmentLists      []*Policy_SegmentList `protobuf:"bytes,5,rep,name=segment_lists,json=segmentLists,proto3" json:"segment_lists,omitempty"`
	// contains filtered or unexported fields
}

Model for SRv6 policy (policy without at least one policy segment is only cached in ligato and not written to VPP)

func (*Policy) Descriptor deprecated

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

Deprecated: Use Policy.ProtoReflect.Descriptor instead.

func (*Policy) GetBsid

func (x *Policy) GetBsid() string

func (*Policy) GetInstallationVrfId

func (x *Policy) GetInstallationVrfId() uint32

func (*Policy) GetSegmentLists

func (x *Policy) GetSegmentLists() []*Policy_SegmentList

func (*Policy) GetSprayBehaviour

func (x *Policy) GetSprayBehaviour() bool

func (*Policy) GetSrhEncapsulation

func (x *Policy) GetSrhEncapsulation() bool

func (*Policy) ProtoMessage

func (*Policy) ProtoMessage()

func (*Policy) ProtoReflect added in v3.2.0

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

func (*Policy) Reset

func (x *Policy) Reset()

func (*Policy) String

func (x *Policy) String() string

type Policy_SegmentList

type Policy_SegmentList struct {
	Weight   uint32   `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"`    // used for loadbalancing in case of multiple policy segments in routing process (ignored in case of spray policies)
	Segments []string `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"` // list of sids creating one segmented road
	// contains filtered or unexported fields
}

Model for SRv6 Segment List

func (*Policy_SegmentList) Descriptor deprecated

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

Deprecated: Use Policy_SegmentList.ProtoReflect.Descriptor instead.

func (*Policy_SegmentList) GetSegments

func (x *Policy_SegmentList) GetSegments() []string

func (*Policy_SegmentList) GetWeight

func (x *Policy_SegmentList) GetWeight() uint32

func (*Policy_SegmentList) ProtoMessage

func (*Policy_SegmentList) ProtoMessage()

func (*Policy_SegmentList) ProtoReflect added in v3.2.0

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

func (*Policy_SegmentList) Reset

func (x *Policy_SegmentList) Reset()

func (*Policy_SegmentList) String

func (x *Policy_SegmentList) String() string

type SID

type SID = net.IP

SID (in srv6 package) is SRv6's segment id. It is always represented as IPv6 address

type SRv6Global

type SRv6Global struct {
	EncapSourceAddress string `protobuf:"bytes,1,opt,name=encap_source_address,json=encapSourceAddress,proto3" json:"encap_source_address,omitempty"` // IPv6 source address for sr encapsulated packets
	// contains filtered or unexported fields
}

Global SRv6 config

func (*SRv6Global) Descriptor deprecated

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

Deprecated: Use SRv6Global.ProtoReflect.Descriptor instead.

func (*SRv6Global) GetEncapSourceAddress

func (x *SRv6Global) GetEncapSourceAddress() string

func (*SRv6Global) ProtoMessage

func (*SRv6Global) ProtoMessage()

func (*SRv6Global) ProtoReflect added in v3.2.0

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

func (*SRv6Global) Reset

func (x *SRv6Global) Reset()

func (*SRv6Global) String

func (x *SRv6Global) String() string

type Steering

type Steering struct {
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // globally unique steering identification (used in keys when is steering stored in key-value stores(i.e. ETCD))
	// Referencing policy that should be used for steering traffic into (all policy references are mutual exclusive)
	// Types that are assignable to PolicyRef:
	//	*Steering_PolicyBsid
	//	*Steering_PolicyIndex
	PolicyRef isSteering_PolicyRef `protobuf_oneof:"policy_ref"`
	// Traffic configuration (all traffic messages are mutual exclusive)
	// Types that are assignable to Traffic:
	//	*Steering_L2Traffic_
	//	*Steering_L3Traffic_
	Traffic isSteering_Traffic `protobuf_oneof:"traffic"`
	// contains filtered or unexported fields
}

Model for steering traffic to SRv6 policy

func (*Steering) Descriptor deprecated

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

Deprecated: Use Steering.ProtoReflect.Descriptor instead.

func (*Steering) GetL2Traffic

func (x *Steering) GetL2Traffic() *Steering_L2Traffic

func (*Steering) GetL3Traffic

func (x *Steering) GetL3Traffic() *Steering_L3Traffic

func (*Steering) GetName

func (x *Steering) GetName() string

func (*Steering) GetPolicyBsid

func (x *Steering) GetPolicyBsid() string

func (*Steering) GetPolicyIndex

func (x *Steering) GetPolicyIndex() uint32

func (*Steering) GetPolicyRef

func (m *Steering) GetPolicyRef() isSteering_PolicyRef

func (*Steering) GetTraffic

func (m *Steering) GetTraffic() isSteering_Traffic

func (*Steering) ProtoMessage

func (*Steering) ProtoMessage()

func (*Steering) ProtoReflect added in v3.2.0

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

func (*Steering) Reset

func (x *Steering) Reset()

func (*Steering) String

func (x *Steering) String() string

type Steering_L2Traffic

type Steering_L2Traffic struct {
	InterfaceName string `protobuf:"bytes,1,opt,name=interface_name,json=interfaceName,proto3" json:"interface_name,omitempty"` // name of interface with incoming traffic that should be steered to SR policy
	// contains filtered or unexported fields
}

func (*Steering_L2Traffic) Descriptor deprecated

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

Deprecated: Use Steering_L2Traffic.ProtoReflect.Descriptor instead.

func (*Steering_L2Traffic) GetInterfaceName

func (x *Steering_L2Traffic) GetInterfaceName() string

func (*Steering_L2Traffic) ProtoMessage

func (*Steering_L2Traffic) ProtoMessage()

func (*Steering_L2Traffic) ProtoReflect added in v3.2.0

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

func (*Steering_L2Traffic) Reset

func (x *Steering_L2Traffic) Reset()

func (*Steering_L2Traffic) String

func (x *Steering_L2Traffic) String() string

type Steering_L2Traffic_

type Steering_L2Traffic_ struct {
	L2Traffic *Steering_L2Traffic `protobuf:"bytes,3,opt,name=l2_traffic,json=l2Traffic,proto3,oneof"`
}

type Steering_L3Traffic

type Steering_L3Traffic struct {
	InstallationVrfId uint32 `protobuf:"varint,1,opt,name=installation_vrf_id,json=installationVrfId,proto3" json:"installation_vrf_id,omitempty"`
	PrefixAddress     string `protobuf:"bytes,2,opt,name=prefix_address,json=prefixAddress,proto3" json:"prefix_address,omitempty"` // IPv4/IPv6 prefix address(CIRD format) of traffic destination. All traffic with given destination will be steered to given SR policy
	// contains filtered or unexported fields
}

func (*Steering_L3Traffic) Descriptor deprecated

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

Deprecated: Use Steering_L3Traffic.ProtoReflect.Descriptor instead.

func (*Steering_L3Traffic) GetInstallationVrfId

func (x *Steering_L3Traffic) GetInstallationVrfId() uint32

func (*Steering_L3Traffic) GetPrefixAddress

func (x *Steering_L3Traffic) GetPrefixAddress() string

func (*Steering_L3Traffic) ProtoMessage

func (*Steering_L3Traffic) ProtoMessage()

func (*Steering_L3Traffic) ProtoReflect added in v3.2.0

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

func (*Steering_L3Traffic) Reset

func (x *Steering_L3Traffic) Reset()

func (*Steering_L3Traffic) String

func (x *Steering_L3Traffic) String() string

type Steering_L3Traffic_

type Steering_L3Traffic_ struct {
	L3Traffic *Steering_L3Traffic `protobuf:"bytes,4,opt,name=l3_traffic,json=l3Traffic,proto3,oneof"`
}

type Steering_PolicyBsid

type Steering_PolicyBsid struct {
	PolicyBsid string `protobuf:"bytes,1,opt,name=policy_bsid,json=policyBsid,proto3,oneof"` // BSID identifier for policy to which we want to steer routing into (policyBSID and policyIndex are mutual exclusive)
}

type Steering_PolicyIndex

type Steering_PolicyIndex struct {
	PolicyIndex uint32 `protobuf:"varint,2,opt,name=policy_index,json=policyIndex,proto3,oneof"` // (vpp-internal)Index identifier for policy to which we want to steer routing into (policyBSID and policyIndex are mutual exclusive)
}

Jump to

Keyboard shortcuts

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