[libvirt] [PATCH v8] vepa: parsing for 802.1Qb{g|h} XML
Scott Feldman
scofeldm at cisco.com
Sun May 23 18:32:40 UTC 2010
On 5/23/10 9:51 AM, "Stefan Berger" <stefanb at linux.vnet.ibm.com> wrote:
> Below is David Alan's original patch with lots of changes.
>
> In particular, it now parses the following two XML descriptions, one
> for 802.1Qbg and 802.1Qbh and stored the data internally. The actual
> triggering of the switch setup protocol has not been implemented
> here but the relevant code to do that should go into the functions
> associatePortProfileId() and disassociatePortProfileId().
>
> <interface type='direct'>
> <source dev='eth0.100' mode='vepa'/>
> <model type='virtio'/>
> <virtualport type='802.1Qbg'>
> <parameters managerid='12' typeid='0x123456' typeidversion='1'
> instanceid='fa9b7fff-b0a0-4893-8e0e-beef4ff18f8f'/>
> </virtualport>
> <filterref filter='clean-traffic'/>
> </interface>
>
> <interface type='direct'>
> <source dev='eth0.100' mode='vepa'/>
> <model type='virtio'/>
> <virtualport type='802.1Qbh'>
> <parameters profileid='my_profile'/>
> </virtualport>
> </interface>
>
> I'd suggest to use this patch as a base for triggering the setup
> protocol with the 802.1Qb{g|h} switch.
>
> Changes from V7 to V8:
> - Addressed most of Chris Wright's comments:
> - indicating error in case virtualport XML node cannot be parsed
> properly
> - parsing hex and decimal numbers using virStrToLong_ui() with
> parameter '0' for base
> - tgifname (target interface name) variable wasn't necessary
> to pass to openMacvtapTap function anymore
> - assigning the virtual port data structure to the virDomainNetDef
> only if it was previously parsed
>
> -> still leaving possibility to start a domain with macvtap but no profile
>
> Changes from V6 to V7:
> - make sure that the error code returned by openMacvtapTap() is a negative
> number
> in case the associatePortProfileId() function failed.
>
> Changes from V5 to V6:
> - renaming vsi in the XML to virtualport
> - replace all occurrences of vsi in the source as well
>
> Changes from V4 to V5:
> - removing mode and MAC address parameters from the functions that
> will communicate with the hareware diretctly or indirectly
>
> Changes from V3 to V4:
> - moving the associate and disassociate functions to the end of the
> file for subsequent patches to easier make them generally available
> for export
> - passing the macvtap interface name rather than the link device since
> this otherwise gives funny side effects when using netlink messages
> where IFLA_IFNAME and IFLA_ADDRESS are specified and the link dev
> all of a sudden gets the MAC address of the macvtap interface.
> - Removing rc = -1 error indications in the case of 802.1Qbg|h setup in case
> we wanted to use hook scripts for the setup and so the setup doesn't fail
> here.
>
> Changes from V2 to V3:
> - if instance ID UUID is not supplied it will automatically be generated
> - adapted schema to make instance ID UUID optional
> - added test case
>
> Some of the changes from V1 to V2:
> - parser and XML generator have been separated into their own
> functions so they can be re-used elsewhere (passthrough case
> for example)
> - Adapted XML parser and generator support the above shown type
> (802.1Qbg, 802.1Qbh).
> - Adapted schema to above XML
> - Adapted test XML to above XML
> - Passing through the VM's UUID which seems to be necessary for
> 802.1Qbh -- sorry no host UUID
> - adding virtual function ID to association function, in case it's
> necessary to use (for SR-IOV)
>
> Signed-off-by: Stefan Berger <stefanb at us.ibm.com>
ACK, works with my 802.1Qbh patch which depends on this patch.
-scott
More information about the libvir-list
mailing list