Files
xen/docs/man/xl-network-configuration.5.pod
T
Andrew Cooper 8410fcb54a docs/man: Fix/simplify generation of manpages
The original intent of this patch was to rename xen-vbd-interface.markdown.7
to xen-vbd-interface.pandoc.7 to remove the final markdown file from the docs/
tree.

The DOC_MANx lists are broken.  They contain MANxSRC-y twice, the first half
with a partial %.pod substituation, and the second half with a partial
%.markdown substitution.  This is also the root cause behind the filtering
activity in the uninstall-man$(i)-pages rule.

Furthermore, the logic for generating the manpage targets is unnecesserily
repetative, owing to the layout of source files in the man/ directory.

Therefore, tackle the problem by renaming all of our manpage source files from
"$FORMAT.$SECTION" to "$SECTION.$FORMAT".  For the two xl.cfg.5 and xl.1 which
are preprocessed by autoconf to contain path information, this requires
updating configure.ac and .gitignore.  The markdown to pandoc conversion is
performed as well, as it is also a straight rename.

An ancillary benefit of this renaming is that text editors stand a chance of
being able to work out the correct mode to use.

As for the makefile:

1) Break the MAN_SECTIONS list out of the GENERATE_MANPAGE_RULES loop, as we
   are going to use it a second time.
2) Do away with the individaul MANxSRC-y variables.  Use a single list,
   derived from all *.pod and *.pandoc files, with their format suffixes
   removed.
3) Use a $(foreach ...) to generate the DOC_MANx lists, filling them with the
   correct content.
4) The DOC_HTML and DOC_TXT can now include all manpages with a single
   substitution, as they don't need to separate the manpages by
   section-numbered-directory.
5) Fix up the filenames in the manpage metarule to match the renaming.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2019-01-02 17:50:36 +00:00

252 lines
6.1 KiB
INI

=encoding utf8
=head1 NAME
xl-network-configuration - XL Network Configuration Syntax
=head1 SYNTAX
This document specifies the xl config file format vif configuration
option. It has the following form:
vif = [ '<vifspec>', '<vifspec>', ... ]
where each vifspec is in this form:
[<key>=<value>|<flag>,]
For example:
'mac=00:16:3E:74:3d:76,model=rtl8139,bridge=xenbr0'
'mac=00:16:3E:74:34:32'
'' # The empty string
These might be specified in the domain config file like this:
vif = [ 'mac=00:16:3E:74:34:32', 'mac=00:16:3e:5f:48:e4,bridge=xenbr1' ]
More formally, the string is a series of comma-separated keyword/value
pairs. All keywords are optional.
Each device has a C<DEVID> which is its index within the vif list, starting from 0.
=head1 Keywords
=head2 mac
If specified then this option specifies the MAC address inside the
guest of this VIF device. The value is a 48-bit number represented as
six groups of two hexadecimal digits, separated by colons (:).
The default if this keyword is not specified is to be automatically
generate a MAC address inside the space assigned to Xen's
L<Organizationally Unique Identifier|http://en.wikipedia.org/wiki/Organizationally_Unique_Identifier> (00:16:3e).
If you are choosing a MAC address then it is strongly recommend to
follow one of the following strategies:
=over
=item *
Generate a random sequence of 6 byte, set the locally administered
bit (bit 2 of the first byte) and clear the multicast bit (bit 1
of the first byte). In other words the first byte should have the
bit pattern xxxxxx10 (where x is a randomly generated bit) and the
remaining 5 bytes are randomly generated See
[http://en.wikipedia.org/wiki/MAC_address] for more details the
structure of a MAC address.
=item *
Allocate an address from within the space defined by your
organization's OUI (if you have one) following your organization's
procedures for doing so.
=item *
Allocate an address from within the space defined by Xen's OUI
(00:16:3e). Taking care not to clash with other users of the
physical network segment where this VIF will reside.
=back
If you have an OUI for your own use then that is the preferred
strategy. Otherwise in general you should prefer to generate a random
MAC and set the locally administered bit since this allows for more
bits of randomness than using the Xen OUI.
=head2 bridge
Specifies the name of the network bridge which this VIF should be
added to. The default is C<xenbr0>. The bridge must be configured using
your distribution's network configuration tools. See the L<wiki|http://wiki.xen.org/wiki/HostConfiguration/Networking>
for guidance and examples.
=head2 gatewaydev
Specifies the name of the network interface which has an IP and which
is in the network the VIF should communicate with. This is used in the host
by the vif-route hotplug script. See L<wiki|http://wiki.xen.org/wiki/Vif-route> for guidance and
examples.
NOTE: netdev is a deprecated alias of this option.
=head2 type
This keyword is valid for HVM guests only.
Specifies the type of device to valid values are:
=over
=item *
C<ioemu> (default) -- this device will be provided as an emulate
device to the guest and also as a paravirtualised device which the
guest may choose to use instead if it has suitable drivers
available.
=item *
C<vif> -- this device will be provided as a paravirtualised device
only.
=back
=head2 model
This keyword is valid for HVM guest devices with C<type=ioemu> only.
Specifies the type device to emulated for this guest. Valid values
are:
=over
=item *
C<rtl8139> (default) -- Realtek RTL8139
=item *
C<e1000> -- Intel E1000
=item *
in principle any device supported by your device model
=back
=head2 vifname
Specifies the backend device name for the virtual device.
If the domain is an HVM domain then the associated emulated (tap)
device will have a "-emu" suffice added.
The default name for the virtual device is C<vifDOMID.DEVID> where
C<DOMID> is the guest domain ID and C<DEVID> is the device
number. Likewise the default tap name is C<vifDOMID.DEVID-emu>.
=head2 script
Specifies the hotplug script to run to configure this device (e.g. to
add it to the relevant bridge). Defaults to
C<XEN_SCRIPT_DIR/vif-bridge> but can be set to any script. Some example
scripts are installed in C<XEN_SCRIPT_DIR>.
=head2 ip
Specifies the IP address for the device, the default is not to
specify an IP address.
What, if any, effect this has depends on the hotplug script which is
configured. A typically behaviour (exhibited by the example hotplug
scripts) if set might be to configure firewall rules to allow only the
specified IP address to be used by the guest (blocking all others).
=head2 backend
Specifies the backend domain which this device should attach to. This
defaults to domain 0. Specifying another domain requires setting up a
driver domain which is outside the scope of this document.
=head2 rate
Specifies the rate at which the outgoing traffic will be limited to.
The default if this keyword is not specified is unlimited.
The rate may be specified as "/s" or optionally "/s@".
=over
=item *
C<RATE> is in bytes and can accept suffixes:
=over
=item *
GB, MB, KB, B for bytes.
=item *
Gb, Mb, Kb, b for bits.
=back
=item *
C<INTERVAL> is in microseconds and can accept suffixes: ms, us, s.
It determines the frequency at which the vif transmission credit
is replenished. The default is 50ms.
=back
Vif rate limiting is credit-based. It means that for "1MB/s@20ms", the
available credit will be equivalent of the traffic you would have done
at "1MB/s" during 20ms. This will results in a credit of 20,000 bytes
replenished every 20,000 us.
For example:
'rate=10Mb/s' -- meaning up to 10 megabits every second
'rate=250KB/s' -- meaning up to 250 kilobytes every second
'rate=1MB/s@20ms' -- meaning 20,000 bytes in every 20 millisecond period
NOTE: The actual underlying limits of rate limiting are dependent
on the underlying netback implementation.
=head2 devid
Specifies the devid manually instead of letting xl choose the lowest index available.
NOTE: This should not be set unless you have a reason to.