[libvirt] [PATCH 6/6] Add documentation new ways to access members of variables
Eric Blake
eblake at redhat.com
Tue Jan 10 18:04:18 UTC 2012
On 12/09/2011 08:07 AM, Stefan Berger wrote:
> This patch adds documentation about the new 'ways' that users can
> access the contents of variables in filters:
>
> - access via index: $TEST[2]
> - access via iterators $TEST[@1]
>
> ---
> docs/formatnwfilter.html.in | 32 +++++++++++++++++++++++++++++++-
> 1 file changed, 31 insertions(+), 1 deletion(-)
>
> Index: libvirt-iterator/docs/formatnwfilter.html.in
> ===================================================================
> --- libvirt-iterator.orig/docs/formatnwfilter.html.in
> +++ libvirt-iterator/docs/formatnwfilter.html.in
> @@ -308,7 +308,37 @@
> </rule>
> ...
> </pre>
> -
> + <p>
> + <span class="since">Since 0.9.9</span> it is possible to access
We missed the release; s/0.9.9/0.9.10/
> + individual elements of a variable holding a list of elements.
> + A filtering rule like the following accesses the 2nd element
> + of the variable DSTPORTS.
> + </p>
> +<pre>
> + ...
> + <rule action='accept' direction='in' priority='500'>
> + <udp dstportstart='$DSTPORTS[1]'/>
> + </rule>
> + ...
> +</pre>
> + <p>
> + <span class="since">Since 0.9.9</span> it is possible to create
Likewise.
> + filtering rules that instantiate all combinations of rules from
> + different lists using the notation of
> + <code>$VARIABLE[@<iterator ID>]</code>.
> + The following rule allows a virtual machine to
> + receive traffic on a set of ports, which are specified in DSTPORTS,
> + from the set of source IP address specified in SRCIPADDRESSES.
> + The rule generates all combinations of elements of the variable
> + DSTPORT with those of SRCIPADDRESSES.
I would also mention:
$VARIABLE is short-hand for $VARIABLE[@0]. When combining variables,
each variable that uses the same iterator ID will be directly combined;
it is the use of different iterator IDs that causes all combinations to
be generated.
And maybe even mention an example:
If variable A is the list [1, 2], and variable B is the list [3, 4],
then combining $A[@0] and $B[@0] produces the list [1/3, 2/4], while
combining $A[@0] and $B[@1] produces the list [1/3, 1/4, 2/3, 2/4].
Overall, I like what is in this series, but I think I had enough minor
findings that it would be worth posting a v2 before pushing anything.
--
Eric Blake eblake at redhat.com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120110/9a5f1138/attachment-0001.sig>
More information about the libvir-list
mailing list