天天看點

Openvswitch手冊(8): ovs-vsctl的DB的操作

ovs-vsctl的DB的操作

Openvswitch手冊(8): ovs-vsctl的DB的操作

如果你在指令行裡面找不到相應的指令建立和删除對象,則可以直接删除資料庫

[−−if−exists] [−−columns=column[,column]...] list table [record]...

$ sudo ovs-vsctl list bridge

_uuid               : 91cd3178-fe2d-4004-85b6-f0f01fcc8b51

controller          : []

datapath_id         : "00007a31cd910440"

datapath_type       : ""

external_ids        : {}

fail_mode           : []

flood_vlans         : []

flow_tables         : {}

ipfix               : []

mirrors             : []

name                : helloother

netflow             : []

other_config        : {}

ports               : [20682bfb-ea46-497e-940f-43f48f00da84, 7dce6e3c-cedd-4bf0-b9dc-f8e90e8788c2, 83489fb4-f8c3-4a32-9bc4-b4cb484dd684]

protocols           : []

sflow               : []

status              : {}

stp_enable          : false

_uuid               : b491acba-c237-4942-94c8-14afad6d1a36

datapath_id         : "0000baac91b44249"

name                : hello

ports               : [90a3fc08-5eea-4d69-bb00-c25250d94d33, bbdf854e-06d5-42f9-8074-98f608248860, c1a8c0f7-11c7-42fd-a272-0961a9aa6522, c5e0caca-5387-4e19-b4d5-25c58eb1257c, e7b71762-f0ac-4cf9-afb6-686e10c23518]

stp_enable          : false

[−−columns=column[,column]...] find table [column[:key]=value]...

$ sudo ovs-vsctl find port name=first_br

_uuid               : c5e0caca-5387-4e19-b4d5-25c58eb1257c

bond_downdelay      : 0

bond_fake_iface     : false

bond_mode           : []

bond_updelay        : 0

fake_bridge         : false

interfaces          : [b0645fc3-c977-42ca-a234-5e84f1a9801a]

lacp                : []

mac                 : []

name                : first_br

qos                 : ce7cfd43-8369-4ce6-a7fd-4e0b79307c10

statistics          : {}

tag                 : []

trunks              : []

vlan_mode           : []

  • Lists the data in each specified record. If no records are specified, lists all the records in table.
  • If −−columns is specified, only the requested columns are listed, in the specified order. Otherwise, all columns are listed, in alphabetical order by column name.
  • Without −−if-exists, it is an error if any specified record does not exist. With −−if-exists, the command ignores any record that does not exist, without producing any output.
  • Lists the data in each record in table whose column equals value or, if key is specified, whose column contains a key with the specified value.
  • The following operators may be used where = is written in the syntax summary: = != < > <= >=

[−−if−exists] [−−id=@name] get table record [column[:key]]...

  • Prints the value of each specified column in the given record in table. For map columns, a key may optionally be specified, in which case the value associated with key in the column is printed, instead of the entire map.
  • Without −−if−exists, it is an error if record does not exist or key is specified, if key does not exist in record. With −−if−exists, a missing record yields no output and a missing key prints a blank line.
  • If @name is specified, then the UUID for record may be referred to by that name later in the same ovs−vsctl invocation in contexts where a UUID is expected.
  • Both −−id and the column arguments are optional, but usually at least one or the other should be specified. If both are omitted, then get has no effect except to verify that record exists in table.
  • −−id and −−if−exists cannot be used together.

[−−if−exists] set table record column[:key]=value...

  • Sets the value of each specified column in the given record in table to value. For map columns, a key may optionally be specified, in which case the value associated with key in that column is changed (or added, if none exists), instead of the entire map.
  • Without −−if-exists, it is an error if record does not exist. With −−if-exists, this command does nothing if record does not exist.

[−−if−exists] add table record column [key=]value...

  • Adds the specified value or key-value pair to column in record in table. If column is a map, then key is required, otherwise it is prohibited. If key already exists in a map column, then the current value is not replaced (use the set command to replace an existing value).

[−−if−exists] remove table record column value...

[−−if−exists] remove table record column key...

[−−if−exists] remove table record column key=value...

  • Removes the specified values or key-value pairs from column in record in table. The first form applies to columns that are not maps: each specified value is removed from the column. The second and third forms apply to map columns: if only a key is specified, then any key-value pair with the given key is removed, regardless of its value; if a value is given then a pair is removed only if both key and value match.
  • It is not an error if the column does not contain the specified key or value or pair.

[−−if−exists] clear table record column...

  • Sets each column in record in table to the empty set or empty map, as appropriate. This command applies only to columns that are allowed to be empty.

[−−id=@name] create table column[:key]=value...

  • Creates a new record in table and sets the initial values of each column. Columns not explicitly set will receive their default values. Outputs the UUID of the new row.
  • If @name is specified, then the UUID for the new row may be referred to by that name elsewhere in the same ovs−vsctl invocation in contexts where a UUID is expected. Such references may precede or follow the create command.
  • Records in the Open vSwitch database are significant only when they can be reached directly or indirectly from the Open_vSwitch table. Except for records in the QoS or Queue tables, records that are not reachable from the Open_vSwitch table are automatically deleted from the database. This deletion happens immediately, without waiting for additional ovs−vsctl commands or other database activity. Thus, a create command must generally be accompanied by additional commands within the same ovs−vsctl invocation to add a chain of references to the newly created record from the top-level Open_vSwitch record. The EXAMPLES section gives some examples that show how to do this.

[−−if−exists] destroy table record...

  • Deletes each specified record from table. Unless −−if−exists is specified, each records must exist.

−−all destroy table

  • Deletes all records from the table.
  • The destroy command is only useful for records in the QoS or Queue tables. Records in other tables are automatically deleted from the database when they become unreachable from the Open_vSwitch table. This means that deleting the last reference to a record is sufficient for deleting the record itself. For records in these tables, destroy is silently ignored. See the EXAMPLES section below for more information.