libvirt/docs
Paolo Bonzini 738ee810b4 network: add 'bootp' and 'tftp' config
Currently, libvirtd will start a dnsmasq process for the virtual
network, but (aside from killing the dnsmasq process and replacing it),
there's no way to define tftp boot options.

This change introduces the appropriate tags to the dhcp configuration:

 <network>
   <name>default</name>
   <bridge name="virbr%d" />
   <forward/>
   <ip address="192.168.122.1" netmask="255.255.255.0">
     <tftp root="/var/lib/tftproot" />
     <dhcp>
       <range start="192.168.122.2" end="192.168.122.254" />
       <bootp file="pxeboot.img"/>
     </dhcp>
   </ip>
 </network>

When the attributes are present, these are passed to the
arguments to dnsmasq:

 dnsmasq [...] --enable-tftp --tftp-root /srv/tftp --dhcp-boot pxeboot.img
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^
                      from <tftp />                     from <bootp />

At present, only local tftp servers are supported (ie, dnsmasq runs as
the tftp server), but we could improve this in future by adding a
server= attribute.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

2009-09-21  Paolo Bonzini  <pbonzini@redhat.com>
            Jeremy Kerr  <jk@ozlabs.org>

	* docs/formatnetwork.html.in: Document new tags.
	* docs/formatnetwork.html: Regenerate.
	* docs/schemas/network.rng: Update.
	* src/network_conf.c (virNetworkDefFree): Free new fields.
	(virNetworkDHCPRangeDefParseXML): Parse <bootp>.
	(virNetworkIPParseXML): New, parsing <dhcp> and <tftp>.
	(virNetworkDefParseXML): Use virNetworkIPParseXML instead of
	virNetworkDHCPRangeDefParseXML.
	(virNetworkDefFormat): Pretty print new fields.
	* src/network_conf.h (struct _virNetworkDef): Add netboot fields.
	* src/network_driver.c (networkBuildDnsmasqArgv): Add
	TFTP and BOOTP arguments.

	* tests/Makefile.am (EXTRA_DIST): Add networkschemadata.
	* tests/networkschematest: Look in networkschemadata.
	* tests/networkschemadata/netboot-network.xml: New.
2009-09-23 09:47:10 +02:00
..
api_extension remove all trailing blank lines 2009-07-16 15:06:42 +02:00
devhelp Remove all generated docs from source control 2009-09-21 14:41:47 +01:00
html Remove all generated docs from source control 2009-09-21 14:41:47 +01:00
schemas network: add 'bootp' and 'tftp' config 2009-09-23 09:47:10 +02:00
.gitignore Remove all generated docs from source control 2009-09-21 14:41:47 +01:00
32favicon.png
api_extension.html.in Added docs on extending public API (Dave Allen) 2009-06-09 11:42:41 +00:00
api.html.in Api documentation 2009-04-15 20:42:50 +00:00
apibuild.py Move all shared utility files to src/util/ 2009-09-21 14:41:47 +01:00
apps.html.in Remove 'the the' typo in docs 2009-08-14 12:01:27 +01:00
archdomain.html.in
architecture.fig
architecture.gif
architecture.html.in
archnetwork.html.in
archnode.html.in
archstorage.html.in
auth.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
bindings.html.in
bugs.html.in Update the links for RHEL libvirt bugzillas 2009-07-15 11:46:52 +02:00
ChangeLog.awk
ChangeLog.xsl
contact.html.in
deployment.html.in
docs.html.in
downloads.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
drivers.html.in OpenNebula driver documentation 2009-07-01 14:27:24 +00:00
drvlxc.html.in Small doc fixes 2009-04-17 15:34:53 +00:00
drvone.html.in small OpenNebula driver doc update 2009-07-01 21:24:47 +00:00
drvopenvz.html.in Added link to libvirt-qpid on front page, and docs on URI formats for each driver 2009-01-27 14:49:09 +00:00
drvqemu.html.in Fix some typos & remove unhelpful acronyms in QEMU docs 2009-08-19 17:02:45 +01:00
drvremote.html.in
drvtest.html.in Added link to libvirt-qpid on front page, and docs on URI formats for each driver 2009-01-27 14:49:09 +00:00
drvuml.html.in Added link to libvirt-qpid on front page, and docs on URI formats for each driver 2009-01-27 14:49:09 +00:00
drvvbox.html.in * docs/drvvbox.html[.in]: tiny fixes to VirtualBox docs 2009-04-21 13:39:40 +00:00
drvxen.html.in Add docs on domain XML conversion usage for QEMU/Xen drivers 2009-05-21 14:20:21 +00:00
errors.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
et.png
FAQ.html.in
footer_corner.png
footer_pattern.png
format.html.in
formatcaps.html.in
formatdomain.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
formatnetwork.html.in network: add 'bootp' and 'tftp' config 2009-09-23 09:47:10 +02:00
formatnode.html.in
formatsecret.html.in Add <usage> to <secret> docs 2009-09-10 15:30:47 +01:00
formatstorage.html.in Attach encryption information to virStorageVolDef. 2009-09-01 18:27:38 +01:00
formatstorageencryption.html.in Add volume encryption information handling. 2009-09-01 18:27:28 +01:00
generic.css
goals.html.in * docs/*: start cleanup/revamp of architecture docs 2009-04-02 12:01:11 +00:00
hacking.html.in Add HACKING doc to the website 2009-06-29 11:09:17 +00:00
hvsupport.html.in OpenNebula driver documentation 2009-07-01 14:27:24 +00:00
index.html.in release of 0.6.3 2009-04-24 14:04:54 +00:00
index.py
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-api.xml Release of libvirt 0.7.1 2009-09-15 14:24:51 +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
libvirt-header-logo.png
libvirt-net-logical.fig
libvirt-net-logical.png
libvirt-net-physical.fig
libvirt-net-physical.png
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-refs.xml Release of libvirt 0.7.1 2009-09-15 14:24:51 +02:00
libvirt.css
libvirtLogo.png
logging.html.in Update logging documentation 2009-08-06 15:58:38 +02:00
madeWith.png
main.css
Makefile.am Move example XML files into examples/xml 2009-09-21 14:41:48 +01:00
newapi.xsl
news.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
news.xsl Convert NEWS to UTF-8 2009-07-29 09:04:21 +01:00
node.fig
node.gif
page.xsl Api documentation 2009-04-15 20:42:50 +00:00
python.html.in
relatedlinks.html.in fix the QEmu links 2009-01-12 21:09:09 +00:00
remote.html.in Make pki_check.sh into an installed & supported tool 2009-09-21 14:41:46 +01:00
search.php
site.xsl
sitemap.html.in Add volume encryption information handling. 2009-09-01 18:27:28 +01:00
storage.html.in
structures.fig
uri.html.in
windows.html.in