vpp_l3

package
v3.2.0-alpha Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2020 License: Apache-2.0 Imports: 5 Imported by: 29

Documentation

Index

Constants

View Source
const ModuleName = "vpp"

ModuleName is the module name used for models.

Variables

View Source
var (
	ModelARPEntry = models.Register(&ARPEntry{}, models.Spec{
		Module:  ModuleName,
		Type:    "arp",
		Version: "v2",
	}, models.WithNameTemplate(
		"{{.Interface}}/{{.IpAddress}}",
	))

	ModelRoute = models.Register(&Route{}, models.Spec{
		Module:  ModuleName,
		Type:    "route",
		Version: "v2",
	}, models.WithNameTemplate(
		`{{if .OutgoingInterface}}{{printf "if/%s/" .OutgoingInterface}}{{end}}`+
			`vrf/{{.VrfId}}/`+
			`{{with ipnet .DstNetwork}}{{printf "dst/%s/%d/" .IP .MaskSize}}`+
			`{{else}}{{printf "dst/%s/" .DstNetwork}}{{end}}`+
			`{{if .NextHopAddr}}gw/{{.NextHopAddr}}{{end}}`,
	))

	ModelProxyARP = models.Register(&ProxyARP{}, models.Spec{
		Module:  ModuleName,
		Type:    "proxyarp-global",
		Version: "v2",
	})

	ModelIPScanNeighbor = models.Register(&IPScanNeighbor{}, models.Spec{
		Module:  ModuleName,
		Type:    "ipscanneigh-global",
		Version: "v2",
	})

	ModelVrfTable = models.Register(&VrfTable{}, models.Spec{
		Module:  ModuleName,
		Type:    "vrf-table",
		Version: "v2",
	}, models.WithNameTemplate(
		`id/{{.Id}}/protocol/{{.Protocol}}`,
	))

	ModelDHCPProxy = models.Register(&DHCPProxy{}, models.Spec{
		Module:  ModuleName,
		Type:    "dhcp-proxy",
		Version: "v2",
	}, models.WithNameTemplate(
		`{{ protoip .SourceIpAddress}}`,
	))

	ModelL3XC = models.Register(&L3XConnect{}, models.Spec{
		Module:  ModuleName,
		Type:    "l3xconnect",
		Version: "v2",
	}, models.WithNameTemplate(
		`{{.Interface}}/protocol/{{.Protocol}}`,
	))
)
View Source
var IPScanNeighbor_Mode_name = map[int32]string{
	0: "DISABLED",
	1: "IPV4",
	2: "IPV6",
	3: "BOTH",
}
View Source
var IPScanNeighbor_Mode_value = map[string]int32{
	"DISABLED": 0,
	"IPV4":     1,
	"IPV6":     2,
	"BOTH":     3,
}
View Source
var L3XConnect_Protocol_name = map[int32]string{
	0: "IPV4",
	1: "IPV6",
}
View Source
var L3XConnect_Protocol_value = map[string]int32{
	"IPV4": 0,
	"IPV6": 1,
}
View Source
var Route_RouteType_name = map[int32]string{
	0: "INTRA_VRF",
	1: "INTER_VRF",
	2: "DROP",
}
View Source
var Route_RouteType_value = map[string]int32{
	"INTRA_VRF": 0,
	"INTER_VRF": 1,
	"DROP":      2,
}
View Source
var VrfTable_Protocol_name = map[int32]string{
	0: "IPV4",
	1: "IPV6",
}
View Source
var VrfTable_Protocol_value = map[string]int32{
	"IPV4": 0,
	"IPV6": 1,
}

Functions

func ArpEntryKey

func ArpEntryKey(iface, ipAddr string) string

ArpEntryKey returns the key to store ARP entry

func DHCPProxyKey

func DHCPProxyKey(srcIP string) string

DHCPProxyKey returns key for DHCP proxy

func IPScanNeighborKey

func IPScanNeighborKey() string

IPScanNeighborKey returns key for global ip scan neighbor

func L3XCKey

func L3XCKey(iface string, protocol L3XConnect_Protocol) string

L3XCKey returns key for L3XC

func ParseProxyARPInterfaceKey

func ParseProxyARPInterfaceKey(key string) (iface string, isProxyARPInterfaceKey bool)

ParseProxyARPInterfaceKey parses key representing binding for interface with enabled proxy ARP.

func ParseRouteKey

func ParseRouteKey(key string) (outIface, vrfIndex, dstNet, nextHopAddr string, isRouteKey bool)

ParseRouteKey parses VRF label and route address from a route key.

func ProxyARPInterfaceKey

func ProxyARPInterfaceKey(iface string) string

ProxyARPInterfaceKey returns the key used to represent binding for interface with enabled proxy ARP.

func ProxyARPKey

func ProxyARPKey() string

ProxyARPKey returns key for global proxy arp

func RouteKey

func RouteKey(iface string, vrf uint32, dstNet string, nextHopAddr string) string

RouteKey returns the key used in ETCD to store vpp route for vpp instance.

func RouteVrfPrefix

func RouteVrfPrefix(vrf uint32) string

RouteVrfPrefix returns longest-common prefix of keys representing route that is written to given vrf table.

func VrfTableKey

func VrfTableKey(id uint32, protocol VrfTable_Protocol) string

VrfTableKey returns the key used to represent configuration for VPP VRF table.

Types

type ARPEntry

type ARPEntry struct {
	Interface            string   `protobuf:"bytes,1,opt,name=interface,proto3" json:"interface,omitempty"`
	IpAddress            string   `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
	PhysAddress          string   `protobuf:"bytes,3,opt,name=phys_address,json=physAddress,proto3" json:"phys_address,omitempty"`
	Static               bool     `protobuf:"varint,4,opt,name=static,proto3" json:"static,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ARPEntry) Descriptor

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

func (*ARPEntry) GetInterface

func (m *ARPEntry) GetInterface() string

func (*ARPEntry) GetIpAddress

func (m *ARPEntry) GetIpAddress() string

func (*ARPEntry) GetPhysAddress

func (m *ARPEntry) GetPhysAddress() string

func (*ARPEntry) GetStatic

func (m *ARPEntry) GetStatic() bool

func (*ARPEntry) ProtoMessage

func (*ARPEntry) ProtoMessage()

func (*ARPEntry) Reset

func (m *ARPEntry) Reset()

func (*ARPEntry) String

func (m *ARPEntry) String() string

func (*ARPEntry) XXX_DiscardUnknown

func (m *ARPEntry) XXX_DiscardUnknown()

func (*ARPEntry) XXX_Marshal

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

func (*ARPEntry) XXX_Merge

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

func (*ARPEntry) XXX_Size

func (m *ARPEntry) XXX_Size() int

func (*ARPEntry) XXX_Unmarshal

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

type DHCPProxy

type DHCPProxy struct {
	SourceIpAddress      string                  `protobuf:"bytes,1,opt,name=source_ip_address,json=sourceIpAddress,proto3" json:"source_ip_address,omitempty"`
	RxVrfId              uint32                  `protobuf:"varint,2,opt,name=rx_vrf_id,json=rxVrfId,proto3" json:"rx_vrf_id,omitempty"`
	Servers              []*DHCPProxy_DHCPServer `protobuf:"bytes,4,rep,name=servers,proto3" json:"servers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (*DHCPProxy) Descriptor

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

func (*DHCPProxy) GetRxVrfId

func (m *DHCPProxy) GetRxVrfId() uint32

func (*DHCPProxy) GetServers

func (m *DHCPProxy) GetServers() []*DHCPProxy_DHCPServer

func (*DHCPProxy) GetSourceIpAddress

func (m *DHCPProxy) GetSourceIpAddress() string

func (*DHCPProxy) ProtoMessage

func (*DHCPProxy) ProtoMessage()

func (*DHCPProxy) Reset

func (m *DHCPProxy) Reset()

func (*DHCPProxy) String

func (m *DHCPProxy) String() string

func (*DHCPProxy) XXX_DiscardUnknown

func (m *DHCPProxy) XXX_DiscardUnknown()

func (*DHCPProxy) XXX_Marshal

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

func (*DHCPProxy) XXX_Merge

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

func (*DHCPProxy) XXX_Size

func (m *DHCPProxy) XXX_Size() int

func (*DHCPProxy) XXX_Unmarshal

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

type DHCPProxy_DHCPServer

type DHCPProxy_DHCPServer struct {
	VrfId                uint32   `protobuf:"varint,1,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
	IpAddress            string   `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*DHCPProxy_DHCPServer) Descriptor

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

func (*DHCPProxy_DHCPServer) GetIpAddress

func (m *DHCPProxy_DHCPServer) GetIpAddress() string

func (*DHCPProxy_DHCPServer) GetVrfId

func (m *DHCPProxy_DHCPServer) GetVrfId() uint32

func (*DHCPProxy_DHCPServer) ProtoMessage

func (*DHCPProxy_DHCPServer) ProtoMessage()

func (*DHCPProxy_DHCPServer) Reset

func (m *DHCPProxy_DHCPServer) Reset()

func (*DHCPProxy_DHCPServer) String

func (m *DHCPProxy_DHCPServer) String() string

func (*DHCPProxy_DHCPServer) XXX_DiscardUnknown

func (m *DHCPProxy_DHCPServer) XXX_DiscardUnknown()

func (*DHCPProxy_DHCPServer) XXX_Marshal

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

func (*DHCPProxy_DHCPServer) XXX_Merge

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

func (*DHCPProxy_DHCPServer) XXX_Size

func (m *DHCPProxy_DHCPServer) XXX_Size() int

func (*DHCPProxy_DHCPServer) XXX_Unmarshal

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

type IPScanNeighbor

type IPScanNeighbor struct {
	Mode                 IPScanNeighbor_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=ligato.vpp.l3.IPScanNeighbor_Mode" json:"mode,omitempty"`
	ScanInterval         uint32              `protobuf:"varint,2,opt,name=scan_interval,json=scanInterval,proto3" json:"scan_interval,omitempty"`
	MaxProcTime          uint32              `protobuf:"varint,3,opt,name=max_proc_time,json=maxProcTime,proto3" json:"max_proc_time,omitempty"`
	MaxUpdate            uint32              `protobuf:"varint,4,opt,name=max_update,json=maxUpdate,proto3" json:"max_update,omitempty"`
	ScanIntDelay         uint32              `protobuf:"varint,5,opt,name=scan_int_delay,json=scanIntDelay,proto3" json:"scan_int_delay,omitempty"`
	StaleThreshold       uint32              `protobuf:"varint,6,opt,name=stale_threshold,json=staleThreshold,proto3" json:"stale_threshold,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (*IPScanNeighbor) Descriptor

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

func (*IPScanNeighbor) GetMaxProcTime

func (m *IPScanNeighbor) GetMaxProcTime() uint32

func (*IPScanNeighbor) GetMaxUpdate

func (m *IPScanNeighbor) GetMaxUpdate() uint32

func (*IPScanNeighbor) GetMode

func (m *IPScanNeighbor) GetMode() IPScanNeighbor_Mode

func (*IPScanNeighbor) GetScanIntDelay

func (m *IPScanNeighbor) GetScanIntDelay() uint32

func (*IPScanNeighbor) GetScanInterval

func (m *IPScanNeighbor) GetScanInterval() uint32

func (*IPScanNeighbor) GetStaleThreshold

func (m *IPScanNeighbor) GetStaleThreshold() uint32

func (*IPScanNeighbor) ProtoMessage

func (*IPScanNeighbor) ProtoMessage()

func (*IPScanNeighbor) Reset

func (m *IPScanNeighbor) Reset()

func (*IPScanNeighbor) String

func (m *IPScanNeighbor) String() string

func (*IPScanNeighbor) XXX_DiscardUnknown

func (m *IPScanNeighbor) XXX_DiscardUnknown()

func (*IPScanNeighbor) XXX_Marshal

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

func (*IPScanNeighbor) XXX_Merge

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

func (*IPScanNeighbor) XXX_Size

func (m *IPScanNeighbor) XXX_Size() int

func (*IPScanNeighbor) XXX_Unmarshal

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

type IPScanNeighbor_Mode

type IPScanNeighbor_Mode int32
const (
	IPScanNeighbor_DISABLED IPScanNeighbor_Mode = 0
	IPScanNeighbor_IPV4     IPScanNeighbor_Mode = 1
	IPScanNeighbor_IPV6     IPScanNeighbor_Mode = 2
	IPScanNeighbor_BOTH     IPScanNeighbor_Mode = 3
)

func (IPScanNeighbor_Mode) EnumDescriptor

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

func (IPScanNeighbor_Mode) String

func (x IPScanNeighbor_Mode) String() string

type L3XConnect

type L3XConnect struct {
	Interface            string              `protobuf:"bytes,1,opt,name=interface,proto3" json:"interface,omitempty"`
	Protocol             L3XConnect_Protocol `protobuf:"varint,2,opt,name=protocol,proto3,enum=ligato.vpp.l3.L3XConnect_Protocol" json:"protocol,omitempty"`
	Paths                []*L3XConnect_Path  `protobuf:"bytes,3,rep,name=paths,proto3" json:"paths,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (*L3XConnect) Descriptor

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

func (*L3XConnect) GetInterface

func (m *L3XConnect) GetInterface() string

func (*L3XConnect) GetPaths

func (m *L3XConnect) GetPaths() []*L3XConnect_Path

func (*L3XConnect) GetProtocol

func (m *L3XConnect) GetProtocol() L3XConnect_Protocol

func (*L3XConnect) ProtoMessage

func (*L3XConnect) ProtoMessage()

func (*L3XConnect) Reset

func (m *L3XConnect) Reset()

func (*L3XConnect) String

func (m *L3XConnect) String() string

func (*L3XConnect) XXX_DiscardUnknown

func (m *L3XConnect) XXX_DiscardUnknown()

func (*L3XConnect) XXX_Marshal

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

func (*L3XConnect) XXX_Merge

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

func (*L3XConnect) XXX_Size

func (m *L3XConnect) XXX_Size() int

func (*L3XConnect) XXX_Unmarshal

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

type L3XConnect_Path

type L3XConnect_Path struct {
	OutgoingInterface    string   `protobuf:"bytes,1,opt,name=outgoing_interface,json=outgoingInterface,proto3" json:"outgoing_interface,omitempty"`
	NextHopAddr          string   `protobuf:"bytes,2,opt,name=next_hop_addr,json=nextHopAddr,proto3" json:"next_hop_addr,omitempty"`
	Weight               uint32   `protobuf:"varint,3,opt,name=weight,proto3" json:"weight,omitempty"`
	Preference           uint32   `protobuf:"varint,4,opt,name=preference,proto3" json:"preference,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*L3XConnect_Path) Descriptor

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

func (*L3XConnect_Path) GetNextHopAddr

func (m *L3XConnect_Path) GetNextHopAddr() string

func (*L3XConnect_Path) GetOutgoingInterface

func (m *L3XConnect_Path) GetOutgoingInterface() string

func (*L3XConnect_Path) GetPreference

func (m *L3XConnect_Path) GetPreference() uint32

func (*L3XConnect_Path) GetWeight

func (m *L3XConnect_Path) GetWeight() uint32

func (*L3XConnect_Path) ProtoMessage

func (*L3XConnect_Path) ProtoMessage()

func (*L3XConnect_Path) Reset

func (m *L3XConnect_Path) Reset()

func (*L3XConnect_Path) String

func (m *L3XConnect_Path) String() string

func (*L3XConnect_Path) XXX_DiscardUnknown

func (m *L3XConnect_Path) XXX_DiscardUnknown()

func (*L3XConnect_Path) XXX_Marshal

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

func (*L3XConnect_Path) XXX_Merge

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

func (*L3XConnect_Path) XXX_Size

func (m *L3XConnect_Path) XXX_Size() int

func (*L3XConnect_Path) XXX_Unmarshal

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

type L3XConnect_Protocol

type L3XConnect_Protocol int32
const (
	L3XConnect_IPV4 L3XConnect_Protocol = 0
	L3XConnect_IPV6 L3XConnect_Protocol = 1
)

func (L3XConnect_Protocol) EnumDescriptor

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

func (L3XConnect_Protocol) String

func (x L3XConnect_Protocol) String() string

type ProxyARP

type ProxyARP struct {
	Interfaces           []*ProxyARP_Interface `protobuf:"bytes,1,rep,name=interfaces,proto3" json:"interfaces,omitempty"`
	Ranges               []*ProxyARP_Range     `protobuf:"bytes,2,rep,name=ranges,proto3" json:"ranges,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (*ProxyARP) Descriptor

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

func (*ProxyARP) GetInterfaces

func (m *ProxyARP) GetInterfaces() []*ProxyARP_Interface

func (*ProxyARP) GetRanges

func (m *ProxyARP) GetRanges() []*ProxyARP_Range

func (*ProxyARP) ProtoMessage

func (*ProxyARP) ProtoMessage()

func (*ProxyARP) Reset

func (m *ProxyARP) Reset()

func (*ProxyARP) String

func (m *ProxyARP) String() string

func (*ProxyARP) XXX_DiscardUnknown

func (m *ProxyARP) XXX_DiscardUnknown()

func (*ProxyARP) XXX_Marshal

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

func (*ProxyARP) XXX_Merge

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

func (*ProxyARP) XXX_Size

func (m *ProxyARP) XXX_Size() int

func (*ProxyARP) XXX_Unmarshal

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

type ProxyARP_Interface

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

func (*ProxyARP_Interface) Descriptor

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

func (*ProxyARP_Interface) GetName

func (m *ProxyARP_Interface) GetName() string

func (*ProxyARP_Interface) ProtoMessage

func (*ProxyARP_Interface) ProtoMessage()

func (*ProxyARP_Interface) Reset

func (m *ProxyARP_Interface) Reset()

func (*ProxyARP_Interface) String

func (m *ProxyARP_Interface) String() string

func (*ProxyARP_Interface) XXX_DiscardUnknown

func (m *ProxyARP_Interface) XXX_DiscardUnknown()

func (*ProxyARP_Interface) XXX_Marshal

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

func (*ProxyARP_Interface) XXX_Merge

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

func (*ProxyARP_Interface) XXX_Size

func (m *ProxyARP_Interface) XXX_Size() int

func (*ProxyARP_Interface) XXX_Unmarshal

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

type ProxyARP_Range

type ProxyARP_Range struct {
	FirstIpAddr          string   `protobuf:"bytes,1,opt,name=first_ip_addr,json=firstIpAddr,proto3" json:"first_ip_addr,omitempty"`
	LastIpAddr           string   `protobuf:"bytes,2,opt,name=last_ip_addr,json=lastIpAddr,proto3" json:"last_ip_addr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ProxyARP_Range) Descriptor

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

func (*ProxyARP_Range) GetFirstIpAddr

func (m *ProxyARP_Range) GetFirstIpAddr() string

func (*ProxyARP_Range) GetLastIpAddr

func (m *ProxyARP_Range) GetLastIpAddr() string

func (*ProxyARP_Range) ProtoMessage

func (*ProxyARP_Range) ProtoMessage()

func (*ProxyARP_Range) Reset

func (m *ProxyARP_Range) Reset()

func (*ProxyARP_Range) String

func (m *ProxyARP_Range) String() string

func (*ProxyARP_Range) XXX_DiscardUnknown

func (m *ProxyARP_Range) XXX_DiscardUnknown()

func (*ProxyARP_Range) XXX_Marshal

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

func (*ProxyARP_Range) XXX_Merge

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

func (*ProxyARP_Range) XXX_Size

func (m *ProxyARP_Range) XXX_Size() int

func (*ProxyARP_Range) XXX_Unmarshal

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

type Route

type Route struct {
	Type Route_RouteType `protobuf:"varint,10,opt,name=type,proto3,enum=ligato.vpp.l3.Route_RouteType" json:"type,omitempty"`
	// VRF identifier, field required for remote client. This value should be
	// consistent with VRF ID in static route key. If it is not, value from
	// key will be preffered and this field will be overriden.
	// Non-zero VRF has to be explicitly created (see api/models/vpp/l3/vrf.proto)
	VrfId uint32 `protobuf:"varint,1,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
	// Destination network defined by IP address and prefix (format: <address>/<prefix>).
	DstNetwork string `protobuf:"bytes,3,opt,name=dst_network,json=dstNetwork,proto3" json:"dst_network,omitempty"`
	// Next hop address.
	NextHopAddr string `protobuf:"bytes,4,opt,name=next_hop_addr,json=nextHopAddr,proto3" json:"next_hop_addr,omitempty"`
	// Interface name of the outgoing interface.
	OutgoingInterface string `protobuf:"bytes,5,opt,name=outgoing_interface,json=outgoingInterface,proto3" json:"outgoing_interface,omitempty"`
	// Weight is used for unequal cost load balancing.
	Weight uint32 `protobuf:"varint,6,opt,name=weight,proto3" json:"weight,omitempty"`
	// Preference defines path preference. Lower preference is preferred.
	// Only paths with the best preference contribute to forwarding (a poor man's primary and backup).
	Preference uint32 `protobuf:"varint,7,opt,name=preference,proto3" json:"preference,omitempty"`
	// Specifies VRF ID for the next hop lookup / recursive lookup
	ViaVrfId             uint32   `protobuf:"varint,8,opt,name=via_vrf_id,json=viaVrfId,proto3" json:"via_vrf_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Route) Descriptor

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

func (*Route) GetDstNetwork

func (m *Route) GetDstNetwork() string

func (*Route) GetNextHopAddr

func (m *Route) GetNextHopAddr() string

func (*Route) GetOutgoingInterface

func (m *Route) GetOutgoingInterface() string

func (*Route) GetPreference

func (m *Route) GetPreference() uint32

func (*Route) GetType

func (m *Route) GetType() Route_RouteType

func (*Route) GetViaVrfId

func (m *Route) GetViaVrfId() uint32

func (*Route) GetVrfId

func (m *Route) GetVrfId() uint32

func (*Route) GetWeight

func (m *Route) GetWeight() uint32

func (*Route) ProtoMessage

func (*Route) ProtoMessage()

func (*Route) Reset

func (m *Route) Reset()

func (*Route) String

func (m *Route) String() string

func (*Route) XXX_DiscardUnknown

func (m *Route) XXX_DiscardUnknown()

func (*Route) XXX_Marshal

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

func (*Route) XXX_Merge

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

func (*Route) XXX_Size

func (m *Route) XXX_Size() int

func (*Route) XXX_Unmarshal

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

type Route_RouteType

type Route_RouteType int32
const (
	// Forwarding is being done in the specified vrf_id only, or according to
	// the specified outgoing interface.
	Route_INTRA_VRF Route_RouteType = 0
	// Forwarding is being done by lookup into a different VRF,
	// specified as via_vrf_id field. In case of these routes, the outgoing
	// interface should not be specified. The next hop IP address
	// does not have to be specified either, in that case VPP does full
	// recursive lookup in the via_vrf_id VRF.
	Route_INTER_VRF Route_RouteType = 1
	// Drops the network communication designated for specific IP address.
	Route_DROP Route_RouteType = 2
)

func (Route_RouteType) EnumDescriptor

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

func (Route_RouteType) String

func (x Route_RouteType) String() string

type VrfTable

type VrfTable struct {
	// ID is mandatory identification for VRF table.
	// NOTE: do not confuse with fib index (shown by some VPP CLIs),
	// which is VPP's internal offset in the vector of allocated tables.
	Id       uint32            `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Protocol VrfTable_Protocol `protobuf:"varint,2,opt,name=protocol,proto3,enum=ligato.vpp.l3.VrfTable_Protocol" json:"protocol,omitempty"`
	// Label is an optional description for the table.
	// - maximum allowed length is 63 characters
	// - included in the output from the VPP CLI command "show ip fib"
	// - if undefined, then VPP will generate label using the template "<protocol>-VRF:<id>"
	Label                string                     `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
	FlowHashSettings     *VrfTable_FlowHashSettings `protobuf:"bytes,4,opt,name=flow_hash_settings,json=flowHashSettings,proto3" json:"flow_hash_settings,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (*VrfTable) Descriptor

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

func (*VrfTable) GetFlowHashSettings

func (m *VrfTable) GetFlowHashSettings() *VrfTable_FlowHashSettings

func (*VrfTable) GetId

func (m *VrfTable) GetId() uint32

func (*VrfTable) GetLabel

func (m *VrfTable) GetLabel() string

func (*VrfTable) GetProtocol

func (m *VrfTable) GetProtocol() VrfTable_Protocol

func (*VrfTable) ProtoMessage

func (*VrfTable) ProtoMessage()

func (*VrfTable) Reset

func (m *VrfTable) Reset()

func (*VrfTable) String

func (m *VrfTable) String() string

func (*VrfTable) XXX_DiscardUnknown

func (m *VrfTable) XXX_DiscardUnknown()

func (*VrfTable) XXX_Marshal

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

func (*VrfTable) XXX_Merge

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

func (*VrfTable) XXX_Size

func (m *VrfTable) XXX_Size() int

func (*VrfTable) XXX_Unmarshal

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

type VrfTable_FlowHashSettings

type VrfTable_FlowHashSettings struct {
	UseSrcIp             bool     `protobuf:"varint,1,opt,name=use_src_ip,json=useSrcIp,proto3" json:"use_src_ip,omitempty"`
	UseDstIp             bool     `protobuf:"varint,2,opt,name=use_dst_ip,json=useDstIp,proto3" json:"use_dst_ip,omitempty"`
	UseSrcPort           bool     `protobuf:"varint,3,opt,name=use_src_port,json=useSrcPort,proto3" json:"use_src_port,omitempty"`
	UseDstPort           bool     `protobuf:"varint,4,opt,name=use_dst_port,json=useDstPort,proto3" json:"use_dst_port,omitempty"`
	UseProtocol          bool     `protobuf:"varint,5,opt,name=use_protocol,json=useProtocol,proto3" json:"use_protocol,omitempty"`
	Reverse              bool     `protobuf:"varint,6,opt,name=reverse,proto3" json:"reverse,omitempty"`
	Symmetric            bool     `protobuf:"varint,7,opt,name=symmetric,proto3" json:"symmetric,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

FlowHashSettings allows tuning of hash calculation of IP flows in the VRF table. This affects hash table size as well as the stickiness of flows by load-balancing. If not defined, default settings that are implicitly enabled are:

  • use_src_ip, use_dst_ip, use_src_port, use_dst_port, use_protocol

func (*VrfTable_FlowHashSettings) Descriptor

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

func (*VrfTable_FlowHashSettings) GetReverse

func (m *VrfTable_FlowHashSettings) GetReverse() bool

func (*VrfTable_FlowHashSettings) GetSymmetric

func (m *VrfTable_FlowHashSettings) GetSymmetric() bool

func (*VrfTable_FlowHashSettings) GetUseDstIp

func (m *VrfTable_FlowHashSettings) GetUseDstIp() bool

func (*VrfTable_FlowHashSettings) GetUseDstPort

func (m *VrfTable_FlowHashSettings) GetUseDstPort() bool

func (*VrfTable_FlowHashSettings) GetUseProtocol

func (m *VrfTable_FlowHashSettings) GetUseProtocol() bool

func (*VrfTable_FlowHashSettings) GetUseSrcIp

func (m *VrfTable_FlowHashSettings) GetUseSrcIp() bool

func (*VrfTable_FlowHashSettings) GetUseSrcPort

func (m *VrfTable_FlowHashSettings) GetUseSrcPort() bool

func (*VrfTable_FlowHashSettings) ProtoMessage

func (*VrfTable_FlowHashSettings) ProtoMessage()

func (*VrfTable_FlowHashSettings) Reset

func (m *VrfTable_FlowHashSettings) Reset()

func (*VrfTable_FlowHashSettings) String

func (m *VrfTable_FlowHashSettings) String() string

func (*VrfTable_FlowHashSettings) XXX_DiscardUnknown

func (m *VrfTable_FlowHashSettings) XXX_DiscardUnknown()

func (*VrfTable_FlowHashSettings) XXX_Marshal

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

func (*VrfTable_FlowHashSettings) XXX_Merge

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

func (*VrfTable_FlowHashSettings) XXX_Size

func (m *VrfTable_FlowHashSettings) XXX_Size() int

func (*VrfTable_FlowHashSettings) XXX_Unmarshal

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

type VrfTable_Protocol

type VrfTable_Protocol int32

Protocol define IP protocol of VRF table.

const (
	VrfTable_IPV4 VrfTable_Protocol = 0
	VrfTable_IPV6 VrfTable_Protocol = 1
)

func (VrfTable_Protocol) EnumDescriptor

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

func (VrfTable_Protocol) String

func (x VrfTable_Protocol) String() string

Jump to

Keyboard shortcuts

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