On Thu, Jul 28, 2016 at 01:14:58PM -0300, Thadeu Lima de Souza Cascardo wrote:
> When the route table is reset, the addresses list may be out of date, as we
> race
> for the many netlink socket notifications.
>
> A quick fix for this is flushing the addresses list, before dumping the routes
> and gathering source addresses for them.
>
> That way, instead of using invalid source addresses or preventing an entry to
> be
> added because of missing source addresses, repeated tests showed the correct
> entry is always added.
>
> As route-table.c is only built for Linux, we don't need to be concerned that
> Windows does not have netdev_get_addrs_list_flush, since it uses
> route-table-stub.c instead.
>
> Signed-off-by: Thadeu Lima de Souza Cascardo <[email protected]>
I am sorry. Missed it again.
Fixes: a8704b502785 ("tunneling: Handle multiple ip address for given device.")
> ---
> lib/route-table.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/lib/route-table.c b/lib/route-table.c
> index 58e7f62..0457de3 100644
> --- a/lib/route-table.c
> +++ b/lib/route-table.c
> @@ -25,6 +25,7 @@
> #include <net/if.h>
>
> #include "hash.h"
> +#include "netdev.h"
> #include "netlink.h"
> #include "netlink-notifier.h"
> #include "netlink-socket.h"
> @@ -151,6 +152,7 @@ route_table_reset(void)
> struct ofpbuf request, reply, buf;
>
> route_map_clear();
> + netdev_get_addrs_list_flush();
> route_table_valid = true;
> rt_change_seq++;
>
> --
> 2.7.4
>
> _______________________________________________
> dev mailing list
> [email protected]
> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev