ovs_driver

package
v0.0.0-...-2cc78d2 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2020 License: Apache-2.0 Imports: 7 Imported by: 7

Documentation

Index

Constants

View Source
const (
	// Default bridge name
	DefaultBridgeName = "br-int"

	// Default port used to set the bridge controller
	DefaultControllerPort = 6653

	// Default port used to set OVS Manager
	DefaultManagerPort = 6640
)

Variables

This section is empty.

Functions

This section is empty.

Types

type OvsDriver

type OvsDriver struct {

	// Name of the OVS bridge
	OvsBridgeName string
	// contains filtered or unexported fields
}

OVS driver state

func DefaultOvsDriver

func DefaultOvsDriver() *OvsDriver

Create a new OVS driver with Unix socket deafult socket file path "/var/run/openvswitch/db.sock" Default bridge (ovsbrk8s) will be created

func NewOvsDriver

func NewOvsDriver(bridgeName string) *OvsDriver

Create a new OVS driver with Unix socket default socket file path "/var/run/openvswitch/db.sock"

func (*OvsDriver) CreateBridge

func (self *OvsDriver) CreateBridge(bridgeName string) error

Create bridge to the ovs instance

func (*OvsDriver) CreatePort

func (self *OvsDriver) CreatePort(bridgeName string, intfName string, intfType string, vlanTag uint, extIDs map[string]string,
	options map[string]string) error

Create port in OVS bridge

func (*OvsDriver) Delete

func (self *OvsDriver) Delete()

Delete the bridge we created and disconnect the ovsDriver.

func (*OvsDriver) DeleteBridge

func (self *OvsDriver) DeleteBridge(bridgeName string) error

Delete a bridge from ovs instance

func (*OvsDriver) DeletePortByName

func (self *OvsDriver) DeletePortByName(bridgeName string, intfName string) error

Delete port from OVS bridge By Name

func (*OvsDriver) Disconnect

func (self *OvsDriver) Disconnect()

Disconnect the ovsDriver.

func (*OvsDriver) Disconnected

func (self *OvsDriver) Disconnected(ovsClient *libovsdb.OvsdbClient)

func (*OvsDriver) Echo

func (self *OvsDriver) Echo([]interface{})

func (*OvsDriver) GetExternalIdValueByPortName

func (self *OvsDriver) GetExternalIdValueByPortName(extIdKey string, portName string) string

Get Port Name by externalId

func (*OvsDriver) GetExternalIds

func (self *OvsDriver) GetExternalIds(extIdKey string, extIdValue string) (map[interface{}]interface{}, error)

Return interface row externalIDs by one of the externalIds key/value

func (*OvsDriver) GetExternalIdsOFportNo

func (self *OvsDriver) GetExternalIdsOFportNo(extIdKey string, extIdValue string) (map[interface{}]interface{}, float64, error)

Return interface row OF port number by one of the externalIds key/value

func (*OvsDriver) GetOfPortNoByExternalId

func (self *OvsDriver) GetOfPortNoByExternalId(extIdKey string, extIdValue string) (float64, error)

Return OFP port number for an interface by external id value

func (*OvsDriver) GetPortNameByExternalId

func (self *OvsDriver) GetPortNameByExternalId(extIdKey string, extIdValue string) string

Get Port Name by externalId

func (*OvsDriver) GetRootUuid

func (self *OvsDriver) GetRootUuid() libovsdb.UUID

Get the UUID for root

func (*OvsDriver) GetTunnelPortNoByRemoteIP

func (self *OvsDriver) GetTunnelPortNoByRemoteIP(remoteIP string) (float64, error)

Return tunnel port number by remote IpAddress

func (*OvsDriver) IsBridgePresent

func (self *OvsDriver) IsBridgePresent(bridgeName string) bool

Check if the bridge already exists

func (*OvsDriver) IsControllerPresent

func (self *OvsDriver) IsControllerPresent(target string) bool

Check if Controller already exists

func (*OvsDriver) IsManagerPresent

func (self *OvsDriver) IsManagerPresent(target string) bool

Check if Manager already exists

func (*OvsDriver) IsPortNamePresent

func (self *OvsDriver) IsPortNamePresent(intfName string) bool

Check the local cache and see if the portname is exist

func (*OvsDriver) Locked

func (self *OvsDriver) Locked([]interface{})

func (*OvsDriver) OvsdbTransact

func (self *OvsDriver) OvsdbTransact(ops []libovsdb.Operation) error

Wrapper for ovsDB transaction

func (*OvsDriver) PopulateCache

func (self *OvsDriver) PopulateCache(updates libovsdb.TableUpdates)

Populate local cache of ovs state

func (*OvsDriver) SetActiveController

func (self *OvsDriver) SetActiveController(ipAddress string, portNo int) error

Add controller to OVSDriver bridge should contain ipAddress and port ex: 127.0.0.1 and 6653 if portNo is 0 default port 6653 will be used

func (*OvsDriver) SetActiveManager

func (self *OvsDriver) SetActiveManager(ipAddress string, portNo int) error

Add Manager Config to OVS should contain ipAddress and port ex: 127.0.0.1 and 6640 if portNo is 0 default port 6640 will be used

func (*OvsDriver) SetController

func (self *OvsDriver) SetController(target string) error

Add controller configuration to OVSDriver bridge

func (*OvsDriver) SetManager

func (self *OvsDriver) SetManager(target string) error

Set the Manager Config to OVS

func (*OvsDriver) SetPassiveController

func (self *OvsDriver) SetPassiveController(portNo int) error

Add passive controller to OVSDriver bridge if portNo is 0 default port 6653 will be used

func (*OvsDriver) SetPassiveManager

func (self *OvsDriver) SetPassiveManager(portNo int) error

Add Manager Config to OVS if portNo is 0 default port 6640 will be used

func (*OvsDriver) Stolen

func (self *OvsDriver) Stolen([]interface{})

func (*OvsDriver) Update

func (self *OvsDriver) Update(context interface{}, tableUpdates libovsdb.TableUpdates)

************************ Notification handler for OVS DB changes ****************

Jump to

Keyboard shortcuts

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