On Thu, Oct 21, 2010 at 03:14:25PM -0600, Eric Blake wrote:
On 10/21/2010 12:21 PM, Daniel P. Berrange wrote:
>Instead of storing the IP address string in virNetwork related
>structs, store the parsed virSocketAddr. This will make it
>easier to add IPv6 support in the future, by letting driver
>code directly check what address family is present
>
>* src/conf/network_conf.c, src/conf/network_conf.h,
> src/network/bridge_driver.c: Convert to use virSocketAddr
> in virNetwork, instead of char *.
>* src/util/bridge.c, src/util/bridge.h,
> src/util/dnsmasq.c, src/util/dnsmasq.h,
> src/util/iptables.c, src/util/iptables.h: Convert to
> take a virSocketAddr instead of char * for any IP
> address parameters
>* src/util/network.h: Add macros to determine if an address
> is set, and what address family is set.
>---
> src/conf/network_conf.c | 121 +++++++++++++----------
> src/conf/network_conf.h | 16 ++--
> src/network/bridge_driver.c | 162 +++++++++++++++++-------------
> src/util/bridge.c | 14 +--
> src/util/bridge.h | 5 +-
> src/util/dnsmasq.c | 17 ++-
> src/util/dnsmasq.h | 4 +-
> src/util/iptables.c | 230
> +++++++++++++++++++++++++++----------------
> src/util/iptables.h | 18 ++--
> src/util/network.h | 6 +
> 10 files changed, 353 insertions(+), 240 deletions(-)
Big change, but mostly good.
>@@ -1112,12 +1134,10 @@ static int
>networkCheckRouteCollision(virNetworkObjPtr network)
> addr_val&= mask_val;
>
> if ((net_dest == addr_val)&&
>- (innetmask.data.inet4.sin_addr.s_addr == mask_val)) {
>+ (network->def->netmask.data.inet4.sin_addr.s_addr ==
>mask_val)) {
> networkReportError(VIR_ERR_INTERNAL_ERROR,
>- _("Network %s/%s is already in use by "
>- "interface %s"),
>- network->def->ipAddress,
>- network->def->netmask, iface);
>+ _("Network is already in use by interface
>%s"),
>+ iface);
This one loses some information in the error message; is that okay?
It wasn't ideal, but I didn't fancy doing a string conversion
just to add the address in here.
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://deltacloud.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|