[ovs-dev] [PATCH] route-table: Use classifier versioning to replace all routes atomically.

Flavio Leitner fbl at sysclose.org
Tue Dec 11 16:47:35 UTC 2018


Hi Ben,

On Fri, Mar 09, 2018 at 05:00:27PM -0800, Ben Pfaff wrote:
> The route table is implemented in terms of a classifier structure, which
> supports versioning with atomic transactional updates, but OVS didn't
> actually use it for the route table.  This commit starts using that feature
> for the route table and makes OVS atomically replace one set of routes with
> another.  This should fix a reported bug in which the routing table was
> periodically empty due to refreshes.
> 
[...]
> diff --git a/lib/ovs-router.h b/lib/ovs-router.h
> index b55b1a50b146..1b27cceadce3 100644
> --- a/lib/ovs-router.h
> +++ b/lib/ovs-router.h
> @@ -18,6 +18,7 @@
>  #define OVS_TNL_ROUTER_H 1
>  
>  #include <sys/types.h>
> +#include <net/if.h>
>  #include <netinet/in.h>
>  
>  #include "util.h"
> @@ -30,10 +31,21 @@ bool ovs_router_lookup(uint32_t mark, const struct in6_addr *ip_dst,
>                         char out_dev[],
>                         struct in6_addr *src, struct in6_addr *gw);
>  void ovs_router_init(void);
> -void ovs_router_insert(uint32_t mark, const struct in6_addr *ip_dst,
> -                       uint8_t plen,
> -                       const char output_bridge[], const struct in6_addr *gw);

I tried to apply the patch to review, but some parts don't apply. The
line above misses 'bool local' argument included in commit 8e4e45887ec3
("ofproto-dpif-xlate: makes OVS native tunneling honor tunnel-specified
source addresses").

Thanks,
fbl



More information about the dev mailing list