srv6

package
v1.8.1 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2019 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
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

func IsPolicySegmentPrefix(key string) bool

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

func ParsePolicySegmentKey(key string) (string, error)

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"`
	EndFunction_AD       *LocalSID_EndAD  `protobuf:"bytes,11,opt,name=end_function_AD,json=endFunctionAD" json:"end_function_AD,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (*LocalSID) Descriptor

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

func (*LocalSID) GetBaseEndFunction

func (m *LocalSID) GetBaseEndFunction() *LocalSID_End

func (*LocalSID) GetEndFunction_AD added in v1.8.1

func (m *LocalSID) GetEndFunction_AD() *LocalSID_EndAD

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 (m *LocalSID) GetFibTableId() uint32

func (*LocalSID) GetSid

func (m *LocalSID) GetSid() string

func (*LocalSID) ProtoMessage

func (*LocalSID) ProtoMessage()

func (*LocalSID) Reset

func (m *LocalSID) Reset()

func (*LocalSID) String

func (m *LocalSID) String() string

func (*LocalSID) XXX_DiscardUnknown added in v1.8.1

func (m *LocalSID) XXX_DiscardUnknown()

func (*LocalSID) XXX_Marshal added in v1.8.1

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

func (*LocalSID) XXX_Merge added in v1.8.1

func (dst *LocalSID) XXX_Merge(src proto.Message)

func (*LocalSID) XXX_Size added in v1.8.1

func (m *LocalSID) XXX_Size() int

func (*LocalSID) XXX_Unmarshal added in v1.8.1

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

type LocalSID_End

type LocalSID_End struct {
	Psp                  bool     `protobuf:"varint,1,opt,name=psp,proto3" json:"psp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*LocalSID_End) XXX_DiscardUnknown added in v1.8.1

func (m *LocalSID_End) XXX_DiscardUnknown()

func (*LocalSID_End) XXX_Marshal added in v1.8.1

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

func (*LocalSID_End) XXX_Merge added in v1.8.1

func (dst *LocalSID_End) XXX_Merge(src proto.Message)

func (*LocalSID_End) XXX_Size added in v1.8.1

func (m *LocalSID_End) XXX_Size() int

func (*LocalSID_End) XXX_Unmarshal added in v1.8.1

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

type LocalSID_EndAD added in v1.8.1

