vpp1908

package
v3.0.0-beta.2 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2020 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Overview

Package vppcalls contains wrappers over VPP binary APIs for all supported interface types and for dumping all interfaces configured in VPP.

Index

Constants

View Source
const (
	TapFlagGSO uint32 = 1 << iota
)

TapFlags definitions from https://github.com/FDio/vpp/blob/stable/1908/src/vnet/devices/tap/tap.h#L33

Variables

View Source
var HandlerVersion = vpp.HandlerVersion{
	Version: vpp1908.Version,
	Check: func(c vpp.Client) error {
		msgs := vpp.Messages(
			af_packet.AllMessages,
			bond.AllMessages,
			dhcp.AllMessages,
			interfaces.AllMessages,
			ip.AllMessages,
			ipsec.AllMessages,
			gre.AllMessages,
			l2.AllMessages,
			span.AllMessages,
			tapv2.AllMessages,
			vxlan.AllMessages,
		)
		if c.IsPluginLoaded(gtpu.ModuleName) {
			msgs.Add(gtpu.AllMessages)
		}
		if c.IsPluginLoaded(memif.ModuleName) {
			msgs.Add(memif.AllMessages)
		}
		if c.IsPluginLoaded(vmxnet3.ModuleName) {
			msgs.Add(vmxnet3.AllMessages)
		}
		return c.CheckCompatiblity(msgs.AllMessages()...)
	},
	NewHandler: func(c vpp.Client, a ...interface{}) vpp.HandlerAPI {
		return NewInterfaceVppHandler(c, a[0].(logging.Logger))
	},
}
View Source
var InterfaceEventTimeout = time.Second

Functions

func IPToAddress

func IPToAddress(ipstr string) (addr ip.Address, err error)

func NewInterfaceVppHandler

func NewInterfaceVppHandler(c vpp.Client, log logging.Logger) vppcalls.InterfaceVppAPI

NewInterfaceVppHandler returns new InterfaceVppHandler.

Types

type InterfaceVppHandler

type InterfaceVppHandler struct {
	// contains filtered or unexported fields
}

InterfaceVppHandler is accessor for interface-related vppcalls methods

func (*InterfaceVppHandler) AddAfPacketInterface

func (h *InterfaceVppHandler) AddAfPacketInterface(ifName string, hwAddr string, afPacketIntf *interfaces.AfpacketLink) (swIndex uint32, err error)

AddAfPacketInterface implements AfPacket handler.

func (*InterfaceVppHandler) AddBondInterface

func (h *InterfaceVppHandler) AddBondInterface(ifName string, mac string, bondLink *if_model.BondLink) (uint32, error)

AddBondInterface implements interface handler.

func (*InterfaceVppHandler) AddContainerIP

func (h *InterfaceVppHandler) AddContainerIP(ifIdx uint32, addr string) error

AddContainerIP implements interface handler.

func (*InterfaceVppHandler) AddGreTunnel

func (h *InterfaceVppHandler) AddGreTunnel(ifName string, greLink *interfaces.GreLink) (uint32, error)

AddGreTunnel adds new GRE interface.

func (*InterfaceVppHandler) AddGtpuTunnel

func (h *InterfaceVppHandler) AddGtpuTunnel(ifName string, gtpuLink *interfaces.GtpuLink, multicastIf uint32) (uint32, error)

AddGtpuTunnel adds new GTPU interface.

func (*InterfaceVppHandler) AddIPSecTunnelInterface

func (h *InterfaceVppHandler) AddIPSecTunnelInterface(ifName string, ipSecLink *interfaces.IPSecLink) (uint32, error)

AddIPSecTunnelInterface adds a new IPSec tunnel interface.

func (*InterfaceVppHandler) AddInterfaceIP

func (h *InterfaceVppHandler) AddInterfaceIP(ifIdx uint32, addr *net.IPNet) error

AddInterfaceIP implements interface handler.

func (*InterfaceVppHandler) AddLoopbackInterface

