libvirt/docs
Stefan Berger a8f75d2c7d vepa: parsing for 802.1Qb{g|h} XML
This patch parses the following two XML descriptions, one for
802.1Qbg and one for 802.1Qbh, and stores 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.

Several rounds of changes were made to this patch. The
following is a list of these changes.
- Renamed structure virVirtualPortProfileDef to virVirtualPortProfileParams
  as per Daniel Berrange's request
- Addressing Daniel Berrange's comments:
 - removing macvtap.h's dependency on domain_conf.h by
   moving the virVirtualPortProfileDef structure into macvtap.h
   and not passing virtDomainNetDefPtr to any functions in
   macvtap.c
- 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
- make sure that the error code returned by openMacvtapTap() is a negative n
  in case the associatePortProfileId() function failed.
- renaming vsi in the XML to virtualport
- replace all occurrences of vsi in the source as well
- removing mode and MAC address parameters from the functions that
  will communicate with the hareware diretctly or indirectly
- 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.
- if instance ID UUID is not supplied it will automatically be generated
  - adapted schema to make instance ID UUID optional
  - added test case
- 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)
2010-05-25 17:37:00 -04:00
..
api_extension maint: don't mark VIR_DEBUG or VIR_DEBUG0 diagnostics for translation 2010-05-20 21:36:26 +02:00
devhelp Fix rebuilding of devhelp files 2009-10-06 11:12:53 +01:00
html Remove all generated docs from source control 2009-09-21 14:41:47 +01:00
schemas vepa: parsing for 802.1Qb{g|h} XML 2010-05-25 17:37:00 -04:00
.gitignore Remove some auto-generated files 2009-10-09 13:01:22 +01:00
32favicon.png * docs/site.xsl docs/*.png docs/*.html: update the images from Diana, 2006-01-23 22:55:41 +00:00
api_extension.html.in Minor fixes for API extension doc 2010-01-15 10:45:18 -07:00
api.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
apibuild.py Fix export of virConnectAuthPtrDefault for MinGW builds 2010-03-23 02:07:38 +01:00
apps.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
archdomain.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
architecture.fig * docs/architecture.* docs/*: added a section on the architecture 2005-12-21 16:59:34 +00:00
architecture.gif * docs/architecture.* docs/*: added a section on the architecture 2005-12-21 16:59:34 +00:00
architecture.html.in docs: add 3 missing spaces 2010-02-21 14:56:23 +01:00
archnetwork.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
archnode.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
archstorage.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
auth.html.in docs: add 3 missing spaces 2010-02-21 14:56:23 +01:00
bindings.html.in Update location of C# bindings. 2009-12-09 12:51:35 +00:00
bugs.html.in Replace old CVS references with GIT 2010-01-08 18:08:22 +01:00
ChangeLog.awk Remove all trailing blanks; turn on the rule to detect them. 2008-02-05 19:27:37 +00:00
ChangeLog.xsl Change generated HTML to UTF-8 encoding 2009-12-08 16:09:33 +01:00
contact.html.in website: Add archive link for libvirt-users list 2010-03-31 18:11:06 +02:00
deployment.html.in Replace old CVS references with GIT 2010-01-08 18:08:22 +01:00
docs.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
downloads.html.in cleanup the download section of the documentation 2010-04-27 14:20:51 +02:00
drivers.html.in esx: Add documentation to the website 2009-11-15 15:21:13 +01:00
drvesx.html.in esx: Add support for the VMXNET 2 (Enhanced) NIC model 2010-04-20 20:58:24 +02:00
drvlxc.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvone.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvopenvz.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvqemu.html.in Fix typo in QEMU driver webpage 2009-11-30 15:21:21 +00:00
drvremote.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
drvtest.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvuml.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvvbox.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvxen.html.in docs: Emphasize that devices have to be inside the <devices> element 2010-02-04 19:09:28 +01:00
errors.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
et.png * docs/Makefile.am docs/et.png docs/libvirt.css docs/page.xsl 2008-04-28 08:29:35 +00:00
FAQ.html.in Replace old CVS references with GIT 2010-01-08 18:08:22 +01:00
footer_corner.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
footer_pattern.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
format.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
formatcaps.html.in Document <cpu> elements in capabilities and domain XML 2010-01-20 11:04:01 +01:00
formatdomain.html.in Avoid using multicast addresses for Ethernet MAC examples 2010-04-09 14:38:12 +02:00
formatnetwork.html.in docs: network: Document <domain> element 2010-02-23 09:44:40 -05:00
formatnode.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
formatnwfilter.html.in nwfilter: documentation 2010-05-25 07:09:31 -04:00
formatsecret.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
formatsnapshot.html.in Website documentation for the snapshot XML. 2010-04-06 09:44:03 -04:00
formatstorage.html.in docs: storage: Document SCSI pools 2010-02-23 09:44:38 -05:00
formatstorageencryption.html.in Add volume encryption information handling. 2009-09-01 18:27:28 +01:00
generic.css Fix missing background color 2009-12-03 15:27:24 +01:00
goals.html.in Fix a typo in docs 2010-05-07 19:52:35 +02:00
hacking.html.in docs: hacking: explain why using curly braces well is important 2010-05-04 15:41:21 +02:00
hooks.html.in Add documentation for synchronous hooks 2010-04-12 18:03:35 +02:00
hvsupport.html.in esx: Add documentation to the website 2009-11-15 15:21:13 +01:00
index.html.in esx: Add documentation to the website 2009-11-15 15:21:13 +01:00
index.py Change libvirtd description from qemu only to various VM(i.e. Xen, LXC) 2008-05-15 06:12:32 +00:00
internals.html.in Added docs on extending public API (Dave Allen) 2009-06-09 11:42:41 +00:00
intro.html.in * docs/*: start cleanup/revamp of architecture docs 2009-04-02 12:01:11 +00:00
java.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
library.xen remove all trailing blank lines 2009-07-16 15:06:42 +02:00
libvirt-daemon-arch.fig Api documentation 2009-04-15 20:42:50 +00:00
libvirt-daemon-arch.png Api documentation 2009-04-15 20:42:50 +00:00
libvirt-driver-arch.fig Api documentation 2009-04-15 20:42:50 +00:00
libvirt-driver-arch.png Api documentation 2009-04-15 20:42:50 +00:00
libvirt-header-bg.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-header-logo.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-net-logical.fig Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-net-logical.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-net-physical.fig Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-net-physical.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-object-model.fig Api documentation 2009-04-15 20:42:50 +00:00
libvirt-object-model.png Api documentation 2009-04-15 20:42:50 +00:00
libvirt.css website: Add a 1em right margin 2010-02-04 19:09:28 +01:00
libvirtLogo.png * //* : renamed the project libvirt , this affects all makefiles, 2006-02-09 17:45:11 +00:00
logging.html.in docs: add 3 missing spaces 2010-02-21 14:56:23 +01:00
madeWith.png * //* : renamed the project libvirt , this affects all makefiles, 2006-02-09 17:45:11 +00:00
main.css Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
Makefile.am docs/Makefile.am: remove unnecessary subshells 2010-05-10 14:59:25 -06:00
newapi.xsl Change generated HTML to UTF-8 encoding 2009-12-08 16:09:33 +01:00
news.html.in Release of libvirt-0.8.1 2010-04-30 18:55:08 +02:00
news.xsl Convert NEWS to UTF-8 2009-07-29 09:04:21 +01:00
node.fig * doc/*: augment and try to complete the doc in its current state 2006-01-23 13:24:07 +00:00
node.gif * doc/*: augment and try to complete the doc in its current state 2006-01-23 13:24:07 +00:00
page.xsl Api documentation 2009-04-15 20:42:50 +00:00
python.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
relatedlinks.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
remote.html.in docs: Remove outdated information about remote limitations 2010-01-20 10:03:17 +01:00
search.php fix the search 2008-04-24 09:44:00 +00:00
site.xsl Change generated HTML to UTF-8 encoding 2009-12-08 16:09:33 +01:00
sitemap.html.in nwfilter: documentation 2010-05-25 07:09:31 -04:00
storage.html.in docs: Fix syntax warnings from recent changes. 2010-02-23 10:25:17 -05:00
structures.fig * Makefile.am README TODO autogen.sh configure.in libvir.pc.in 2005-12-05 11:16:07 +00:00
uri.html.in Allow remote://hostname/ style URIs for automatic driver probe. Fix virGetVersion impl 2008-11-28 12:03:20 +00:00
windows.html.in Documentation cleanups. 2008-09-18 09:00:10 +00:00