type LocalSID_EndAD struct {
	ServiceAddress       string   `protobuf:"bytes,1,opt,name=service_address,json=serviceAddress,proto3" json:"service_address,omitempty"`
	OutgoingInterface    string   `protobuf:"bytes,2,opt,name=outgoing_interface,json=outgoingInterface,proto3" json:"outgoing_interface,omitempty"`
	IncomingInterface    string   `protobuf:"bytes,3,opt,name=incoming_interface,json=incomingInterface,proto3" json:"incoming_interface,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

End function behavior of dynamic segment routing proxy endpoint

func (*LocalSID_EndAD) Descriptor added in v1.8.1

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

func (*LocalSID_EndAD) GetIncomingInterface added in v1.8.1

func (m *LocalSID_EndAD) GetIncomingInterface() string

func (*LocalSID_EndAD) GetOutgoingInterface added in v1.8.1

func (m *LocalSID_EndAD) GetOutgoingInterface() string

func (*LocalSID_EndAD) GetServiceAddress added in v1.8.1

func (m *LocalSID_EndAD) GetServiceAddress() string

func (*LocalSID_EndAD) ProtoMessage added in v1.8.1

func (*LocalSID_EndAD) ProtoMessage()

func (*LocalSID_EndAD) Reset added in v1.8.1

func (m *LocalSID_EndAD) Reset()

func (*LocalSID_EndAD) String added in v1.8.1

func (m *LocalSID_EndAD) String() string

func (*LocalSID_EndAD) XXX_DiscardUnknown added in v1.8.1

func (m *LocalSID_EndAD) XXX_DiscardUnknown()

func (*LocalSID_EndAD) XXX_Marshal added in v1.8.1

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

func (*LocalSID_EndAD) XXX_Merge added in v1.8.1

func (dst *LocalSID_EndAD) XXX_Merge(src proto.Message)

func (*LocalSID_EndAD) XXX_Size added in v1.8.1

func (m *LocalSID_EndAD) XXX_Size() int

func (*LocalSID_EndAD) XXX_Unmarshal added in v1.8.1

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

type LocalSID_EndDT4

type LocalSID_EndDT4 struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*LocalSID_EndDT4) XXX_DiscardUnknown added in v1.8.1

func (m *LocalSID_EndDT4) XXX_DiscardUnknown()

func (*LocalSID_EndDT4) XXX_Marshal added in v1.8.1

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

func (*LocalSID_EndDT4) XXX_Merge added in v1.8.1

func (dst *LocalSID_EndDT4) XXX_Merge(src proto.Message)

func (*LocalSID_EndDT4) XXX_Size added in v1.8.1

func (m *LocalSID_EndDT4) XXX_Size() int

func (*LocalSID_EndDT4) XXX_Unmarshal added in v1.8.1

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

type LocalSID_EndDT6

type LocalSID_EndDT6 struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*LocalSID_EndDT6) XXX_DiscardUnknown added in v1.8.1

func (m *LocalSID_EndDT6) XXX_DiscardUnknown()

func (*LocalSID_EndDT6) XXX_Marshal added in v1.8.1

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

func (*LocalSID_EndDT6) XXX_Merge added in v1.8.1

func (dst *LocalSID_EndDT6) XXX_Merge(src proto.Message)

func (*LocalSID_EndDT6) XXX_Size added in v1.8.1

func (m *LocalSID_EndDT6) XXX_Size() int

func (*LocalSID_EndDT6) XXX_Unmarshal added in v1.8.1

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

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*LocalSID_EndDX2) XXX_DiscardUnknown added in v1.8.1

func (m *LocalSID_EndDX2) XXX_DiscardUnknown()

func (*LocalSID_EndDX2) XXX_Marshal added in v1.8.1

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

func (*LocalSID_EndDX2) XXX_Merge added in v1.8.1

func (dst *LocalSID_EndDX2) XXX_Merge(src proto.Message)

func (*LocalSID_EndDX2) XXX_Size added in v1.8.1

func (m *LocalSID_EndDX2) XXX_Size() int

func (*LocalSID_EndDX2) XXX_Unmarshal added in v1.8.1

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

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*LocalSID_EndDX4) XXX_DiscardUnknown added in v1.8.1

func (m *LocalSID_EndDX4) XXX_DiscardUnknown()

func (*LocalSID_EndDX4) XXX_Marshal added in v1.8.1

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

func (*LocalSID_EndDX4) XXX_Merge added in v1.8.1

func (dst *LocalSID_EndDX4) XXX_Merge(src proto.Message)

func (*LocalSID_EndDX4) XXX_Size added in v1.8.1

func (m *LocalSID_EndDX4) XXX_Size() int

func (*LocalSID_EndDX4) XXX_Unmarshal added in v1.8.1

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

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*LocalSID_EndDX6) XXX_DiscardUnknown added in v1.8.1

func (m *LocalSID_EndDX6) XXX_DiscardUnknown()

func (*LocalSID_EndDX6) XXX_Marshal added in v1.8.1

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

func (*LocalSID_EndDX6) XXX_Merge added in v1.8.1

func (dst *LocalSID_EndDX6) XXX_Merge(src proto.Message)

func (*LocalSID_EndDX6) XXX_Size added in v1.8.1

func (m *LocalSID_EndDX6) XXX_Size() int

func (*LocalSID_EndDX6) XXX_Unmarshal added in v1.8.1

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

type LocalSID_EndT

type LocalSID_EndT struct {
	Psp                  bool     `protobuf:"varint,1,opt,name=psp,proto3" json:"psp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*LocalSID_EndT) XXX_DiscardUnknown added in v1.8.1

func (m *LocalSID_EndT) XXX_DiscardUnknown()

func (*LocalSID_EndT) XXX_Marshal added in v1.8.1

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

func (*LocalSID_EndT) XXX_Merge added in v1.8.1

func (dst *LocalSID_EndT) XXX_Merge(src proto.Message)

func (*LocalSID_EndT) XXX_Size added in v1.8.1

func (m *LocalSID_EndT) XXX_Size() int

func (*LocalSID_EndT) XXX_Unmarshal added in v1.8.1

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

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*LocalSID_EndX) XXX_DiscardUnknown added in v1.8.1

func (m *LocalSID_EndX) XXX_DiscardUnknown()

func (*LocalSID_EndX) XXX_Marshal added in v1.8.1

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

func (*LocalSID_EndX) XXX_Merge added in v1.8.1

func (dst *LocalSID_EndX) XXX_Merge(src proto.Message)

func (*LocalSID_EndX) XXX_Size added in v1.8.1

