From: Ashwin Swaminathan Date: Tue, 6 May 2014 21:54:52 +0000 (-0700) Subject: vtep: Update vtep schema with tunnel table X-Git-Tag: v2.3~159 X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fovs.git;a=commitdiff_plain;h=c8f4eed5db266dcf1b1ddcfb238ac281b2160276 vtep: Update vtep schema with tunnel table Added a Tunnel table to the VTEP schema that allows per-tunnel BFD configuration and status to be specified. Removed the BFD configuration/status from the Physical_Locator table. Signed-off-by: Ashwin Swaminathan Signed-off-by: Ben Pfaff Acked-by: Bruce Davie --- diff --git a/vtep/vtep.ovsschema b/vtep/vtep.ovsschema index 94494abd1..62ec27851 100644 --- a/vtep/vtep.ovsschema +++ b/vtep/vtep.ovsschema @@ -1,6 +1,6 @@ { "name": "hardware_vtep", - "cksum": "1687941026 6625", + "cksum": "58544667 7319", "tables": { "Global": { "columns": { @@ -25,6 +25,9 @@ "type": {"key": {"type": "string"}, "min": 0, "max": "unlimited"}}, "tunnel_ips": { "type": {"key": {"type": "string"}, "min": 0, "max": "unlimited"}}, + "tunnels": { + "type": {"key": {"type": "uuid", "refTable": "Tunnel"}, + "min": 0, "max": "unlimited"}}, "switch_fault_status": { "type": { "key": "string", "min": 0, "max": "unlimited"}, @@ -49,6 +52,26 @@ "type": { "key": "string", "min": 0, "max": "unlimited"}, "ephemeral": true}}}, + "Tunnel": { + "columns": { + "local": { + "type": {"key": {"type": "uuid", + "refTable": "Physical_Locator"}}}, + "remote": { + "type": {"key": {"type": "uuid", + "refTable": "Physical_Locator"}}}, + "bfd_config_local": { + "type": {"key": "string", "value": "string", + "min": 0, "max": "unlimited"}}, + "bfd_config_remote": { + "type": {"key": "string", "value": "string", + "min": 0, "max": "unlimited"}}, + "bfd_params": { + "type": {"key": "string", "value": "string", + "min": 0, "max": "unlimited"}}, + "bfd_status": { + "type": {"key": "string", "value": "string", + "min": 0, "max": "unlimited"}}}}, "Logical_Binding_Stats": { "columns": { "bytes_from_local": {"type": "integer"}, @@ -149,13 +172,7 @@ "enum": ["set", ["vxlan_over_ipv4"]], "type": "string"}}, "mutable": false}, - "dst_ip": {"type": "string", "mutable": false}, - "bfd": { - "type": {"key": "string", "value": "string", - "min": 0, "max": "unlimited"}}, - "bfd_status": { - "type": {"key": "string", "value": "string", - "min": 0, "max": "unlimited"}}}, + "dst_ip": {"type": "string", "mutable": false}}, "indexes": [["encapsulation_type", "dst_ip"]]}, "Manager": { "columns": { @@ -176,4 +193,4 @@ "ephemeral": true}}, "indexes": [["target"]], "isRoot": false}}, - "version": "1.2.0"} + "version": "1.3.0"} diff --git a/vtep/vtep.xml b/vtep/vtep.xml index 06bca0f76..63ed00577 100644 --- a/vtep/vtep.xml +++ b/vtep/vtep.xml @@ -244,6 +244,10 @@ The physical ports within the switch. + + Tunnels created by this switch as instructed by the NVC. + + IPv4 or IPv6 addresses at which the switch may be contacted @@ -299,6 +303,195 @@ + + A tunnel created by a . + + + Tunnel end-point local to the physical switch. + + + + Tunnel end-point remote to the physical switch. + + + +

+ 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 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. +

+ +

+ 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. +

+ +

+ 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. +

+ + +

+ The HSC writes the key-value pairs in the + column to specifiy the local + configurations to be used for BFD sessions on this tunnel. +

+ + + Set to an Ethernet address in the form + xx:xx:xx:xx:xx:xx + to set the MAC expected as destination for received BFD packets. + + + + Set to an IPv4 address to set the IP address that is expected as destination + for received BFD packets. The default is 169.254.1.0. + + +
+ + +

+ The column is the remote + counterpart of the column. + The NVC writes the key-value pairs in this column. +

+ + + Set to an Ethernet address in the form + xx:xx:xx:xx:xx:xx + to set the destination MAC to be used for transmitted BFD packets. + The default is 00:23:20:00:00:01. + + + + Set to an IPv4 address to set the IP address used as destination + for transmitted BFD packets. The default is 169.254.1.1. + + +
+ + +

