On Thu, Feb 19, 2015 at 4:28 PM, Laine Stump <laine(a)laine.org> wrote:
On 02/17/2015 09:42 PM, Antoni Segura Puimedon wrote:
> Midonet is an opensource virtual networking that over lays the IP
> network between hypervisors. Currently, such networks can be made
> with the openvswitch virtualport type.
>
> This patch, defines the schema and documentation that will serve
> as basis for the follow up patches that will add support to libvirt
> for using Midonet virtual ports for its interfaces.
>
> Signed-off-by: Antoni Segura Puimedon <toni+libvirt(a)midokura.com>
> ---
> docs/formatdomain.html.in | 34 ++++++++++++++++++++++++++++++++++
> docs/schemas/networkcommon.rng | 12 ++++++++++++
> 2 files changed, 46 insertions(+)
This patch should also have the parser/formatter changes (which implies
that it needs to be patch 2, with your current patch 2 placed first in
the series - the parser/formatter needs the changes to the enum). It
should also contain at least one new test case for qemuxml2xmltest
(entry added to tests/qemuxml2xmltest.c, and data files added to
tests/qemuxml2argvdata + tests/qemuxml2xmloutdata).
Agreed :-)
>
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index f6477c2..1c2bb45 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -3652,6 +3652,40 @@
> </devices>
> ...</pre>
>
> + <p>
> + On hosts that support Open vSwitch on the kernel side and that
have the
> + Midonet Host Agent configured,
Oh, so midonet is something on top of OVS? Or a variation on it? Before
we commit to this new type I want to make sure that it isn't better
handled by keeping it as type='openvswitch' with some other modifier
(probably not, but just want to be certain it's considered).
It just needs kernel support for OVS as it uses it's kernel module. That's
the
only thing it uses from OVS, as all the userspace is completely different.
Thus
it must really be a separate type, since it can't be operated in any
similar way.
Thanks for the review!
> it is also possible to connect to the
> + 'midonet' bridge device by adding a
> + <code><virtualport type='midonet'/></code>
to the
> + interface definition. (<span class="since">Since
> + 1.2.13</span>). The Midonet virtualport type requires an
> + <code>interfaceid</code> attribute to its
> + <code><parameters></code> element. This interface
id is the
UUID
> + that specifies which port in the virtual network topology will be
bound
> + to the interface.
> + </p>
> +<pre>
> + ...
> + <devices>
> + ...
> + <interface type='bridge'>
> + <source bridge='br0'/>
> + </interface>
> + <interface type='bridge'>
> + <source bridge='br1'/>
> + <target dev='vnet7'/>
> + <mac address="00:11:22:33:44:55"/>
> + </interface>
> + <interface type='bridge'>
> + <source bridge='midonet'/>
> + <virtualport type='midonet'>
> + <parameters
interfaceid='0b2d64da-3d0e-431e-afdd-804415d6ebbb'/>
> + </virtualport>
> + </interface>
> + ...
> + </devices>
> + ...</pre>
> +
> <h5><a name="elementsNICSSlirp">Userspace SLIRP
stack</a></h5>
>
> <p>
> diff --git a/docs/schemas/networkcommon.rng
b/docs/schemas/networkcommon.rng
> index 162ea3d..cc8b1dc 100644
> --- a/docs/schemas/networkcommon.rng
> +++ b/docs/schemas/networkcommon.rng
> @@ -79,6 +79,18 @@
> </element>
> </group>
> <group>
> + <element name="virtualport">
> + <attribute name="type">
> + <value>midonet</value>
> + </attribute>
> + <element name="parameters">
> + <attribute name="interfaceid">
> + <ref name="UUID"/>
> + </attribute>
> + </element>
> + </element>
> + </group>
> + <group>
> <!-- use this when no type attribute is present -->
> <element name="virtualport">
> <optional>