func (h *InterfaceVppHandler) AddLoopbackInterface(ifName string) (swIndex uint32, err error)

AddLoopbackInterface implements interface handler.

func (*InterfaceVppHandler) AddMemifInterface

func (h *InterfaceVppHandler) AddMemifInterface(ctx context.Context, ifName string, memIface *interfaces.MemifLink, socketID uint32) (swIdx uint32, err error)

func (*InterfaceVppHandler) AddSpan

func (h *InterfaceVppHandler) AddSpan(ifIdxFrom, ifIdxTo uint32, direction, isL2 uint8) error

AddSpan enables SPAN on interface

func (*InterfaceVppHandler) AddTapInterface

func (h *InterfaceVppHandler) AddTapInterface(ifName string, tapIf *interfaces.TapLink) (swIfIdx uint32, err error)

AddTapInterface implements interface handler.

func (*InterfaceVppHandler) AddVmxNet3

func (h *InterfaceVppHandler) AddVmxNet3(ifName string, vmxNet3 *interfaces.VmxNet3Link) (swIdx uint32, err error)

AddVmxNet3 implements interface handler

func (*InterfaceVppHandler) AddVxLanGpeTunnel

func (h *InterfaceVppHandler) AddVxLanGpeTunnel(ifName string, vrf, multicastIf uint32, vxLan *interfaces.VxlanLink) (uint32, error)

AddVxLanGpeTunnel adds new VxLAN-GPE interface.

func (*InterfaceVppHandler) AddVxLanTunnel

func (h *InterfaceVppHandler) AddVxLanTunnel(ifName string, vrf, multicastIf uint32, vxLan *interfaces.VxlanLink) (swIndex uint32, err error)

AddVxLanTunnel implements VxLan handler.

func (*InterfaceVppHandler) AttachInterfaceToBond

func (h *InterfaceVppHandler) AttachInterfaceToBond(ifIdx, bondIfIdx uint32, isPassive, isLongTimeout bool) error

AttachInterfaceToBond implements interface handler.

func (*InterfaceVppHandler) CreateSubif

func (h *InterfaceVppHandler) CreateSubif(ifIdx, vlanID uint32) (uint32, error)

CreateSubif creates sub interface.

func (*InterfaceVppHandler) DelContainerIP

func (h *InterfaceVppHandler) DelContainerIP(ifIdx uint32, addr string) error

DelContainerIP implements interface handler.

func (*InterfaceVppHandler) DelGreTunnel

func (h *InterfaceVppHandler) DelGreTunnel(ifName string, greLink *interfaces.GreLink) (uint32, error)

DelGreTunnel removes GRE interface.

func (*InterfaceVppHandler) DelGtpuTunnel

func (h *InterfaceVppHandler) DelGtpuTunnel(ifName string, gtpuLink *interfaces.GtpuLink) error

DelGtpuTunnel removes GTPU interface.

func (*InterfaceVppHandler) DelInterfaceIP

func (h *InterfaceVppHandler) DelInterfaceIP(ifIdx uint32, addr *net.IPNet) error

DelInterfaceIP implements interface handler.

func (*InterfaceVppHandler) DelSpan

func (h *InterfaceVppHandler) DelSpan(ifIdxFrom, ifIdxTo uint32, isL2 uint8) error

DelSpan disables SPAN on interface

func (*InterfaceVppHandler) DeleteAfPacketInterface

func (h *InterfaceVppHandler) DeleteAfPacketInterface(ifName string, idx uint32, afPacketIntf *interfaces.AfpacketLink) error

DeleteAfPacketInterface implements AfPacket handler.

func (*InterfaceVppHandler) DeleteBondInterface

func (h *InterfaceVppHandler) DeleteBondInterface(ifName string, ifIdx uint32) error

DeleteBondInterface implements interface handler.

func (*InterfaceVppHandler) DeleteIPSecTunnelInterface

func (h *InterfaceVppHandler) DeleteIPSecTunnelInterface(ifName string, ipSecLink *interfaces.IPSecLink) error

DeleteIPSecTunnelInterface removes existing IPSec tunnel interface.

func (*InterfaceVppHandler) DeleteLoopbackInterface

func (h *InterfaceVppHandler) DeleteLoopbackInterface(ifName string, idx uint32) error

DeleteLoopbackInterface implements interface handler.

func (*InterfaceVppHandler) DeleteMemifInterface

func (h *InterfaceVppHandler) DeleteMemifInterface(ctx context.Context, ifName string, idx uint32) error

func (*InterfaceVppHandler) DeleteSubif

func (h *InterfaceVppHandler) DeleteSubif(ifIdx uint32) error

DeleteSubif deletes sub interface.

func (*InterfaceVppHandler) DeleteTapInterface

func (h *InterfaceVppHandler) DeleteTapInterface(ifName string, idx uint32, version uint32) error

DeleteTapInterface implements interface handler.

func (*InterfaceVppHandler) DeleteVmxNet3

func (h *InterfaceVppHandler) DeleteVmxNet3(ifName string, ifIdx uint32) error

DeleteVmxNet3 implements interface handler

func (*InterfaceVppHandler) DeleteVxLanGpeTunnel

func (h *InterfaceVppHandler) DeleteVxLanGpeTunnel(ifName string, vxLan *interfaces.VxlanLink) error

DeleteVxLanGpeTunnel removes VxLAN-GPE interface.

func (*InterfaceVppHandler) DeleteVxLanTunnel

func (h *InterfaceVppHandler) DeleteVxLanTunnel(ifName string, idx, vrf uint32, vxLan *interfaces.VxlanLink) error

DeleteVxLanTunnel implements VxLan handler.

func (*InterfaceVppHandler) DetachInterfaceFromBond

func (h *InterfaceVppHandler) DetachInterfaceFromBond(ifIdx uint32) error

DetachInterfaceFromBond implements interface handler

func (*InterfaceVppHandler) DumpDhcpClients

func (h *InterfaceVppHandler) DumpDhcpClients() (map[uint32]*vppcalls.Dhcp, error)

DumpDhcpClients returns a slice of DhcpMeta with all interfaces and other DHCP-related information available

func (*InterfaceVppHandler) DumpInterfaceStates

func (h *InterfaceVppHandler) DumpInterfaceStates(ifIdxs ...uint32) (map[uint32]*vppcalls.InterfaceState, error)

DumpInterfaceStates dumps link and administrative state of every interface.

func (*InterfaceVppHandler) DumpInterfaces

func (h *InterfaceVppHandler) DumpInterfaces(ctx context.Context) (map[uint32]*vppcalls.InterfaceDetails, error)

DumpInterfaces implements interface handler.

func (*InterfaceVppHandler) DumpInterfacesByType

func (h *InterfaceVppHandler) DumpInterfacesByType(ctx context.Context, reqType interfaces.Interface_Type) (map[uint32]*vppcalls.InterfaceDetails, error)

DumpInterfacesByType implements interface handler.

func (*InterfaceVppHandler) DumpMemifSocketDetails

func (h *InterfaceVppHandler) DumpMemifSocketDetails(ctx context.Context) (map[string]uint32, error)

DumpMemifSocketDetails implements interface handler.

func (*InterfaceVppHandler) DumpSpan

DumpSpan dumps all SPAN table

func (*InterfaceVppHandler) GetInterfaceVrf

func (h *InterfaceVppHandler) GetInterfaceVrf(ifIdx uint32) (vrfID uint32, err error)

GetInterfaceVrf implements interface handler.

func (*InterfaceVppHandler) GetInterfaceVrfIPv6

func (h *InterfaceVppHandler) GetInterfaceVrfIPv6(ifIdx uint32) (vrfID uint32, err error)

GetInterfaceVrfIPv6 implements interface handler.

func (*InterfaceVppHandler) InterfaceAdminDown