func (m *LocalSID_EndX) XXX_Size() int

func (*LocalSID_EndX) XXX_Unmarshal added in v1.8.1

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

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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) Descriptor() ([]byte, []int)

func (*Policy) GetBsid

func (m *Policy) GetBsid() string

func (*Policy) GetFibTableId

func (m *Policy) GetFibTableId() uint32

func (*Policy) GetSprayBehaviour

func (m *Policy) GetSprayBehaviour() bool

func (*Policy) GetSrhEncapsulation

func (m *Policy) GetSrhEncapsulation() bool

func (*Policy) ProtoMessage

func (*Policy) ProtoMessage()

func (*Policy) Reset

func (m *Policy) Reset()

func (*Policy) String

func (m *Policy) String() string

func (*Policy) XXX_DiscardUnknown added in v1.8.1

func (m *Policy) XXX_DiscardUnknown()

func (*Policy) XXX_Marshal added in v1.8.1

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

func (*Policy) XXX_Merge added in v1.8.1

func (dst *Policy) XXX_Merge(src proto.Message)

func (*Policy) XXX_Size added in v1.8.1

func (m *Policy) XXX_Size() int

func (*Policy) XXX_Unmarshal added in v1.8.1

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

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*PolicySegment) XXX_DiscardUnknown added in v1.8.1

func (m *PolicySegment) XXX_DiscardUnknown()

func (*PolicySegment) XXX_Marshal added in v1.8.1

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

func (*PolicySegment) XXX_Merge added in v1.8.1

func (dst *PolicySegment) XXX_Merge(src proto.Message)

func (*PolicySegment) XXX_Size added in v1.8.1

func (m *PolicySegment) XXX_Size() int

func (*PolicySegment) XXX_Unmarshal added in v1.8.1

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

type SID

type SID = net.IP

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

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"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

Model for steering traffic to SRv6 policy

func (*Steering) Descriptor

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

func (*Steering) GetL2Traffic

func (m *Steering) GetL2Traffic() *Steering_L2Traffic

func (*Steering) GetL3Traffic

func (m *Steering) GetL3Traffic() *Steering_L3Traffic

func (*Steering) GetPolicyBsid

func (m *Steering) GetPolicyBsid() string

func (*Steering) GetPolicyIndex

func (m *Steering) GetPolicyIndex() uint32

func (*Steering) ProtoMessage

func (*Steering) ProtoMessage()

func (*Steering) Reset

func (m *Steering) Reset()

func (*Steering) String

func (m *Steering) String() string

func (*Steering) XXX_DiscardUnknown added in v1.8.1

func (m *Steering) XXX_DiscardUnknown()

func (*Steering) XXX_Marshal added in v1.8.1

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

func (*Steering) XXX_Merge added in v1.8.1

func (dst *Steering) XXX_Merge(src proto.Message)

func (*Steering) XXX_Size added in v1.8.1

func (m *Steering) XXX_Size() int

func (*Steering) XXX_Unmarshal added in v1.8.1

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

type Steering_L2Traffic

type Steering_L2Traffic struct {
	InterfaceName        string   `protobuf:"bytes,1,opt,name=interface_name,json=interfaceName,proto3" json:"interface_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*Steering_L2Traffic) XXX_DiscardUnknown added in v1.8.1

func (m *Steering_L2Traffic) XXX_DiscardUnknown()

func (*Steering_L2Traffic) XXX_Marshal added in v1.8.1

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

func (*Steering_L2Traffic) XXX_Merge added in v1.8.1

func (dst *Steering_L2Traffic) XXX_Merge(src proto.Message)

func (*Steering_L2Traffic) XXX_Size added in v1.8.1

func (m *Steering_L2Traffic) XXX_Size() int

func (*Steering_L2Traffic) XXX_Unmarshal added in v1.8.1

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

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*Steering_L3Traffic) XXX_DiscardUnknown added in v1.8.1

func (m *Steering_L3Traffic) XXX_DiscardUnknown()

func (*Steering_L3Traffic) XXX_Marshal added in v1.8.1

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

func (*Steering_L3Traffic) XXX_Merge added in v1.8.1

func (dst *Steering_L3Traffic) XXX_Merge(src proto.Message)

func (*Steering_L3Traffic) XXX_Size added in v1.8.1

func (m *Steering_L3Traffic) XXX_Size() int

func (*Steering_L3Traffic) XXX_Unmarshal added in v1.8.1

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

Jump to

Keyboard shortcuts

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