On Wed, Mar 09, 2016 at 04:40:43PM -0800, Pravin B Shelar wrote:
> From: Pravin B Shelar <[email protected]>
>
> Device can have multiple IP address but netdev_get_in4/6()
> returns only one configured IPv6 address. Following
> patch fixes it.
> OVS router is also updated to return source ip address for
> given destination, This is required when interface has multiple
> IP address configured.
>
> Signed-off-by: Pravin B Shelar <[email protected]>
I guess that netdev_get_addr_list() needs an updated function comment.
In particular, it should probably mention that the function both
IPv4 and IPv6 addresses.
get_src_addr() in ovs-router.c appears to use an inconsistent return
value convention: sometimes it returns positive errors, sometimes
negative ones.
The function name __map_insert_ipdev() uses the namespace reserved to
the C implementation. That's why we usually put the __ at the end of a
name.
I think that insert_ipdev__() leaks a reference to 'dev' here:
ip_dev = xzalloc(sizeof *ip_dev);
ip_dev->dev = netdev_ref(dev);
ip_dev->change_seq = netdev_get_change_seq(dev);
error = netdev_get_etheraddr(ip_dev->dev, &ip_dev->mac);
if (error) {
free(ip_dev);
return;
}
When insert_ipdev__() fails, I think that it leaks its 'addr' parameter.
Thanks,
Ben.
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev