A chassis may support multiple encapsulation types, so break them out into their own table.
Signed-off-by: Justin Pettit <jpet...@nicira.com> --- ovn/ovn.ovsschema | 17 +++++++++++------ ovn/ovn.xml | 47 +++++++++++++++++++++++++++++++++-------------- 2 files changed, 44 insertions(+), 20 deletions(-) diff --git a/ovn/ovn.ovsschema b/ovn/ovn.ovsschema index c9f2af4..a0b8856 100644 --- a/ovn/ovn.ovsschema +++ b/ovn/ovn.ovsschema @@ -4,12 +4,9 @@ "Chassis": { "columns": { "name": {"type": "string"}, - "encap": {"type": "string"}, - "encap_options": {"type": {"key": "string", - "value": "string", - "min": 0, - "max": "unlimited"}}, - "ip": {"type": "string"}, + "encaps": {"type": {"key": {"type": "uuid", + "refTable": "Encap"}, + "min": 1, "max": "unlimited"}}, "gateway_ports": {"type": {"key": "string", "value": {"type": "uuid", "refTable": "Gateway", @@ -18,6 +15,14 @@ "max": "unlimited"}}}, "isRoot": true, "indexes": [["name"]]}, + "Encap": { + "columns": { + "type": {"type": "string"}, + "options": {"type": {"key": "string", + "value": "string", + "min": 0, + "max": "unlimited"}}, + "ip": {"type": "string"}}}, "Gateway": { "columns": {"attached_port": {"type": "string"}, "vlan_map": {"type": {"key": {"type": "integer", diff --git a/ovn/ovn.xml b/ovn/ovn.xml index ccc2001..0214992 100644 --- a/ovn/ovn.xml +++ b/ovn/ovn.xml @@ -124,23 +124,16 @@ not prescribe a particular format for chassis names. </column> - <group title="Encapsulation"> + <group title="Encapsulation Configuration"> <p> - These columns together identify how OVN may transmit logical dataplane - packets to this chassis. + OVN uses encapsulation to transmit logical dataplane packets + between chassis. </p> - <column name="encap"> - The encapsulation to use to transmit packets to this chassis. - </column> - - <column name="encap_options"> - Options for configuring the encapsulation, e.g. IPsec parameters when - IPsec support is introduced. No options are currently defined. - </column> - - <column name="ip"> - The IPv4 address of the encapsulation tunnel endpoint. + <column name="encaps"> + Points to supported encapsulation configurations to transmit + logical dataplane packets to this chassis. Each entry is a <ref + table="Encap"/> record that describes the configuration. </column> </group> @@ -160,6 +153,32 @@ </group> </table> + <table name="Encap" title="Encapsulation Types"> + <p> + The <ref column="encaps" table="Chassis"/> column in the <ref + table="Chassis"/> table refers to rows in this table to identify + how OVN may transmit logical dataplane packets to this chassis. + Each chassis, via <code>ovn-controller</code>(8), adds and updates + its own rows and keeps a copy of the remaining rows to determine + how to reach other chassis. + </p> + + <column name="type"> + The encapsulation to use to transmit packets to this chassis. + Examples include <code>geneve</code>, <code>vxlan</code>, and + <code>stt</code>. + </column> + + <column name="options"> + Options for configuring the encapsulation, e.g. IPsec parameters when + IPsec support is introduced. No options are currently defined. + </column> + + <column name="ip"> + The IPv4 address of the encapsulation tunnel endpoint. + </column> + </table> + <table name="Gateway" title="Physical Network Gateway Ports"> <p> The <ref column="gateway_ports" table="Chassis"/> column in the <ref -- 1.7.5.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev