{
"name": "hardware_vtep",
- "cksum": "3096797177 6063",
+ "cksum": "1687941026 6625",
"tables": {
"Global": {
"columns": {
"type": {"key": {"type": "uuid",
"refTable": "Manager"},
"min": 0, "max": "unlimited"}},
- "switches": {
- "type": {"key": {"type": "uuid", "refTable": "Physical_Switch"},
- "min": 0, "max": "unlimited"}}
+ "switches": {
+ "type": {"key": {"type": "uuid", "refTable": "Physical_Switch"},
+ "min": 0, "max": "unlimited"}}
},
"maxRows": 1,
"isRoot": true},
"Physical_Switch": {
"columns": {
- "ports": {
- "type": {"key": {"type": "uuid", "refTable": "Physical_Port"},
- "min": 0, "max": "unlimited"}},
+ "ports": {
+ "type": {"key": {"type": "uuid", "refTable": "Physical_Port"},
+ "min": 0, "max": "unlimited"}},
"name": {"type": "string"},
"description": {"type": "string"},
"management_ips": {
- "type": {"key": {"type": "string"}, "min": 0, "max": "unlimited"}},
+ "type": {"key": {"type": "string"}, "min": 0, "max": "unlimited"}},
"tunnel_ips": {
- "type": {"key": {"type": "string"}, "min": 0, "max": "unlimited"}},
+ "type": {"key": {"type": "string"}, "min": 0, "max": "unlimited"}},
"switch_fault_status": {
"type": {
"key": "string", "min": 0, "max": "unlimited"},
- "ephemeral": true}},
+ "ephemeral": true}},
"indexes": [["name"]]},
"Physical_Port": {
"columns": {
"name": {"type": "string"},
"description": {"type": "string"},
- "vlan_bindings": {
- "type": {"key": {"type": "integer",
- "minInteger": 0, "maxInteger": 4095},
- "value": {"type": "uuid", "refTable": "Logical_Switch"},
- "min": 0, "max": "unlimited"}},
+ "vlan_bindings": {
+ "type": {"key": {"type": "integer",
+ "minInteger": 0, "maxInteger": 4095},
+ "value": {"type": "uuid", "refTable": "Logical_Switch"},
+ "min": 0, "max": "unlimited"}},
"vlan_stats": {
- "type": {"key": {"type": "integer",
- "minInteger": 0, "maxInteger": 4095},
- "value": {"type": "uuid",
- "refTable": "Logical_Binding_Stats"},
- "min": 0, "max": "unlimited"}},
+ "type": {"key": {"type": "integer",
+ "minInteger": 0, "maxInteger": 4095},
+ "value": {"type": "uuid",
+ "refTable": "Logical_Binding_Stats"},
+ "min": 0, "max": "unlimited"}},
"port_fault_status": {
"type": {
"key": "string", "min": 0, "max": "unlimited"},
- "ephemeral": true}}},
+ "ephemeral": true}}},
"Logical_Binding_Stats": {
"columns": {
"bytes_from_local": {"type": "integer"},
"columns": {
"name": {"type": "string"},
"description": {"type": "string"},
- "tunnel_key": {"type": {"key": "integer", "min": 0, "max": 1}}},
+ "tunnel_key": {"type": {"key": "integer", "min": 0, "max": 1}}},
"isRoot": true,
"indexes": [["name"]]},
"Ucast_Macs_Local": {
"columns": {
"MAC": {"type": "string"},
- "logical_switch": {
+ "logical_switch": {
"type": {"key": {"type": "uuid",
- "refTable": "Logical_Switch"}}},
- "locator": {
+ "refTable": "Logical_Switch"}}},
+ "locator": {
"type": {"key": {"type": "uuid",
- "refTable": "Physical_Locator"}}},
+ "refTable": "Physical_Locator"}}},
"ipaddr": {"type": "string"}},
"isRoot": true},
"Ucast_Macs_Remote": {
"columns": {
"MAC": {"type": "string"},
- "logical_switch": {
+ "logical_switch": {
"type": {"key": {"type": "uuid",
- "refTable": "Logical_Switch"}}},
- "locator": {
+ "refTable": "Logical_Switch"}}},
+ "locator": {
"type": {"key": {"type": "uuid",
- "refTable": "Physical_Locator"}}},
+ "refTable": "Physical_Locator"}}},
"ipaddr": {"type": "string"}},
"isRoot": true},
"Mcast_Macs_Local": {
"columns": {
"MAC": {"type": "string"},
- "logical_switch": {
+ "logical_switch": {
"type": {"key": {"type": "uuid",
- "refTable": "Logical_Switch"}}},
- "locator_set": {
+ "refTable": "Logical_Switch"}}},
+ "locator_set": {
"type": {"key": {"type": "uuid",
- "refTable": "Physical_Locator_Set"}}},
+ "refTable": "Physical_Locator_Set"}}},
"ipaddr": {"type": "string"}},
"isRoot": true},
"Mcast_Macs_Remote": {
"columns": {
"MAC": {"type": "string"},
- "logical_switch": {
+ "logical_switch": {
"type": {"key": {"type": "uuid",
- "refTable": "Logical_Switch"}}},
- "locator_set": {
+ "refTable": "Logical_Switch"}}},
+ "locator_set": {
"type": {"key": {"type": "uuid",
- "refTable": "Physical_Locator_Set"}}},
+ "refTable": "Physical_Locator_Set"}}},
"ipaddr": {"type": "string"}},
"isRoot": true},
"Logical_Router": {
"columns": {
"name": {"type": "string"},
"description": {"type": "string"},
- "switch_binding": {
- "type": {"key": {"type": "string"},
- "value": {"type": "uuid",
+ "switch_binding": {
+ "type": {"key": {"type": "string"},
+ "value": {"type": "uuid",
"refTable": "Logical_Switch"},
- "min": 0, "max": "unlimited"}},
- "static_routes": {
- "type": {"key": {"type": "string"},
- "value": {"type" : "string"},
- "min": 0, "max": "unlimited"}}},
+ "min": 0, "max": "unlimited"}},
+ "static_routes": {
+ "type": {"key": {"type": "string"},
+ "value": {"type" : "string"},
+ "min": 0, "max": "unlimited"}}},
"isRoot": true,
"indexes": [["name"]]},
"Arp_Sources_Local": {
"Physical_Locator_Set": {
"columns": {
"locators": {
- "type": {"key": {"type": "uuid", "refTable": "Physical_Locator"},
- "min": 1, "max": "unlimited"},
- "mutable": false}}},
+ "type": {"key": {"type": "uuid", "refTable": "Physical_Locator"},
+ "min": 1, "max": "unlimited"},
+ "mutable": false}}},
"Physical_Locator": {
"columns": {
"encapsulation_type": {
"key": {
"enum": ["set", ["vxlan_over_ipv4"]],
"type": "string"}},
- "mutable": false},
+ "mutable": false},
"dst_ip": {"type": "string", "mutable": false},
- "bfd": {
+ "bfd": {
"type": {"key": "string", "value": "string",
"min": 0, "max": "unlimited"}},
- "bfd_status": {
+ "bfd_status": {
"type": {"key": "string", "value": "string",
"min": 0, "max": "unlimited"}}},
"indexes": [["encapsulation_type", "dst_ip"]]},
(not a DNS name).
</p>
<p>
- SSL key and certificate configuration happens outside the
- database.
+ SSL key and certificate configuration happens outside the
+ database.
</p>
</dd>
<group title="Identification">
<column name="name">
- Symbolic name for the switch, such as its hostname.
+ Symbolic name for the switch, such as its hostname.
</column>
<column name="description">
- An extended description for the switch, such as its switch login
- banner.
+ An extended description for the switch, such as its switch login
+ banner.
</column>
</group>
<group title="Error Notification">
<p>
- An entry in this column indicates to the NVC that this switch
- has encountered a fault. The switch must clear this column
- when the fault has been cleared.
+ An entry in this column indicates to the NVC that this switch
+ has encountered a fault. The switch must clear this column
+ when the fault has been cleared.
</p>
<column name="switch_fault_status" key="mac_table_exhaustion">
<group title="Identification">
<column name="name">
- Symbolic name for the port. The name ought to be unique within a given
- <ref table="Physical_Switch"/>, but the database is not capable of
- enforcing this.
+ Symbolic name for the port. The name ought to be unique within a given
+ <ref table="Physical_Switch"/>, but the database is not capable of
+ enforcing this.
</column>
<column name="description">
- An extended description for the port.
+ An extended description for the port.
</column>
</group>
<group title="Error Notification">
<p>
- An entry in this column indicates to the NVC that the physical port has
- encountered a fault. The switch must clear this column when the errror
- has been cleared.
+ An entry in this column indicates to the NVC that the physical port has
+ encountered a fault. The switch must clear this column when the errror
+ has been cleared.
</p>
<column name="port_fault_status" key="invalid_vlan_map">
- <p>
- Indicates that a VLAN-to-logical-switch mapping requested by
- the controller could not be instantiated by the switch
- because of a conflict with local configuration.
- </p>
+ <p>
+ Indicates that a VLAN-to-logical-switch mapping requested by
+ the controller could not be instantiated by the switch
+ because of a conflict with local configuration.
+ </p>
</column>
<column name="port_fault_status" key="unspecified_fault">
- <p>
- Indicates that an error has occurred on the port but that no
- more specific information is available.
- </p>
+ <p>
+ Indicates that an error has occurred on the port but that no
+ more specific information is available.
+ </p>
</column>
</group>
<group title="Identification">
<column name="name">
- Symbolic name for the logical switch.
+ Symbolic name for the logical switch.
</column>
<column name="description">
- An extended description for the logical switch, such as its switch
- login banner.
+ An extended description for the logical switch, such as its switch
+ login banner.
</column>
</group>
</table>
<column name="MAC">
<p>
- A MAC address that has been learned by the VTEP.
+ A MAC address that has been learned by the VTEP.
</p>
<p>
- The keyword <code>unknown-dst</code> is used as a special
- ``Ethernet address'' that indicates the locations to which
- packets in a logical switch whose destination addresses do not
- otherwise appear in <ref table="Ucast_Macs_Local"/> (for
- unicast addresses) or <ref table="Mcast_Macs_Local"/> (for
- multicast addresses) should be sent.
+ The keyword <code>unknown-dst</code> is used as a special
+ ``Ethernet address'' that indicates the locations to which
+ packets in a logical switch whose destination addresses do not
+ otherwise appear in <ref table="Ucast_Macs_Local"/> (for
+ unicast addresses) or <ref table="Mcast_Macs_Local"/> (for
+ multicast addresses) should be sent.
</p>
</column>
<column name="MAC">
<p>
- A MAC address that has been learned by the NVC.
+ A MAC address that has been learned by the NVC.
</p>
<p>
- The keyword <code>unknown-dst</code> is used as a special
- ``Ethernet address'' that indicates the locations to which
- packets in a logical switch whose destination addresses do not
- otherwise appear in <ref table="Ucast_Macs_Remote"/> (for
- unicast addresses) or <ref table="Mcast_Macs_Remote"/> (for
- multicast addresses) should be sent.
+ The keyword <code>unknown-dst</code> is used as a special
+ ``Ethernet address'' that indicates the locations to which
+ packets in a logical switch whose destination addresses do not
+ otherwise appear in <ref table="Ucast_Macs_Remote"/> (for
+ unicast addresses) or <ref table="Mcast_Macs_Remote"/> (for
+ multicast addresses) should be sent.
</p>
</column>
<group title="Identification">
<column name="name">
- Symbolic name for the logical router.
+ Symbolic name for the logical router.
</column>
<column name="description">
- An extended description for the logical router.
+ An extended description for the logical router.
</column>
</group>
</table>
<group title="Bidirectional Forwarding Detection (BFD)">
<p>
- BFD, defined in RFC 5880, allows point to point detection of
- connectivity failures by occasional transmission of BFD control
- messages. VTEPs are expected to implement BFD.
+ BFD, defined in RFC 5880, allows point to point detection of
+ connectivity failures by occasional transmission of BFD control
+ messages. VTEPs are expected to implement BFD.
</p>
<p>
- BFD operates by regularly transmitting BFD control messages at a
- rate negotiated independently in each direction. Each endpoint
- specifies the rate at which it expects to receive control messages,
- and the rate at which it's willing to transmit them. An endpoint
- which fails to receive BFD control messages for a period of three
- times the expected reception rate will signal a connectivity
- fault. In the case of a unidirectional connectivity issue, the
- system not receiving BFD control messages will signal the problem
- to its peer in the messages it transmits.
+ BFD operates by regularly transmitting BFD control messages at a
+ rate negotiated independently in each direction. Each endpoint
+ specifies the rate at which it expects to receive control messages,
+ and the rate at which it's willing to transmit them. An endpoint
+ which fails to receive BFD control messages for a period of three
+ times the expected reception rate will signal a connectivity
+ fault. In the case of a unidirectional connectivity issue, the
+ system not receiving BFD control messages will signal the problem
+ to its peer in the messages it transmits.
</p>
<p>
- A hardware VTEP is expected to use BFD to determine reachability of
- devices at the end of the tunnels with which it exchanges data. This
- can enable the VTEP to choose a functioning service node among a set of
- service nodes providing high availability. It also enables the NVC to
- report the health status of tunnels.
+ A hardware VTEP is expected to use BFD to determine reachability of
+ devices at the end of the tunnels with which it exchanges data. This
+ can enable the VTEP to choose a functioning service node among a set of
+ service nodes providing high availability. It also enables the NVC to
+ report the health status of tunnels.
</p>
<p>
- In most cases the BFD peer of a hardware VTEP will be an Open vSwitch
- instance. The Open vSwitch implementation of BFD aims to comply
- faithfully with the requirements put forth in RFC 5880. Open vSwitch
- does not implement the optional Authentication or ``Echo Mode''
- features.
+ In most cases the BFD peer of a hardware VTEP will be an Open vSwitch
+ instance. The Open vSwitch implementation of BFD aims to comply
+ faithfully with the requirements put forth in RFC 5880. Open vSwitch
+ does not implement the optional Authentication or ``Echo Mode''
+ features.
</p>
<group title="BFD Configuration">
- <p>
- A controller sets up key-value pairs in the <ref column="bfd"/>
- column to enable and configure BFD.
+ <p>
+ A controller sets up key-value pairs in the <ref column="bfd"/>
+ column to enable and configure BFD.
</p>
<column name="bfd" key="enable" type='{"type": "boolean"}'>
<code>00:23:20:00:00:01</code>.
</column>
- <column name="bfd" key="bfd_src_ip">
+ <column name="bfd" key="bfd_src_ip">
Set to an IPv4 address to set the IP address used as source for
transmitted BFD packets. The default is <code>169.254.1.0</code>.
- </column>
+ </column>
- <column name="bfd" key="bfd_dst_ip">
+ <column name="bfd" key="bfd_dst_ip">
Set to an IPv4 address to set the IP address used as destination
for transmitted BFD packets. The default is <code>169.254.1.1</code>.
- </column>
+ </column>
</group>
<group title="BFD Status">
- <p>
- The VTEP sets key-value pairs in the <ref column="bfd_status"/>
- column to report the status of BFD on this interface. When BFD is
- not enabled, with <ref column="bfd" key="enable"/>, the switch clears
- all key-value pairs from <ref column="bfd_status"/>.
- </p>
-
- <column name="bfd_status" key="state"
- type='{"type": "string",
- "enum": ["set", ["admin_down", "down", "init", "up"]]}'>
- Reports the state of the BFD session. The BFD session is fully
- healthy and negotiated if <code>UP</code>.
- </column>
-
- <column name="bfd_status" key="forwarding" type='{"type": "boolean"}'>
- Reports whether the BFD session believes this <ref
- table="Physical_Locator"/> may be used to forward traffic. Typically
- this means the local session is signaling <code>UP</code>, and the
- remote system isn't signaling a problem such as concatenated path
- down.
- </column>
-
- <column name="bfd_status" key="diagnostic">
- In case of a problem, set to a short message that reports what the
- local BFD session thinks is wrong.
- </column>
-
- <column name="bfd_status" key="remote_state"
- type='{"type": "string",
- "enum": ["set", ["admin_down", "down", "init", "up"]]}'>
- Reports the state of the remote endpoint's BFD session.
- </column>
-
- <column name="bfd_status" key="remote_diagnostic">
- In case of a problem, set to a short message that reports what the
- remote endpoint's BFD session thinks is wrong.
- </column>
+ <p>
+ The VTEP sets key-value pairs in the <ref column="bfd_status"/>
+ column to report the status of BFD on this interface. When BFD is
+ not enabled, with <ref column="bfd" key="enable"/>, the switch clears
+ all key-value pairs from <ref column="bfd_status"/>.
+ </p>
+
+ <column name="bfd_status" key="state"
+ type='{"type": "string",
+ "enum": ["set", ["admin_down", "down", "init", "up"]]}'>
+ Reports the state of the BFD session. The BFD session is fully
+ healthy and negotiated if <code>UP</code>.
+ </column>
+
+ <column name="bfd_status" key="forwarding" type='{"type": "boolean"}'>
+ Reports whether the BFD session believes this <ref
+ table="Physical_Locator"/> may be used to forward traffic. Typically
+ this means the local session is signaling <code>UP</code>, and the
+ remote system isn't signaling a problem such as concatenated path
+ down.
+ </column>
+
+ <column name="bfd_status" key="diagnostic">
+ In case of a problem, set to a short message that reports what the
+ local BFD session thinks is wrong.
+ </column>
+
+ <column name="bfd_status" key="remote_state"
+ type='{"type": "string",
+ "enum": ["set", ["admin_down", "down", "init", "up"]]}'>
+ Reports the state of the remote endpoint's BFD session.
+ </column>
+
+ <column name="bfd_status" key="remote_diagnostic">
+ In case of a problem, set to a short message that reports what the
+ remote endpoint's BFD session thinks is wrong.
+ </column>
</group>
</group>
</table>