Message ID | 1457570445-68542-5-git-send-email-pshelar@ovn.org |
---|---|
State | Changes Requested |
Headers | show |
On Wed, Mar 09, 2016 at 04:40:44PM -0800, Pravin B Shelar wrote: > This just avoid unnecessary routes in the ovs-router. > > Signed-off-by: Pravin B Shelar <pshelar@nicira.com> This also raises confusion on whether errors should be positive or negative.
diff --git a/lib/ovs-router.c b/lib/ovs-router.c index 9b64ffb..3b11512 100644 --- a/lib/ovs-router.c +++ b/lib/ovs-router.c @@ -130,6 +130,7 @@ get_src_addr(const struct in6_addr *ip6_dst, { struct in6_addr *mask, *addr6; int err, n_in6, i, max_plen = -1; + enum netdev_flags flags; struct netdev *dev; err = netdev_open(output_bridge, NULL, &dev); @@ -137,6 +138,11 @@ get_src_addr(const struct in6_addr *ip6_dst, return err; } + err = netdev_get_flags(dev, &flags); + if (err || (flags & NETDEV_LOOPBACK)) { + return -EINVAL; + } + err = netdev_get_addr_list(dev, &addr6, &mask, &n_in6); if (err) { goto out;
This just avoid unnecessary routes in the ovs-router. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> --- lib/ovs-router.c | 6 ++++++ 1 file changed, 6 insertions(+)