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 (*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.
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.