On 5/23/10 9:51 AM, "Stefan Berger" <stef...@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 <stef...@us.ibm.com> ACK, works with my 802.1Qbh patch which depends on this patch. -scott -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list