uplink

package
v3.27.0 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NATIVE_DRIVER_NONE      = "none"
	NATIVE_DRIVER_AF_PACKET = "af_packet"
	NATIVE_DRIVER_AF_XDP    = "af_xdp"
	NATIVE_DRIVER_VIRTIO    = "virtio"
	NATIVE_DRIVER_AVF       = "avf"
	NATIVE_DRIVER_DPDK      = "dpdk"
	NATIVE_DRIVER_RDMA      = "rdma"
	NATIVE_DRIVER_VMXNET3   = "vmxnet3"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AFPacketDriver

type AFPacketDriver struct {
	UplinkDriverData
}

func (*AFPacketDriver) CreateMainVppInterface

func (d *AFPacketDriver) CreateMainVppInterface(vpp *vpplink.VppLink, vppPid int, uplinkSpec *config.UplinkInterfaceSpec) (err error)

func (*AFPacketDriver) GetDefaultRxMode added in v3.25.1

func (d *AFPacketDriver) GetDefaultRxMode() types.RxMode

We prefer defaulting to adaptive, but af_packet only supports interrupt or polling

func (*AFPacketDriver) IsSupported

func (d *AFPacketDriver) IsSupported(warn bool) bool

func (*AFPacketDriver) PreconfigureLinux

func (d *AFPacketDriver) PreconfigureLinux() error

func (*AFPacketDriver) RestoreLinux

func (d *AFPacketDriver) RestoreLinux(allInterfacesPhysical bool)

type AFXDPDriver

type AFXDPDriver struct {
	UplinkDriverData
}

func (*AFXDPDriver) CreateMainVppInterface

func (d *AFXDPDriver) CreateMainVppInterface(vpp *vpplink.VppLink, vppPid int, uplinkSpec *config.UplinkInterfaceSpec) (err error)

func (*AFXDPDriver) IsSupported

func (d *AFXDPDriver) IsSupported(warn bool) bool

func (*AFXDPDriver) PreconfigureLinux

func (d *AFXDPDriver) PreconfigureLinux() error

func (*AFXDPDriver) RestoreLinux

func (d *AFXDPDriver) RestoreLinux(allInterfacesPhysical bool)

type AVFDriver

type AVFDriver struct {
	UplinkDriverData
	// contains filtered or unexported fields
}

func (*AVFDriver) CreateMainVppInterface

func (d *AVFDriver) CreateMainVppInterface(vpp *vpplink.VppLink, vppPid int, uplinkSpec *config.UplinkInterfaceSpec) (err error)

func (*AVFDriver) IsSupported

func (d *AVFDriver) IsSupported(warn bool) (supported bool)

func (*AVFDriver) PreconfigureLinux

func (d *AVFDriver) PreconfigureLinux() (err error)

func (*AVFDriver) RestoreLinux

func (d *AVFDriver) RestoreLinux(allInterfacesPhysical bool)

type DPDKDriver

type DPDKDriver struct {
	UplinkDriverData
}

func (*DPDKDriver) CreateMainVppInterface

func (d *DPDKDriver) CreateMainVppInterface(vpp *vpplink.VppLink, vppPid int, uplinkSpec *config.UplinkInterfaceSpec) (err error)

func (*DPDKDriver) IsSupported

func (d *DPDKDriver) IsSupported(warn bool) (supported bool)

func (*DPDKDriver) PreconfigureLinux

func (d *DPDKDriver) PreconfigureLinux() (err error)

func (*DPDKDriver) RestoreLinux

func (d *DPDKDriver) RestoreLinux(allInterfacesPhysical bool)

func (*DPDKDriver) UpdateVppConfigFile

func (d *DPDKDriver) UpdateVppConfigFile(template string) string

type DefaultDriver

type DefaultDriver struct {
	UplinkDriverData
}

func (*DefaultDriver) CreateMainVppInterface

func (d *DefaultDriver) CreateMainVppInterface(vpp *vpplink.VppLink, vppPid int, uplinkSpec *config.UplinkInterfaceSpec) (err error)

func (*DefaultDriver) IsSupported

func (d *DefaultDriver) IsSupported(warn bool) bool

func (*DefaultDriver) PreconfigureLinux

func (d *DefaultDriver) PreconfigureLinux() (err error)

func (*DefaultDriver) RestoreLinux

func (d *DefaultDriver) RestoreLinux(allInterfacesPhysical bool)

type RDMADriver

type RDMADriver struct {
	UplinkDriverData
}

func (*RDMADriver) CreateMainVppInterface

func (d *RDMADriver) CreateMainVppInterface(vpp *vpplink.VppLink, vppPid int, uplinkSpec *config.UplinkInterfaceSpec) (err error)

func (*RDMADriver) IsSupported

func (d *RDMADriver) IsSupported(warn bool) (supported bool)

func (*RDMADriver) PreconfigureLinux

func (d *RDMADriver) PreconfigureLinux() (err error)

func (*RDMADriver) RestoreLinux

func (d *RDMADriver) RestoreLinux(allInterfacesPhysical bool)

type UplinkDriver

type UplinkDriver interface {
	PreconfigureLinux() error
	CreateMainVppInterface(vpp *vpplink.VppLink, vppPid int, uplinkSpec *config.UplinkInterfaceSpec) error
	RestoreLinux(allInterfacesPhysical bool)
	IsSupported(warn bool) bool
	GetName() string
	UpdateVppConfigFile(template string) string
	GetDefaultRxMode() types.RxMode
}

type UplinkDriverData

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

func (*UplinkDriverData) GetDefaultRxMode added in v3.25.1

func (d *UplinkDriverData) GetDefaultRxMode() types.RxMode

func (*UplinkDriverData) GetName

func (d *UplinkDriverData) GetName() string

func (*UplinkDriverData) TagMainInterface

func (d *UplinkDriverData) TagMainInterface(vpp *vpplink.VppLink, swIfIndex uint32, name string) (err error)

func (*UplinkDriverData) UpdateVppConfigFile

func (d *UplinkDriverData) UpdateVppConfigFile(template string) string

type VirtioDriver

type VirtioDriver struct {
	UplinkDriverData
}

func (*VirtioDriver) CreateMainVppInterface

func (d *VirtioDriver) CreateMainVppInterface(vpp *vpplink.VppLink, vppPid int, uplinkSpec *config.UplinkInterfaceSpec) (err error)

func (*VirtioDriver) IsSupported

func (d *VirtioDriver) IsSupported(warn bool) (supported bool)

func (*VirtioDriver) PreconfigureLinux

func (d *VirtioDriver) PreconfigureLinux() (err error)

func (*VirtioDriver) RestoreLinux

func (d *VirtioDriver) RestoreLinux(allInterfacesPhysical bool)

type Vmxnet3Driver

type Vmxnet3Driver struct {
	UplinkDriverData
}

func (*Vmxnet3Driver) CreateMainVppInterface

func (d *Vmxnet3Driver) CreateMainVppInterface(vpp *vpplink.VppLink, vppPid int, uplinkSpec *config.UplinkInterfaceSpec) (err error)

func (*Vmxnet3Driver) IsSupported

func (d *Vmxnet3Driver) IsSupported(warn bool) (supported bool)

func (*Vmxnet3Driver) PreconfigureLinux

func (d *Vmxnet3Driver) PreconfigureLinux() (err error)

func (*Vmxnet3Driver) RestoreLinux

func (d *Vmxnet3Driver) RestoreLinux(allInterfacesPhysical bool)

Jump to

Keyboard shortcuts

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