func (h *InterfaceVppHandler) InterfaceAdminDown(ifIdx uint32) error

InterfaceAdminDown implements interface handler.

func (*InterfaceVppHandler) InterfaceAdminUp

func (h *InterfaceVppHandler) InterfaceAdminUp(ifIdx uint32) error

InterfaceAdminUp implements interface handler.

func (*InterfaceVppHandler) RegisterMemifSocketFilename

func (h *InterfaceVppHandler) RegisterMemifSocketFilename(ctx context.Context, filename string, id uint32) error

func (*InterfaceVppHandler) RemoveInterfaceTag

func (h *InterfaceVppHandler) RemoveInterfaceTag(tag string, ifIdx uint32) error

RemoveInterfaceTag implements interface handler.

func (*InterfaceVppHandler) SetInterfaceAsDHCPClient

func (h *InterfaceVppHandler) SetInterfaceAsDHCPClient(ifIdx uint32, hostName string) error

SetInterfaceAsDHCPClient implements interface handler.

func (*InterfaceVppHandler) SetInterfaceMac

func (h *InterfaceVppHandler) SetInterfaceMac(ifIdx uint32, macAddress string) error

SetInterfaceMac implements interface handler.

func (*InterfaceVppHandler) SetInterfaceMtu

func (h *InterfaceVppHandler) SetInterfaceMtu(ifIdx uint32, mtu uint32) error

SetInterfaceMtu implements interface handler.

func (*InterfaceVppHandler) SetInterfaceTag

func (h *InterfaceVppHandler) SetInterfaceTag(tag string, ifIdx uint32) error

SetInterfaceTag implements interface handler.

func (*InterfaceVppHandler) SetInterfaceVrf

func (h *InterfaceVppHandler) SetInterfaceVrf(ifIdx, vrfID uint32) error

SetInterfaceVrf implements interface handler.

func (*InterfaceVppHandler) SetInterfaceVrfIPv6

func (h *InterfaceVppHandler) SetInterfaceVrfIPv6(ifIdx, vrfID uint32) error

SetInterfaceVrfIPv6 implements interface handler.

func (*InterfaceVppHandler) SetRxMode

func (h *InterfaceVppHandler) SetRxMode(ifIdx uint32, rxMode *interfaces.Interface_RxMode) error

SetRxMode implements interface handler.

func (*InterfaceVppHandler) SetRxPlacement

func (h *InterfaceVppHandler) SetRxPlacement(ifIdx uint32, rxPlacement *interfaces.Interface_RxPlacement) error

SetRxPlacement implements interface handler.

func (*InterfaceVppHandler) SetUnnumberedIP

func (h *InterfaceVppHandler) SetUnnumberedIP(uIfIdx uint32, ifIdxWithIP uint32) error

SetUnnumberedIP implements interface handler.

func (*InterfaceVppHandler) SetVLanTagRewrite

func (h *InterfaceVppHandler) SetVLanTagRewrite(ifIdx uint32, subIf *interfaces.SubInterface) error

SetInterfaceTagRewrite sets an interface tag rewrite

func (*InterfaceVppHandler) UnsetInterfaceAsDHCPClient

func (h *InterfaceVppHandler) UnsetInterfaceAsDHCPClient(ifIdx uint32, hostName string) error

UnsetInterfaceAsDHCPClient implements interface handler.

func (*InterfaceVppHandler) UnsetUnnumberedIP

func (h *InterfaceVppHandler) UnsetUnnumberedIP(uIfIdx uint32) error

UnsetUnnumberedIP implements interface handler.

func (*InterfaceVppHandler) WatchDHCPLeases

func (h *InterfaceVppHandler) WatchDHCPLeases(leasesCh chan<- *vppcalls.Lease) error

func (*InterfaceVppHandler) WatchInterfaceEvents

func (h *InterfaceVppHandler) WatchInterfaceEvents(events chan<- *vppcalls.InterfaceEvent) error

Jump to

Keyboard shortcuts

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