+ The NVC sets up key-value pairs in the + column to enable and configure BFD. +

+ + + True to enable BFD on this tunnel. + + + + The shortest interval, in milliseconds, at which this BFD session + offers to receive BFD control messages. The remote endpoint may + choose to send messages at a slower rate. Defaults to + 1000. + + + + The shortest interval, in milliseconds, at which this BFD session is + willing to transmit BFD control messages. Messages will actually be + transmitted at a slower rate if the remote endpoint is not willing to + receive as quickly as specified. Defaults to 100. + + + + An alternate receive interval, in milliseconds, that must be greater + than or equal to . The + implementation switches from to when there is no obvious incoming + data traffic at the interface, to reduce the CPU and bandwidth cost + of monitoring an idle interface. This feature may be disabled by + setting a value of 0. This feature is reset whenever or + changes. + + + + True to consider the interface capable of packet I/O as long as it + continues to receive any packets (not just BFD packets). This + prevents link congestion that causes consecutive BFD control packets + to be lost from marking the interface down. + + + + Set to true to notify the remote endpoint that traffic should not be + forwarded to this system for some reason other than a connectivty + failure on the interface being monitored. The typical underlying + reason is ``concatenated path down,'' that is, that connectivity + beyond the local system is down. Defaults to false. + + + + Set to true to make BFD accept only control messages with a tunnel + key of zero. By default, BFD accepts control messages with any + tunnel key. + + +
+ + +

+ The VTEP sets key-value pairs in the + column to report the status of BFD on this tunnel. When BFD is + not enabled, with , the + HSC clears all key-value pairs from . +

+ + + Reports the state of the BFD session. The BFD session is fully + healthy and negotiated if UP. + + + + Reports whether the BFD session believes this tunnel + may be used to forward traffic. Typically this means the local session + is signaling UP, and the remote system isn't signaling a + problem such as concatenated path down. + + + + In case of a problem, set to a short message that reports what the + local BFD session thinks is wrong. + + + + Reports the state of the remote endpoint's BFD session. + + + + In case of a problem, set to a short message that reports what the + remote endpoint's BFD session thinks is wrong. + +
+
+
+ A port within a . @@ -741,159 +934,6 @@

- -

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

- -

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

- -

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

- - -

- A controller sets up key-value pairs in the - column to enable and configure BFD. -

- - - True to enable BFD on this . - - - - The shortest interval, in milliseconds, at which this BFD session - offers to receive BFD control messages. The remote endpoint may - choose to send messages at a slower rate. Defaults to - 1000. - - - - The shortest interval, in milliseconds, at which this BFD session is - willing to transmit BFD control messages. Messages will actually be - transmitted at a slower rate if the remote endpoint is not willing to - receive as quickly as specified. Defaults to 100. - - - - An alternate receive interval, in milliseconds, that must be greater - than or equal to . The - implementation switches from to when there is no obvious incoming - data traffic at the interface, to reduce the CPU and bandwidth cost - of monitoring an idle interface. This feature may be disabled by - setting a value of 0. This feature is reset whenever or - changes. - - - - True to consider the interface capable of packet I/O as long as it - continues to receive any packets (not just BFD packets). This - prevents link congestion that causes consecutive BFD control packets - to be lost from marking the interface down. - - - - Set to true to notify the remote endpoint that traffic should not be - forwarded to this system for some reason other than a connectivty - failure on the interface being monitored. The typical underlying - reason is ``concatenated path down,'' that is, that connectivity - beyond the local system is down. Defaults to false. - - - - Set to true to make BFD accept only control messages with a tunnel - key of zero. By default, BFD accepts control messages with any - tunnel key. - - - - Set to an Ethernet address in the form - xx:xx:xx:xx:xx:xx - to set the MAC used as destination for transmitted BFD packets and - expected as destination for received BFD packets. The default is - 00:23:20:00:00:01. - - - - Set to an IPv4 address to set the IP address used as source for - transmitted BFD packets. The default is 169.254.1.0. - - - - Set to an IPv4 address to set the IP address used as destination - for transmitted BFD packets. The default is 169.254.1.1. - -
- - -

- The VTEP sets key-value pairs in the - column to report the status of BFD on this interface. When BFD is - not enabled, with , the switch clears - all key-value pairs from . -

- - - Reports the state of the BFD session. The BFD session is fully - healthy and negotiated if UP. - - - - Reports whether the BFD session believes this may be used to forward traffic. Typically - this means the local session is signaling UP, and the - remote system isn't signaling a problem such as concatenated path - down. - - - - In case of a problem, set to a short message that reports what the - local BFD session thinks is wrong. - - - - Reports the state of the remote endpoint's BFD session. - - - - In case of a problem, set to a short message that reports what the - remote endpoint's BFD session thinks is wrong. - -
-