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
- Variables
- type Driver
- func (d *Driver) AddEntryL2FIB(module *network.Switch, macAddr string, gate network.Gate) error
- func (d *Driver) Commit() error
- func (d *Driver) Connect() *grpc.ClientConn
- func (d *Driver) DelEntryL2FIB(module *network.Switch, macAddr string) error
- func (d *Driver) DeleteModules(modules []network.PipelineModule, egress bool) error
- func (d *Driver) DeletePort(name string) error
- func (d *Driver) GetNotifications() chan network.L2FIBCommand
- func (d *Driver) ReRenderModules(modules []network.PipelineModule) error
- func (d *Driver) RenderModules(modules []network.PipelineModule) error
- type L2Forward
- type Reader
- type Replicate
Constants ¶
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 ¶
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 (*Driver) AddEntryL2FIB ¶
AddEntryL2FIB adds an L2 entry (Destination MAC address and output gate) to a Switch
func (*Driver) Commit ¶
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 ¶
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 ¶
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