vpp_l3

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: 8 Imported by: 29

Documentation

Index

Constants

View Source
const ModuleName = "vpp"

ModuleName is the module name used for models.

Variables

View Source
var (
	IPScanNeighbor_Mode_name = map[int32]string{
		0: "DISABLED",
		1: "IPV4",
		2: "IPV6",
		3: "BOTH",
	}
	IPScanNeighbor_Mode_value = map[string]int32{
		"DISABLED": 0,
		"IPV4":     1,
		"IPV6":     2,
		"BOTH":     3,
	}
)

Enum value maps for IPScanNeighbor_Mode.

View Source
var (
	L3XConnect_Protocol_name = map[int32]string{
		0: "IPV4",
		1: "IPV6",
	}
	L3XConnect_Protocol_value = map[string]int32{
		"IPV4": 0,
		"IPV6": 1,
	}
)

Enum value maps for L3XConnect_Protocol.

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}}/rx-vrf/{{.RxVrfId}}`,
	))

	ModelL3XC = models.Register(&L3XConnect{}, models.Spec{
		Module:  ModuleName,
		Type:    "l3xconnect",
		Version: "v2",
	}, models.WithNameTemplate(
		`{{.Interface}}/protocol/{{.Protocol}}`,
	))

	ModelTeib = models.Register(&TeibEntry{}, models.Spec{
		Module:  ModuleName,
		Type:    "teib",
		Version: "v2",
	}, models.WithNameTemplate(
		`{{.Interface}}/peer/{{.PeerAddr}}`,
	))

	ModelVRRPEntry = models.Register(&VRRPEntry{}, models.Spec{
		Module:  ModuleName,
		Type:    "vrrp",
		Version: "v2",
	}, models.WithNameTemplate(
		"{{.Interface}}/vrid/{{.VrId}}",
	))
)
View Source
var (
	Route_RouteType_name = map[int32]string{
		0: "INTRA_VRF",
		1: "INTER_VRF",
		2: "DROP",
	}
	Route_RouteType_value = map[string]int32{
		"INTRA_VRF": 0,
		"INTER_VRF": 1,
		"DROP":      2,
	}
)

Enum value maps for Route_RouteType.

View Source
var (
	VrfTable_Protocol_name = map[int32]string{
		0: "IPV4",
		1: "IPV6",
	}
	VrfTable_Protocol_value = map[string]int32{
		"IPV4": 0,
		"IPV6": 1,
	}
)

Enum value maps for VrfTable_Protocol.

View Source
var File_ligato_vpp_l3_arp_proto protoreflect.FileDescriptor
View Source
var File_ligato_vpp_l3_l3_proto protoreflect.FileDescriptor
View Source
var File_ligato_vpp_l3_l3xc_proto protoreflect.FileDescriptor
View Source
var File_ligato_vpp_l3_route_proto protoreflect.FileDescriptor
View Source
var File_ligato_vpp_l3_teib_proto protoreflect.FileDescriptor
View Source
var File_ligato_vpp_l3_vrf_proto protoreflect.FileDescriptor
View Source
var File_ligato_vpp_l3_vrrp_proto protoreflect.FileDescriptor

Functions

func ArpEntryKey

func ArpEntryKey(iface, ipAddr string) string

ArpEntryKey returns the key to store ARP entry

func DHCPProxyKey

func DHCPProxyKey(srcIP string, rxVrf uint32) 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.

func VrrpEntryKey added in v3.2.0

func VrrpEntryKey(iface string, vrId uint32) string

VrrpEntryKey returns the key to store VRRP entry

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"`
	// contains filtered or unexported fields
}

func (*ARPEntry) Descriptor deprecated

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

Deprecated: Use ARPEntry.ProtoReflect.Descriptor instead.

func (*ARPEntry) GetInterface

func (x *ARPEntry) GetInterface() string

func (*ARPEntry) GetIpAddress

func (x *ARPEntry) GetIpAddress() string

func (*ARPEntry) GetPhysAddress

func (x *ARPEntry) GetPhysAddress() string

func (*ARPEntry) GetStatic

func (x *ARPEntry) GetStatic() bool

func (*ARPEntry) ProtoMessage

func (*ARPEntry) ProtoMessage()

func (*ARPEntry) ProtoReflect added in v3.2.0

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

func (*ARPEntry) Reset

func (x *ARPEntry) Reset()

func (*ARPEntry) String

func (x *ARPEntry) String() string

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"`
	// contains filtered or unexported fields
}

DHCP Proxy

func (*DHCPProxy) Descriptor deprecated

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

