[libvirt] [PATCH V14 5/5] nwfilter: Display detected IP address in domain XML

Eric Blake eblake at redhat.com
Fri Jun 1 19:05:42 UTC 2012


On 05/25/2012 05:56 AM, Stefan Berger wrote:
> Display detected IP addresses in the domain XML using the
> IP_LEASE variable name. This variable name now becomes
> a reserved variable name that can be read only but not set
> by the user.
> 
> The format of the value is: <ip addresss>,<lease timeout in seconds>

s/addresss/address/

> 
> An example of a displayed XML may then be:
> 
>     <interface type='bridge'>
>       <mac address='52:54:00:68:e3:90'/>
>       <source bridge='virbr0'/>
>       <target dev='vnet1'/>
>       <model type='virtio'/>
>       <filterref filter='clean-traffic'>
>         <parameter name='CTRL_IP_LEARNING' value='dhcp'/>
>         <parameter name='IP_LEASE' value='192.168.122.210,100'/>

It's a shame that we are making the user parse the single XML entity to
get two pieces of information.  I wonder if it would be better to have:

<parameter name='IP_LEASE_ADDR' value='192.168.122.210'/>
<parameter name='IP_LEASE_TIMEOUT' value='100'/>

and reserve two variable names rather than one.

I'll review the code as is, but I would get a second opinion from one of
the Dan's on whether we should change the XML to make xpath queries
easier (basically, XML that crams 2 pieces of information into one
attributes is always harder to use).

>  # define NWFILTER_VARNAME_IP "IP"
>  # define NWFILTER_VARNAME_MAC "MAC"
>  # define NWFILTER_VARNAME_CTRL_IP_LEARNING "CTRL_IP_LEARNING"
>  # define NWFILTER_VARNAME_DHCPSERVER "DHCPSERVER"
> +# define NWFILTER_VARNAME_IP_LEASE "IP_LEASE"
> +# define NWFILTER_VARNAME_IPV6_LEASE "IPV6_LEASE" /* future */

This list may need to change based on the above outcome.


> @@ -764,7 +771,6 @@ err_exit:
>      return -1;
>  }
>  
> -
>  static bool

Whitespace churn.

> +++ libvirt-acl/docs/formatnwfilter.html.in
> @@ -446,6 +446,22 @@
>      </interface>
>  </pre>
>  
> +    <p>
> +       Once an IP address has been detected, the domain's interface XML
> +       will display the detected IP address and its lease expiration time
> +       in seconds. Note that the <code>IP_LEASE</code> variable is read-only
> +       and cannot be set by the user.
> +    </p>
> +<pre>
> +    <interface type='bridge'>
> +      <source bridge='virbr0'/>
> +      <filterref filter='clean-traffic'>
> +        <parameter name='CTRL_IP_LEARNING' value='dhcp'/>
> +        <parameter name='IP_LEASE' value='192.168.122.100,200'/>
> +      </filterref>
> +    </interface>

Also, if you split into two parameters (addr vs. lease expiration), then
you can omit the expiration instead of doing an output of -1 for the
cases where an expiration is not known.

> +</pre>
> +
>      <h3><a name="nwfelemsReservedVars">Reserved Variables</a></h3>
>      <p>
>        The following table lists reserved variables in use by libvirt.
> @@ -481,6 +497,17 @@
>           <td> CTRL_IP_LEARNING </td>
>           <td> The choice of the IP address detection mode </td>
>         </tr>
> +       <tr>
> +         <td> IP_LEASE </td>
> +         <td> Read-only variable displaying the detected IP lease in the
> +              format IP address,lease expiration time in seconds </td>

Missing a "since 0.9.13" designation.

Weak ack to the code, modulo the missing 'since' tag; but like I said
earlier, I'm leaning towards a v15 that splits things into two variables.

-- 
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/20120601/eb90430f/attachment-0001.sig>


More information about the libvir-list mailing list