[ovs-dev] [PATCH V9 3/3] ovn-controller-vtep: Update related documentation.
Justin Pettit
jpettit at nicira.com
Sun Sep 13 19:15:34 UTC 2015
Go through ovn-sb to see what is also set by ovn-controller-vtep. For example, the "chassis" column in the Port_Binding record.
> On Aug 27, 2015, at 11:21 PM, Alex Wang <ee07b291 at gmail.com> wrote:
>
>
> +** Update learned MAC addresses from VTEP to OVN
> +
> + The VTEP gateway stores all MAC addresses learned from its
> + physical interfaces in the 'Ucast_Macs_Local' and the
> + 'Mcast_Macs_Local' tables. ovn-controller-vtep should be
> + able to update those information back to ovn-sb database,
s/those/that/
> + so that other chassis knows where to send packets destined
s/knows/know/
> diff --git a/ovn/ovn-architecture.7.xml b/ovn/ovn-architecture.7.xml
> index c9ac597..ef13b56 100644
> --- a/ovn/ovn-architecture.7.xml
> +++ b/ovn/ovn-architecture.7.xml
> @@ -806,6 +806,93 @@
>
> + <li>
> + The administrator can then create new <code>Logical_Switch</code>
s/new/a new/
> + table entry, and bind particular vlan on VTEP gateway's port to
s/bind particular/binds a particular/
s/VTEP/a VTEP/
> + table entry, and bind particular vlan on VTEP gateway's port to
> + any VTEP logical switch. Once a VTEP logical switch is bound to
> + a VTEP gateway, the <code>ovn-controller-vtep</code> will detect
> + it and add its name to the <var>vtep_logical_switches</var>
I mention it again later, but there's some inconsistency between underscores and hyphens in these key names. I think it would be better to just go with hyphens.
> + Now, the administrator can use the CMS to add VTEP logical switch
s/VTEP/a VTEP/
> + The newly created logical port in the <code>OVN_Northbound</code>
> + database and its configuration will be passed down to the <code>
> + OVN_Southbound</code> database as a new <code>Port_Binding</code>
> + table entry. The <code>ovn-controller-vtep</code> will recognize the
> + change and bind the logical port to the corresponding VTEP gateway
> + chassis. Configuration of binding same VTEP logical switch to
s/same/the same/
> + different OVN logical networks is not allowed and warning will be
s/different/a different/
s/warning/a warning/
> + Next, the <code>ovn-controller-vtep</code> will keep reacting to the
> + <code>Port_Binding</code> table and the <code>Multicast_Group</code>
> + table configuration change in the <code>OVN_Northbound</code> database,
> + and updating the <code>Ucast_Macs_Remote</code> table and the <code>
> + Mcast_Macs_Remote</code> table in the <code>VTEP</code> database,
The code doesn't actually do all of this, right? I think that might be confusing to users--even if it's documented in the TODO list.
> + respectively. This allows the VTEP gateway understand where to
s/understand/to understand/
> + forward the traffic coming from the extended external network.
> + </li>
> +
> + <li>
> + Eventually, the VTEP gateway's life cycle ends when the administrator
> + unregisters the VTEP gateway from the <code>VTEP</code> database.
> + The <code>ovn-controller-vtep</code> will recognized the event and
> + remove all related configurations in the <code>OVN_Southbound</code>
> + database.
> + </li>
Is it worth mentioning the cleanup that occurs when a VTEP is removed from ovn-nb?
> diff --git a/ovn/ovn-nb.xml b/ovn/ovn-nb.xml
> index ade8164..5bb9265 100644
> --- a/ovn/ovn-nb.xml
> +++ b/ovn/ovn-nb.xml
> @@ -111,18 +111,37 @@
> <column name="type">
> <p>
> Specify a type for this logical port. Logical ports can be used to model
> - other types of connectivity into an OVN logical switch. Leaving this column
> - blank maintains the default logical port behavior.
> + other types of connectivity into an OVN logical switch. Leaving this
> + column blank maintains the default logical port behavior, which is
> + for a VM (or VIF) interface. Besides, the following types are
> + defined:
I think it might be clearer to write this sentence as "The following other types are defined:"
> </p>
>
> - <p>
> - There are no other logical port types implemented yet.
> - </p>
> + <dl>
> + <dt><code>vtep</code></dt>
> + <dd>A port to a logical switch on a VTEP gateway. In order
> + to get this port correctly recognized by the ovn controller, the
In the documentation, we've been using all caps for "OVN".
> + <ref column="options" table="Logical_Port"/>:vtep_physical_switch
> + and <ref column="options" table="Logical_Port"/>:vtep_logical_switch
> + must also be defined.</dd>
> + </dl>
Since you've written this, "localnet" has been added, so that will need to be reworked into a bullet point.
> <column name="options">
> + <p>
> This column provides key/value settings specific to the logical port
> - <ref column="type"/>.
> + <ref column="type"/>. The following options are defined:
> + </p>
> +
> + <dl>
> + <dt><code>vtep_physical_switch</code></dt>
> + <dd>The name of the VTEP gateway.</dd>
I think it would be helpful to indicate if this is only meaningful if the "type" is "vtep".
> + <dt><code>vtep_logical_switch</code></dt>
> + <dd>A logical switch name connected by the VTEP gateway.</dd>
Ditto.
> --- a/ovn/ovn-sb.xml
> +++ b/ovn/ovn-sb.xml
> @@ -172,7 +172,13 @@
>
> <column name="vtep_logical_switches">
> Stores all vtep logical switch names connected by this gateway
> - chassis.
> + chassis. The <ref table="Port_Binding"/> table entry with
> + <ref column="options" table="Port_Binding"/>:vtep_physical_switch
> + equal <ref table="Chassis"/> <ref column="name" table="Chassis"/>,
> + and <ref column="options" table="Port_Binding"/>:vtep_logical_switch
> + value in <ref table="Chassis"/>
> + <ref column="vtep_logical_switches" table="Chassis"/>, will be
> + associated with this <ref table="Chassis"/>.
These (and other places in the documentation) are using underscores, but the code and error messages in the code use hyphens. I'd just go with hyphens to be more consistent.
> @@ -894,18 +900,39 @@
> <column name="type">
> <p>
> A type for this logical port. Logical ports can be used to model
> - other types of connectivity into an OVN logical switch. Leaving this column
> - blank maintains the default logical port behavior.
> + other types of connectivity into an OVN logical switch. Leaving this
> + column blank maintains the default logical port behavior, which
> + is for a VM (or VIF) interface. Besides, the following types are
> + defined:
I think it might be clearer to write this sentence as "The following other types are defined:"
>
> + <dt><code>vtep</code></dt>
> + <dd>A port to a logical switch on a VTEP gateway chassis. In order
> + to get this port correctly recognized by the ovn controller, the
> + <ref column="options" table="Port_Binding"/>:vtep_physical_switch
> + and <ref column="options" table="Port_Binding"/>:vtep_logical_switch
> + must also be defined.</dd>
> + </dl>
> </column>
I think "localnet" support has been added now, so that will need to be updated to the bullet-point form that you have above.
> <column name="options">
> + <p>
> This column provides key/value settings specific to the logical port
> - <ref column="type"/>.
> + <ref column="type"/>. The following options are defined:
Same issue here about "localnet" being added.
> + </p>
> +
> + <dl>
> + <dt><code>vtep_physical_switch</code></dt>
> + <dd>The <ref column="name" table="Chassis"/> of the VTEP gateway
> + chassis.</dd>
I think it would be helpful to indicate if this is only meaningful if the "type" is "vtep".
> + <dt><code>vtep_logical_switch</code></dt>
> + <dd>A logical switch name in VTEP gateway chassis's
> + <ref column="vtep_logical_switches" table="Chassis"/>.</dd>
Ditto.
--Justin
More information about the dev
mailing list