Deprecated: Use DHCPProxy.ProtoReflect.Descriptor instead.

func (*DHCPProxy) GetRxVrfId

func (x *DHCPProxy) GetRxVrfId() uint32

func (*DHCPProxy) GetServers

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

func (*DHCPProxy) GetSourceIpAddress

func (x *DHCPProxy) GetSourceIpAddress() string

func (*DHCPProxy) ProtoMessage

func (*DHCPProxy) ProtoMessage()

func (*DHCPProxy) ProtoReflect added in v3.2.0

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

func (*DHCPProxy) Reset

func (x *DHCPProxy) Reset()

func (*DHCPProxy) String

func (x *DHCPProxy) String() string

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"`
	// contains filtered or unexported fields
}

func (*DHCPProxy_DHCPServer) Descriptor deprecated

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

Deprecated: Use DHCPProxy_DHCPServer.ProtoReflect.Descriptor instead.

func (*DHCPProxy_DHCPServer) GetIpAddress

func (x *DHCPProxy_DHCPServer) GetIpAddress() string

func (*DHCPProxy_DHCPServer) GetVrfId

func (x *DHCPProxy_DHCPServer) GetVrfId() uint32

func (*DHCPProxy_DHCPServer) ProtoMessage

func (*DHCPProxy_DHCPServer) ProtoMessage()

func (*DHCPProxy_DHCPServer) ProtoReflect added in v3.2.0

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

func (*DHCPProxy_DHCPServer) Reset

func (x *DHCPProxy_DHCPServer) Reset()

func (*DHCPProxy_DHCPServer) String

func (x *DHCPProxy_DHCPServer) String() string

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"`
	// contains filtered or unexported fields
}

IP Neighbour Config

func (*IPScanNeighbor) Descriptor deprecated

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

Deprecated: Use IPScanNeighbor.ProtoReflect.Descriptor instead.

func (*IPScanNeighbor) GetMaxProcTime

func (x *IPScanNeighbor) GetMaxProcTime() uint32

func (*IPScanNeighbor) GetMaxUpdate

func (x *IPScanNeighbor) GetMaxUpdate() uint32

func (*IPScanNeighbor) GetMode

func (x *IPScanNeighbor) GetMode() IPScanNeighbor_Mode

func (*IPScanNeighbor) GetScanIntDelay

func (x *IPScanNeighbor) GetScanIntDelay() uint32

func (*IPScanNeighbor) GetScanInterval

func (x *IPScanNeighbor) GetScanInterval() uint32

func (*IPScanNeighbor) GetStaleThreshold

func (x *IPScanNeighbor) GetStaleThreshold() uint32

func (*IPScanNeighbor) ProtoMessage

func (*IPScanNeighbor) ProtoMessage()

func (*IPScanNeighbor) ProtoReflect added in v3.2.0

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

func (*IPScanNeighbor) Reset

func (x *IPScanNeighbor) Reset()

func (*IPScanNeighbor) String

func (x *IPScanNeighbor) String() string

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) Descriptor added in v3.2.0

func (IPScanNeighbor_Mode) Enum added in v3.2.0

func (IPScanNeighbor_Mode) EnumDescriptor deprecated

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

Deprecated: Use IPScanNeighbor_Mode.Descriptor instead.

func (IPScanNeighbor_Mode) Number added in v3.2.0

func (IPScanNeighbor_Mode) String

func (x IPScanNeighbor_Mode) String() string

func (IPScanNeighbor_Mode) Type added in v3.2.0

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"`
	// contains filtered or unexported fields
}

func (*L3XConnect) Descriptor deprecated

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

Deprecated: Use L3XConnect.ProtoReflect.Descriptor instead.

func (*L3XConnect) GetInterface

func (x *L3XConnect) GetInterface() string

func (*L3XConnect) GetPaths

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

func (*L3XConnect) GetProtocol

func (x *L3XConnect) GetProtocol() L3XConnect_Protocol

func (*L3XConnect) ProtoMessage

func (*L3XConnect) ProtoMessage()

func (*L3XConnect) ProtoReflect added in v3.2.0

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

func (*L3XConnect) Reset

func (x *L3XConnect) Reset()

func (*L3XConnect) String

func (x *L3XConnect) String() string

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"`
	// contains filtered or unexported fields
}

func (*L3XConnect_Path) Descriptor deprecated

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

Deprecated: Use L3XConnect_Path.ProtoReflect.Descriptor instead.

func (*L3XConnect_Path) GetNextHopAddr

func (x *L3XConnect_Path) GetNextHopAddr() string

func (*L3XConnect_Path) GetOutgoingInterface

func (x *L3XConnect_Path) GetOutgoingInterface() string

func (*L3XConnect_Path) GetPreference

func (x *L3XConnect_Path) GetPreference() uint32

func (*L3XConnect_Path) GetWeight

func (x *L3XConnect_Path) GetWeight() uint32

func (*L3XConnect_Path) ProtoMessage

func (*L3XConnect_Path) ProtoMessage()

func (*L3XConnect_Path) ProtoReflect added in v3.2.0

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

func (*L3XConnect_Path) Reset

func (x *L3XConnect_Path) Reset()

func (*L3XConnect_Path) String

func (x *L3XConnect_Path) String() string

type L3XConnect_Protocol

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

func (L3XConnect_Protocol) Descriptor added in v3.2.0

func (L3XConnect_Protocol) Enum added in v3.2.0

func (L3XConnect_Protocol) EnumDescriptor deprecated

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

Deprecated: Use L3XConnect_Protocol.Descriptor instead.

func (L3XConnect_Protocol) Number added in v3.2.0

func (L3XConnect_Protocol) String

func (x L3XConnect_Protocol) String() string

func (L3XConnect_Protocol) Type added in v3.2.0

type ProxyARP

type ProxyARP struct {

	// List of interfaces proxy ARP is enabled for.
	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"`
	// contains filtered or unexported fields
}

ARP Proxy

func (*ProxyARP) Descriptor deprecated

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

Deprecated: Use ProxyARP.ProtoReflect.Descriptor instead.

func (*ProxyARP) GetInterfaces

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

func (*ProxyARP) GetRanges

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

func (*ProxyARP) ProtoMessage

func (*ProxyARP) ProtoMessage()

func (*ProxyARP) ProtoReflect added in v3.2.0

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

func (*ProxyARP) Reset

func (x *ProxyARP) Reset()

func (*ProxyARP) String

func (x *ProxyARP) String() string

type ProxyARP_Interface

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

func (*ProxyARP_Interface) Descriptor deprecated

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

Deprecated: Use ProxyARP_Interface.ProtoReflect.Descriptor instead.

func (*ProxyARP_Interface) GetName

func (x *ProxyARP_Interface) GetName() string

func (*ProxyARP_Interface) ProtoMessage

func (*ProxyARP_Interface) ProtoMessage()

func (*ProxyARP_Interface) ProtoReflect added in v3.2.0

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

func (*ProxyARP_Interface) Reset

func (x *ProxyARP_Interface) Reset()

func (*ProxyARP_Interface) String

func (x *ProxyARP_Interface) String() string

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"`
	VrfId       uint32 `protobuf:"varint,3,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
	// contains filtered or unexported fields
}

func (*ProxyARP_Range) Descriptor deprecated

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

Deprecated: Use ProxyARP_Range.ProtoReflect.Descriptor instead.

func (*ProxyARP_Range) GetFirstIpAddr

func (x *ProxyARP_Range) GetFirstIpAddr() string

func (*ProxyARP_Range) GetLastIpAddr

func (x *ProxyARP_Range) GetLastIpAddr() string

func (*ProxyARP_Range) GetVrfId added in v3.2.0

func (x *ProxyARP_Range) GetVrfId() uint32

func (*ProxyARP_Range) ProtoMessage

func (*ProxyARP_Range) ProtoMessage()

func (*ProxyARP_Range) ProtoReflect added in v3.2.0

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

func (*ProxyARP_Range) Reset

func (x *ProxyARP_Range) Reset()

func (*ProxyARP_Range) String

func (x *ProxyARP_Range) String() string

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"`
	// contains filtered or unexported fields
}

func (*Route) Descriptor deprecated

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

Deprecated: Use Route.ProtoReflect.Descriptor instead.

func (*Route) GetDstNetwork

func (x *Route) GetDstNetwork() string

func (*Route) GetNextHopAddr

func (x *Route) GetNextHopAddr() string

func (*Route) GetOutgoingInterface

func (x *Route) GetOutgoingInterface() string

func (*Route) GetPreference

func (x *Route) GetPreference() uint32

func (*Route) GetType

func (x *Route) GetType() Route_RouteType

func (*Route) GetViaVrfId

func (x *Route) GetViaVrfId() uint32

func (*Route) GetVrfId

func (x *Route) GetVrfId() uint32

func (*Route) GetWeight

func (x *Route) GetWeight() uint32

func (*Route) ProtoMessage

func (*Route) ProtoMessage()

func (*Route) ProtoReflect added in v3.2.0

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

func (*Route) Reset

func (x *Route) Reset()

func (*Route) String

func (x *Route) String() string

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) Descriptor added in v3.2.0

func (Route_RouteType) Enum added in v3.2.0

func (x Route_RouteType) Enum() *Route_RouteType

func (Route_RouteType) EnumDescriptor deprecated

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

Deprecated: Use Route_RouteType.Descriptor instead.

func (Route_RouteType) Number added in v3.2.0

func (Route_RouteType) String

func (x Route_RouteType) String() string

func (Route_RouteType) Type added in v3.2.0

type TeibEntry added in v3.2.0

type TeibEntry struct {

	// Interface references a tunnel interface this TEIB entry is linked to.
	Interface string `protobuf:"bytes,1,opt,name=interface,proto3" json:"interface,omitempty"`
	// IP address of the peer.
	PeerAddr string `protobuf:"bytes,2,opt,name=peer_addr,json=peerAddr,proto3" json:"peer_addr,omitempty"`
	// Next hop IP address.
	NextHopAddr string `protobuf:"bytes,3,opt,name=next_hop_addr,json=nextHopAddr,proto3" json:"next_hop_addr,omitempty"`
	// VRF ID used to reach the next hop.
	VrfId uint32 `protobuf:"varint,4,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
	// contains filtered or unexported fields
}

TeibEntry represents an tunnel endpoint information base entry.

func (*TeibEntry) Descriptor deprecated added in v3.2.0

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

Deprecated: Use TeibEntry.ProtoReflect.Descriptor instead.

func (*TeibEntry) GetInterface added in v3.2.0

func (x *TeibEntry) GetInterface() string

func (*TeibEntry) GetNextHopAddr added in v3.2.0

func (x *TeibEntry) GetNextHopAddr() string

func (*TeibEntry) GetPeerAddr added in v3.2.0

func (x *TeibEntry) GetPeerAddr() string

func (*TeibEntry) GetVrfId added in v3.2.0

func (x *TeibEntry) GetVrfId() uint32

func (*TeibEntry) ProtoMessage added in v3.2.0

func (*TeibEntry) ProtoMessage()

func (*TeibEntry) ProtoReflect added in v3.2.0

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

func (*TeibEntry) Reset added in v3.2.0

func (x *TeibEntry) Reset()

func (*TeibEntry) String added in v3.2.0

func (x *TeibEntry) String() string

type VRRPEntry added in v3.2.0

type VRRPEntry struct {

	// This field refers to logical interface name
	Interface string `protobuf:"bytes,1,opt,name=interface,proto3" json:"interface,omitempty"`
	// Should be > 0 and <= 255
	VrId uint32 `protobuf:"varint,2,opt,name=vr_id,json=vrId,proto3" json:"vr_id,omitempty"`
	// Priority defines which router becomes master. Should be > 0 and <= 255.
	Priority uint32 `protobuf:"varint,3,opt,name=priority,proto3" json:"priority,omitempty"`
	// VR advertisement interval in milliseconds, should be => 10 and <= 65535.
	// (Later, in implemetation it is converted into centiseconds, so precision may be lost).
	Interval uint32 `protobuf:"varint,4,opt,name=interval,proto3" json:"interval,omitempty"`
	// Controls whether a (starting or restarting)
	// higher-priority Backup router preempts a lower-priority Master router.
	Preempt bool `protobuf:"varint,5,opt,name=preempt,proto3" json:"preempt,omitempty"`
	// Controls whether a virtual router in Master state will accept packets
	// addressed to the address owner's IPvX address as its own if it is not the IPvX address owner.
	Accept bool `protobuf:"varint,6,opt,name=accept,proto3" json:"accept,omitempty"`
	// Unicast mode may be used to take
	// advantage of newer token ring adapter implementations that support
	// non-promiscuous reception for multiple unicast MAC addresses and to
	// avoid both the multicast traffic and usage conflicts associated with
	// the use of token ring functional addresses.
	Unicast bool `protobuf:"varint,7,opt,name=unicast,proto3" json:"unicast,omitempty"`
	// Ip address quantity should be > 0 and <= 255.
	IpAddresses []string `protobuf:"bytes,8,rep,name=ip_addresses,json=ipAddresses,proto3" json:"ip_addresses,omitempty"`
	Enabled     bool     `protobuf:"varint,9,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// contains filtered or unexported fields
}

VRRPEntry represents Virtual Router desired state.

