bess

package
v0.0.0-...-7b7dccf Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2019 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Package bess contains the BESS data plane driver for Nimbess Agent

Package bess contains the BESS data plane driver for Nimbess Agent

Index

Constants

View Source
const (
	PORT        = "Port"
	MODULE      = "Module"
	VPORT       = "VPort"
	PMDPORT     = "PMDPort"
	PCAPPORT    = "PCAPPort"
	UNIXPORT    = "UnixSocketPort"
	PORTOUT     = "PortOut"
	PORTINC     = "PortInc"
	L2FORWARD   = "L2Forward"
	REPLICATE   = "Replicate"
	SOCKET_PATH = "/var/lib/nimbess/cni/u-%s"
	URLFILTER   = "UrlFilter"
)

BESS specific object names

Variables

View Source
var SupportedObjects = [...]string{PORT, MODULE}

SupportedObjects contains the BESS objects supported by this driver

Functions

This section is empty.

Types

type Driver

type Driver struct {
	drivers.DriverConfig

	Context context.Context
	// contains filtered or unexported fields
}

Driver represents the BESS driver for Nimbess Agent

func NewDriver

func NewDriver(configArg drivers.DriverConfig, contextArg context.Context) *Driver

func (*Driver) AddEntryL2FIB

func (d *Driver) AddEntryL2FIB(module *network.Switch, macAddr string, gate network.Gate) error

AddEntryL2FIB adds an L2 entry (Destination MAC address and output gate) to a Switch

func (*Driver) Commit

func (d *Driver) Commit() error

Commit handles enabling config in data plane. In BESS for now we just pause/resume

func (*Driver) Connect

func (d *Driver) Connect() *grpc.ClientConn

Connect is used to setup gRPC connection with the data plane.

func (*Driver) DelEntryL2FIB

func (d *Driver) DelEntryL2FIB(module *network.Switch, macAddr string) error

AddEntryL2FIB adds an L2 entry (Destination MAC address and output gate) to a Switch

func (*Driver) DeleteModules

func (d *Driver) DeleteModules(modules []network.PipelineModule, egress bool) error

DeleteModules deletes all modules if they exist in BESS When egress is false, egress ports will be ignored

func (*Driver) DeletePort

func (d *Driver) DeletePort(name string) error

DeletePort deletes a specific port if it exists in BESS

func (*Driver) GetNotifications

func (d *Driver) GetNotifications() chan network.L2FIBCommand

func (*Driver) ReRenderModules

func (d *Driver) ReRenderModules(modules []network.PipelineModule) error

ReRenderModules updates pipeline resources based on a change to the pipeline This should detect changes and update only necessary pieces, but for now it deletes and re-renders the pipeline

func (*Driver) RenderModules

func (d *Driver) RenderModules(modules []network.PipelineModule) error

RenderModules creates resources for modules and then wires them to pipeline

type L2Forward

type L2Forward struct {
	network.Switch
}

L2Forward is a BESS module for MAC based switching

type Reader

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

func NewReader

func NewReader(portArg string, pathArg string, controlChan chan network.L2FIBCommand) *Reader

func (*Reader) Close

func (r *Reader) Close()

func (*Reader) ProcessPacket

func (r *Reader) ProcessPacket() int

func (*Reader) Run

func (r *Reader) Run()

type Replicate

type Replicate struct {
	network.Switch
}

Replicate is a BESS module for replicating a single packet to multiple egress gates

Jump to

Keyboard shortcuts

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