Documentation
¶
Overview ¶
Package ovs provides a wrapper around ovs-vsctl and ovs-ofctl
Index ¶
- Constants
- type Interface
- func (ovsif *Interface) AddBridge(properties ...string) error
- func (ovsif *Interface) AddPort(port string, ofportRequest int, properties ...string) (int, error)
- func (ovsif *Interface) Clear(table, record string, columns ...string) error
- func (ovsif *Interface) Create(table string, values ...string) (string, error)
- func (ovsif *Interface) DeleteBridge() error
- func (ovsif *Interface) DeletePort(port string) error
- func (ovsif *Interface) Destroy(table, record string) error
- func (ovsif *Interface) DumpFlows() ([]string, error)
- func (ovsif *Interface) Get(table, record, column string) (string, error)
- func (ovsif *Interface) GetOFPort(port string) (int, error)
- func (ovsif *Interface) NewTransaction() *Transaction
- func (ovsif *Interface) Set(table, record string, values ...string) error
- func (ovsif *Interface) SetFrags(mode string) error
- type Transaction
Constants ¶
const ( OVS_OFCTL = "ovs-ofctl" OVS_VSCTL = "ovs-vsctl" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Interface ¶ added in v1.4.0
type Interface struct {
// contains filtered or unexported fields
}
func New ¶ added in v1.4.0
New returns a new ovs.Interface
func (*Interface) AddBridge ¶ added in v1.4.0
AddBridge creates the bridge associated with the interface, optionally setting properties on it (as with "ovs-vsctl set Bridge ..."). If the bridge already existed, it will be destroyed and recreated.
func (*Interface) AddPort ¶ added in v1.4.0
AddPort adds an interface to the bridge, requesting the indicated port number, and optionally setting properties on it (as with "ovs-vsctl set Interface ..."). Returns the allocated port number (or an error).
func (*Interface) Clear ¶
Clear unsets the indicated columns in the OVS database. It is not an error if the value is already unset
func (*Interface) Create ¶
Create creates a record in the OVS database, as with "ovs-vsctl create" and returns the UUID of the newly-created item. NOTE: This only works for QoS; for all other tables the created object will immediately be garbage-collected; we'd need an API that calls "create" and "set" in the same "ovs-vsctl" call.
func (*Interface) DeleteBridge ¶ added in v1.4.0
DeleteBridge deletes the bridge associated with the interface. (It is an error if the bridge does not exist.)
func (*Interface) DeletePort ¶ added in v1.4.0
DeletePort removes an interface from the bridge. (It is not an error if the interface is not currently a bridge port.)
func (*Interface) Destroy ¶
Destroy deletes the indicated record in the OVS database. It is not an error if the record does not exist
func (*Interface) DumpFlows ¶ added in v1.4.0
DumpFlows dumps the flow table for the bridge and returns it as an array of strings, one per flow.
func (*Interface) Get ¶
Get gets the indicated value from the OVS database. For multi-valued or map-valued columns, the data is returned in the same format as "ovs-vsctl get".
func (*Interface) GetOFPort ¶ added in v1.5.0
GetOFPort returns the OpenFlow port number of a given network interface attached to a bridge.
func (*Interface) NewTransaction ¶ added in v1.4.0
func (ovsif *Interface) NewTransaction() *Transaction
NewTransaction begins a new OVS transaction. If an error occurs at any step in the transaction, it will be recorded until EndTransaction(), and any further calls on the transaction will be ignored.
func (*Interface) Set ¶
Set sets one or more columns on a record in the OVS database, as with "ovs-vsctl set"
type Transaction ¶
type Transaction struct {
// contains filtered or unexported fields
}
func (*Transaction) AddFlow ¶
func (tx *Transaction) AddFlow(flow string, args ...interface{})
AddFlow adds a flow to the bridge. The arguments are passed to fmt.Sprintf().
func (*Transaction) DeleteFlows ¶
func (tx *Transaction) DeleteFlows(flow string, args ...interface{})
DeleteFlows deletes all matching flows from the bridge. The arguments are passed to fmt.Sprintf().
func (*Transaction) EndTransaction ¶
func (tx *Transaction) EndTransaction() error
EndTransaction ends an OVS transaction and returns any error that occurred during the transaction. You should not use the transaction again after calling this function.
Source Files
¶
- ovs.go