Documentation ¶
Overview ¶
Package srv6 is a generated protocol buffer package.
It is generated from these files:
srv6.proto
It has these top-level messages:
LocalSID Policy PolicySegment Steering
Index ¶
- Constants
- func BasePrefix() string
- func IsPolicySegmentPrefix(key string) bool
- func LocalSIDPrefix() string
- func ParsePolicySegmentKey(key string) (string, error)
- func PolicyPrefix() string
- func SteeringPrefix() string
- type LocalSID
- func (*LocalSID) Descriptor() ([]byte, []int)
- func (m *LocalSID) GetBaseEndFunction() *LocalSID_End
- func (m *LocalSID) GetEndFunction_DT4() *LocalSID_EndDT4
- func (m *LocalSID) GetEndFunction_DT6() *LocalSID_EndDT6
- func (m *LocalSID) GetEndFunction_DX2() *LocalSID_EndDX2
- func (m *LocalSID) GetEndFunction_DX4() *LocalSID_EndDX4
- func (m *LocalSID) GetEndFunction_DX6() *LocalSID_EndDX6
- func (m *LocalSID) GetEndFunction_T() *LocalSID_EndT
- func (m *LocalSID) GetEndFunction_X() *LocalSID_EndX
- func (m *LocalSID) GetFibTableId() uint32
- func (m *LocalSID) GetSid() string
- func (*LocalSID) ProtoMessage()
- func (m *LocalSID) Reset()
- func (m *LocalSID) String() string
- type LocalSID_End
- type LocalSID_EndDT4
- type LocalSID_EndDT6
- type LocalSID_EndDX2
- func (*LocalSID_EndDX2) Descriptor() ([]byte, []int)
- func (m *LocalSID_EndDX2) GetNextHop() string
- func (m *LocalSID_EndDX2) GetOutgoingInterface() string
- func (m *LocalSID_EndDX2) GetVlanTag() uint32
- func (*LocalSID_EndDX2) ProtoMessage()
- func (m *LocalSID_EndDX2) Reset()
- func (m *LocalSID_EndDX2) String() string
- type LocalSID_EndDX4
- type LocalSID_EndDX6
- type LocalSID_EndT
- type LocalSID_EndX
- type Policy
- type PolicySegment
- type SID
- type Steering
- func (*Steering) Descriptor() ([]byte, []int)
- func (m *Steering) GetL2Traffic() *Steering_L2Traffic
- func (m *Steering) GetL3Traffic() *Steering_L3Traffic
- func (m *Steering) GetPolicyBsid() string
- func (m *Steering) GetPolicyIndex() uint32
- func (*Steering) ProtoMessage()
- func (m *Steering) Reset()
- func (m *Steering) String() string
- type Steering_L2Traffic
- type Steering_L3Traffic
Constants ¶
const EtcdKeyPathDelimiter = "/"
EtcdKeyPathDelimiter is delimiter used in ETCD keys and can be used to combine multiple etcd key parts together (without worry that key part has accidentally this delimiter because otherwise it would not be one key part)
Variables ¶
This section is empty.
Functions ¶
func BasePrefix ¶
func BasePrefix() string
BasePrefix returns the prefix used in ETCD to store vpp SRv6 config.
func IsPolicySegmentPrefix ¶
IsPolicySegmentPrefix check whether key has policy segment prefix
func LocalSIDPrefix ¶
func LocalSIDPrefix() string
LocalSIDPrefix returns longest common prefix for all local SID keys
func ParsePolicySegmentKey ¶
ParsePolicySegmentKey parses policy segment name.
func PolicyPrefix ¶
func PolicyPrefix() string
PolicyPrefix returns longest common prefix for all policy keys
func SteeringPrefix ¶
func SteeringPrefix() string
SteeringPrefix returns longest common prefix for all steering keys
Types ¶
type LocalSID ¶
type LocalSID struct { Sid string `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"` FibTableId uint32 `protobuf:"varint,2,opt,name=fib_table_id,json=fibTableId,proto3" json:"fib_table_id,omitempty"` // Configuration for end functions (all end functions are mutually exclusive) BaseEndFunction *LocalSID_End `protobuf:"bytes,3,opt,name=base_end_function,json=baseEndFunction" json:"base_end_function,omitempty"` EndFunction_X *LocalSID_EndX `protobuf:"bytes,4,opt,name=end_function_X,json=endFunctionX" json:"end_function_X,omitempty"` EndFunction_T *LocalSID_EndT `protobuf:"bytes,5,opt,name=end_function_T,json=endFunctionT" json:"end_function_T,omitempty"` EndFunction_DX2 *LocalSID_EndDX2 `protobuf:"bytes,6,opt,name=end_function_DX2,json=endFunctionDX2" json:"end_function_DX2,omitempty"` EndFunction_DX4 *LocalSID_EndDX4 `protobuf:"bytes,7,opt,name=end_function_DX4,json=endFunctionDX4" json:"end_function_DX4,omitempty"` EndFunction_DX6 *LocalSID_EndDX6 `protobuf:"bytes,8,opt,name=end_function_DX6,json=endFunctionDX6" json:"end_function_DX6,omitempty"` EndFunction_DT4 *LocalSID_EndDT4 `protobuf:"bytes,9,opt,name=end_function_DT4,json=endFunctionDT4" json:"end_function_DT4,omitempty"` EndFunction_DT6 *LocalSID_EndDT6 `protobuf:"bytes,10,opt,name=end_function_DT6,json=endFunctionDT6" json:"end_function_DT6,omitempty"` }
func (*LocalSID) Descriptor ¶
func (*LocalSID) GetBaseEndFunction ¶
func (m *LocalSID) GetBaseEndFunction() *LocalSID_End
func (*LocalSID) GetEndFunction_DT4 ¶
func (m *LocalSID) GetEndFunction_DT4() *LocalSID_EndDT4
func (*LocalSID) GetEndFunction_DT6 ¶
func (m *LocalSID) GetEndFunction_DT6() *LocalSID_EndDT6
func (*LocalSID) GetEndFunction_DX2 ¶
func (m *LocalSID) GetEndFunction_DX2() *LocalSID_EndDX2
func (*LocalSID) GetEndFunction_DX4 ¶
func (m *LocalSID) GetEndFunction_DX4() *LocalSID_EndDX4
func (*LocalSID) GetEndFunction_DX6 ¶
func (m *LocalSID) GetEndFunction_DX6() *LocalSID_EndDX6
func (*LocalSID) GetEndFunction_T ¶
func (m *LocalSID) GetEndFunction_T() *LocalSID_EndT
func (*LocalSID) GetEndFunction_X ¶
func (m *LocalSID) GetEndFunction_X() *LocalSID_EndX
func (*LocalSID) GetFibTableId ¶
func (*LocalSID) ProtoMessage ¶
func (*LocalSID) ProtoMessage()
type LocalSID_End ¶
type LocalSID_End struct {
Psp bool `protobuf:"varint,1,opt,name=psp,proto3" json:"psp,omitempty"`
}
End function behavior of simple endpoint
func (*LocalSID_End) Descriptor ¶
func (*LocalSID_End) Descriptor() ([]byte, []int)
func (*LocalSID_End) GetPsp ¶
func (m *LocalSID_End) GetPsp() bool
func (*LocalSID_End) ProtoMessage ¶
func (*LocalSID_End) ProtoMessage()
func (*LocalSID_End) Reset ¶
func (m *LocalSID_End) Reset()
func (*LocalSID_End) String ¶
func (m *LocalSID_End) String() string
type LocalSID_EndDT4 ¶
type LocalSID_EndDT4 struct { }
End function behavior of endpoint with decapsulation and specific IPv4 table lookup
func (*LocalSID_EndDT4) Descriptor ¶
func (*LocalSID_EndDT4) Descriptor() ([]byte, []int)
func (*LocalSID_EndDT4) ProtoMessage ¶
func (*LocalSID_EndDT4) ProtoMessage()
func (*LocalSID_EndDT4) Reset ¶
func (m *LocalSID_EndDT4) Reset()
func (*LocalSID_EndDT4) String ¶
func (m *LocalSID_EndDT4) String() string
type LocalSID_EndDT6 ¶
type LocalSID_EndDT6 struct { }
End function behavior of endpoint with decapsulation and specific IPv6 table lookup
func (*LocalSID_EndDT6) Descriptor ¶
func (*LocalSID_EndDT6) Descriptor() ([]byte, []int)
func (*LocalSID_EndDT6) ProtoMessage ¶
func (*LocalSID_EndDT6) ProtoMessage()
func (*LocalSID_EndDT6) Reset ¶
func (m *LocalSID_EndDT6) Reset()
func (*LocalSID_EndDT6) String ¶
func (m *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"` OutgoingInterface string `protobuf:"bytes,2,opt,name=outgoing_interface,json=outgoingInterface,proto3" json:"outgoing_interface,omitempty"` NextHop string `protobuf:"bytes,3,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` }
End function nehavior 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 ¶
func (*LocalSID_EndDX2) Descriptor() ([]byte, []int)
func (*LocalSID_EndDX2) GetNextHop ¶
func (m *LocalSID_EndDX2) GetNextHop() string
func (*LocalSID_EndDX2) GetOutgoingInterface ¶
func (m *LocalSID_EndDX2) GetOutgoingInterface() string
func (*LocalSID_EndDX2) GetVlanTag ¶
func (m *LocalSID_EndDX2) GetVlanTag() uint32
func (*LocalSID_EndDX2) ProtoMessage ¶
func (*LocalSID_EndDX2) ProtoMessage()
func (*LocalSID_EndDX2) Reset ¶
func (m *LocalSID_EndDX2) Reset()
func (*LocalSID_EndDX2) String ¶
func (m *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"` NextHop string `protobuf:"bytes,2,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` }
End function behavior of endpoint with decapsulation and IPv4 cross-connect
func (*LocalSID_EndDX4) Descriptor ¶
func (*LocalSID_EndDX4) Descriptor() ([]byte, []int)
func (*LocalSID_EndDX4) GetNextHop ¶
func (m *LocalSID_EndDX4) GetNextHop() string
func (*LocalSID_EndDX4) GetOutgoingInterface ¶
func (m *LocalSID_EndDX4) GetOutgoingInterface() string
func (*LocalSID_EndDX4) ProtoMessage ¶
func (*LocalSID_EndDX4) ProtoMessage()
func (*LocalSID_EndDX4) Reset ¶
func (m *LocalSID_EndDX4) Reset()
func (*LocalSID_EndDX4) String ¶
func (m *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"` NextHop string `protobuf:"bytes,2,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` }
End function behavior of endpoint with decapsulation and IPv6 cross-connect
func (*LocalSID_EndDX6) Descriptor ¶
func (*LocalSID_EndDX6) Descriptor() ([]byte, []int)
func (*LocalSID_EndDX6) GetNextHop ¶
func (m *LocalSID_EndDX6) GetNextHop() string
func (*LocalSID_EndDX6) GetOutgoingInterface ¶
func (m *LocalSID_EndDX6) GetOutgoingInterface() string
func (*LocalSID_EndDX6) ProtoMessage ¶
func (*LocalSID_EndDX6) ProtoMessage()
func (*LocalSID_EndDX6) Reset ¶
func (m *LocalSID_EndDX6) Reset()
func (*LocalSID_EndDX6) String ¶
func (m *LocalSID_EndDX6) String() string
type LocalSID_EndT ¶
type LocalSID_EndT struct {
Psp bool `protobuf:"varint,1,opt,name=psp,proto3" json:"psp,omitempty"`
}
End function behavior of endpoint with specific IPv6 table lookup
func (*LocalSID_EndT) Descriptor ¶
func (*LocalSID_EndT) Descriptor() ([]byte, []int)
func (*LocalSID_EndT) GetPsp ¶
func (m *LocalSID_EndT) GetPsp() bool
func (*LocalSID_EndT) ProtoMessage ¶
func (*LocalSID_EndT) ProtoMessage()
func (*LocalSID_EndT) Reset ¶
func (m *LocalSID_EndT) Reset()
func (*LocalSID_EndT) String ¶
func (m *LocalSID_EndT) String() string
type LocalSID_EndX ¶
type LocalSID_EndX struct { Psp bool `protobuf:"varint,1,opt,name=psp,proto3" json:"psp,omitempty"` OutgoingInterface string `protobuf:"bytes,2,opt,name=outgoing_interface,json=outgoingInterface,proto3" json:"outgoing_interface,omitempty"` NextHop string `protobuf:"bytes,3,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` }
End function behavior of endpoint with Layer-3 cross-connect
func (*LocalSID_EndX) Descriptor ¶
func (*LocalSID_EndX) Descriptor() ([]byte, []int)
func (*LocalSID_EndX) GetNextHop ¶
func (m *LocalSID_EndX) GetNextHop() string
func (*LocalSID_EndX) GetOutgoingInterface ¶
func (m *LocalSID_EndX) GetOutgoingInterface() string
func (*LocalSID_EndX) GetPsp ¶
func (m *LocalSID_EndX) GetPsp() bool
func (*LocalSID_EndX) ProtoMessage ¶
func (*LocalSID_EndX) ProtoMessage()
func (*LocalSID_EndX) Reset ¶
func (m *LocalSID_EndX) Reset()
func (*LocalSID_EndX) String ¶
func (m *LocalSID_EndX) String() string
type Policy ¶
type Policy struct { Bsid string `protobuf:"bytes,1,opt,name=bsid,proto3" json:"bsid,omitempty"` FibTableId uint32 `protobuf:"varint,2,opt,name=fib_table_id,json=fibTableId,proto3" json:"fib_table_id,omitempty"` SrhEncapsulation bool `protobuf:"varint,3,opt,name=srh_encapsulation,json=srhEncapsulation,proto3" json:"srh_encapsulation,omitempty"` SprayBehaviour bool `protobuf:"varint,4,opt,name=spray_behaviour,json=sprayBehaviour,proto3" json:"spray_behaviour,omitempty"` }
Model for SRv6 policy (policy without at least one policy segment is only cached in ligato and not written to VPP)
func (*Policy) Descriptor ¶
func (*Policy) GetFibTableId ¶
func (*Policy) GetSprayBehaviour ¶
func (*Policy) GetSrhEncapsulation ¶
func (*Policy) ProtoMessage ¶
func (*Policy) ProtoMessage()
type PolicySegment ¶
type PolicySegment struct { PolicyBsid string `protobuf:"bytes,1,opt,name=policy_bsid,json=policyBsid,proto3" json:"policy_bsid,omitempty"` Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` Segments []string `protobuf:"bytes,3,rep,name=segments" json:"segments,omitempty"` }
Model for segment of SRv6 policy (etcd key for segment has as prefix the etcd key for policy where it belongs)
func (*PolicySegment) Descriptor ¶
func (*PolicySegment) Descriptor() ([]byte, []int)
func (*PolicySegment) GetPolicyBsid ¶
func (m *PolicySegment) GetPolicyBsid() string
func (*PolicySegment) GetSegments ¶
func (m *PolicySegment) GetSegments() []string
func (*PolicySegment) GetWeight ¶
func (m *PolicySegment) GetWeight() uint32
func (*PolicySegment) ProtoMessage ¶
func (*PolicySegment) ProtoMessage()
func (*PolicySegment) Reset ¶
func (m *PolicySegment) Reset()
func (*PolicySegment) String ¶
func (m *PolicySegment) String() string
type Steering ¶
type Steering struct { PolicyBsid string `protobuf:"bytes,1,opt,name=policy_bsid,json=policyBsid,proto3" json:"policy_bsid,omitempty"` PolicyIndex uint32 `protobuf:"varint,2,opt,name=policy_index,json=policyIndex,proto3" json:"policy_index,omitempty"` // Traffic configuration (all traffic messages are mutual exclusive) L2Traffic *Steering_L2Traffic `protobuf:"bytes,3,opt,name=l2_traffic,json=l2Traffic" json:"l2_traffic,omitempty"` L3Traffic *Steering_L3Traffic `protobuf:"bytes,4,opt,name=l3_traffic,json=l3Traffic" json:"l3_traffic,omitempty"` }
Model for steering traffic to SRv6 policy
func (*Steering) Descriptor ¶
func (*Steering) GetL2Traffic ¶
func (m *Steering) GetL2Traffic() *Steering_L2Traffic
func (*Steering) GetL3Traffic ¶
func (m *Steering) GetL3Traffic() *Steering_L3Traffic
func (*Steering) GetPolicyBsid ¶
func (*Steering) GetPolicyIndex ¶
func (*Steering) ProtoMessage ¶
func (*Steering) ProtoMessage()
type Steering_L2Traffic ¶
type Steering_L2Traffic struct {
InterfaceName string `protobuf:"bytes,1,opt,name=interface_name,json=interfaceName,proto3" json:"interface_name,omitempty"`
}
func (*Steering_L2Traffic) Descriptor ¶
func (*Steering_L2Traffic) Descriptor() ([]byte, []int)
func (*Steering_L2Traffic) GetInterfaceName ¶
func (m *Steering_L2Traffic) GetInterfaceName() string
func (*Steering_L2Traffic) ProtoMessage ¶
func (*Steering_L2Traffic) ProtoMessage()
func (*Steering_L2Traffic) Reset ¶
func (m *Steering_L2Traffic) Reset()
func (*Steering_L2Traffic) String ¶
func (m *Steering_L2Traffic) String() string
type Steering_L3Traffic ¶
type Steering_L3Traffic struct { FibTableId uint32 `protobuf:"varint,1,opt,name=fib_table_id,json=fibTableId,proto3" json:"fib_table_id,omitempty"` PrefixAddress string `protobuf:"bytes,2,opt,name=prefix_address,json=prefixAddress,proto3" json:"prefix_address,omitempty"` }
func (*Steering_L3Traffic) Descriptor ¶
func (*Steering_L3Traffic) Descriptor() ([]byte, []int)
func (*Steering_L3Traffic) GetFibTableId ¶
func (m *Steering_L3Traffic) GetFibTableId() uint32
func (*Steering_L3Traffic) GetPrefixAddress ¶
func (m *Steering_L3Traffic) GetPrefixAddress() string
func (*Steering_L3Traffic) ProtoMessage ¶
func (*Steering_L3Traffic) ProtoMessage()
func (*Steering_L3Traffic) Reset ¶
func (m *Steering_L3Traffic) Reset()
func (*Steering_L3Traffic) String ¶
func (m *Steering_L3Traffic) String() string