On Tue, Mar 30, 2010 at 10:50:20AM -0400, Stefan Berger wrote: > This patch changes the network filtering code to use libvirt's existing > IPv4 and IPv6 address parsers/printers rather than my self-written ones. > > I am introducing a new function in network.c that counts the number of > bits in a netmask and ensures that the given address is indeed a > netmask, return -1 on error or values of 0-32 for IPv4 addresses and > 0-128 for IPv6 addresses. I then based the function checking for valid > netmask on invoking this function. Okay, I don't know why virSocketAddrIsNetmask() code didn't work for you, I'm sure I had tested it even on weird examples, but the replacement looks fine to me. > Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx> > > --- > src/conf/nwfilter_conf.c | 181 ++---------------------------- > src/conf/nwfilter_conf.h | 8 - > src/nwfilter/nwfilter_ebiptables_driver.c | 46 ++++--- > src/util/network.c | 173 +++++++++++++++------------- > src/util/network.h | 3 > 5 files changed, 142 insertions(+), 269 deletions(-) [...] > @@ -85,11 +87,7 @@ struct _nwMACAddress { > typedef struct _nwIPAddress nwIPAddress; > typedef nwIPAddress *nwIPAddressPtr; > struct _nwIPAddress { > - int isIPv6; > - union { > - unsigned char ipv4Addr[4]; > - unsigned char ipv6Addr[16]; > - } addr; > + virSocketAddr addr; > }; A following cleanup to this cleanup might be to remove all nwIPAddress and just use virSocketAddr, I guess this would make the code simpler too. Thanks for the cleanup, looks fine to me, ACK, Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list