func (*VRRPEntry) Descriptor deprecated added in v3.2.0

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

Deprecated: Use VRRPEntry.ProtoReflect.Descriptor instead.

func (*VRRPEntry) GetAccept added in v3.2.0

func (x *VRRPEntry) GetAccept() bool

func (*VRRPEntry) GetEnabled added in v3.2.0

func (x *VRRPEntry) GetEnabled() bool

func (*VRRPEntry) GetInterface added in v3.2.0

func (x *VRRPEntry) GetInterface() string

func (*VRRPEntry) GetInterval added in v3.2.0

func (x *VRRPEntry) GetInterval() uint32

func (*VRRPEntry) GetIpAddresses added in v3.2.0

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

func (*VRRPEntry) GetPreempt added in v3.2.0

func (x *VRRPEntry) GetPreempt() bool

func (*VRRPEntry) GetPriority added in v3.2.0

func (x *VRRPEntry) GetPriority() uint32

func (*VRRPEntry) GetUnicast added in v3.2.0

func (x *VRRPEntry) GetUnicast() bool

func (*VRRPEntry) GetVrId added in v3.2.0

func (x *VRRPEntry) GetVrId() uint32

func (*VRRPEntry) ProtoMessage added in v3.2.0

func (*VRRPEntry) ProtoMessage()

func (*VRRPEntry) ProtoReflect added in v3.2.0

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

func (*VRRPEntry) Reset added in v3.2.0

func (x *VRRPEntry) Reset()

func (*VRRPEntry) String added in v3.2.0

func (x *VRRPEntry) 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"`
	// contains filtered or unexported fields
}

func (*VrfTable) Descriptor deprecated

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

Deprecated: Use VrfTable.ProtoReflect.Descriptor instead.

func (*VrfTable) GetFlowHashSettings

func (x *VrfTable) GetFlowHashSettings() *VrfTable_FlowHashSettings

func (*VrfTable) GetId

func (x *VrfTable) GetId() uint32

func (*VrfTable) GetLabel

func (x *VrfTable) GetLabel() string

func (*VrfTable) GetProtocol

func (x *VrfTable) GetProtocol() VrfTable_Protocol

func (*VrfTable) ProtoMessage

func (*VrfTable) ProtoMessage()

func (*VrfTable) ProtoReflect added in v3.2.0

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

func (*VrfTable) Reset

func (x *VrfTable) Reset()

func (*VrfTable) String

func (x *VrfTable) String() string

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"`
	// contains filtered or unexported fields
}

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 deprecated

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

Deprecated: Use VrfTable_FlowHashSettings.ProtoReflect.Descriptor instead.

func (*VrfTable_FlowHashSettings) GetReverse

func (x *VrfTable_FlowHashSettings) GetReverse() bool

func (*VrfTable_FlowHashSettings) GetSymmetric

func (x *VrfTable_FlowHashSettings) GetSymmetric() bool

func (*VrfTable_FlowHashSettings) GetUseDstIp

func (x *VrfTable_FlowHashSettings) GetUseDstIp() bool

func (*VrfTable_FlowHashSettings) GetUseDstPort

func (x *VrfTable_FlowHashSettings) GetUseDstPort() bool

func (*VrfTable_FlowHashSettings) GetUseProtocol

func (x *VrfTable_FlowHashSettings) GetUseProtocol() bool

func (*VrfTable_FlowHashSettings) GetUseSrcIp

func (x *VrfTable_FlowHashSettings) GetUseSrcIp() bool

func (*VrfTable_FlowHashSettings) GetUseSrcPort

func (x *VrfTable_FlowHashSettings) GetUseSrcPort() bool

func (*VrfTable_FlowHashSettings) ProtoMessage

func (*VrfTable_FlowHashSettings) ProtoMessage()

func (*VrfTable_FlowHashSettings) ProtoReflect added in v3.2.0

func (*VrfTable_FlowHashSettings) Reset

func (x *VrfTable_FlowHashSettings) Reset()

func (*VrfTable_FlowHashSettings) String

func (x *VrfTable_FlowHashSettings) String() string

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) Descriptor added in v3.2.0

func (VrfTable_Protocol) Enum added in v3.2.0

func (VrfTable_Protocol) EnumDescriptor deprecated

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

Deprecated: Use VrfTable_Protocol.Descriptor instead.

func (VrfTable_Protocol) Number added in v3.2.0

func (VrfTable_Protocol) String

func (x VrfTable_Protocol) String() string

func (VrfTable_Protocol) Type added in v3.2.0

Jump to

Keyboard shortcuts

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