Acked-by: Jarno Rajahalme <[email protected]>

On Nov 24, 2014, at 3:07 PM, Pravin B Shelar <[email protected]> wrote:

> OVS router depends on tnl_conf_seq and all tunnel related
> components should be initialized before registering dpif
> implementations.
> 
> Signed-off-by: Pravin B Shelar <[email protected]>
> ---
> lib/dpif.c   |   12 +++++++++---
> lib/netdev.c |    4 ----
> 2 files changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/lib/dpif.c b/lib/dpif.c
> index 33e32ef..d6de5a1 100644
> --- a/lib/dpif.c
> +++ b/lib/dpif.c
> @@ -39,6 +39,7 @@
> #include "packets.h"
> #include "poll-loop.h"
> #include "route-table.h"
> +#include "seq.h"
> #include "shash.h"
> #include "sset.h"
> #include "timeval.h"
> @@ -104,6 +105,9 @@ static void log_execute_message(struct dpif *, const 
> struct dpif_execute *,
> static void log_flow_get_message(const struct dpif *,
>                                  const struct dpif_flow_get *, int error);
> 
> +/* Incremented whenever tnl route, arp, etc changes. */
> +struct seq *tnl_conf_seq;
> +
> static void
> dp_initialize(void)
> {
> @@ -112,14 +116,16 @@ dp_initialize(void)
>     if (ovsthread_once_start(&once)) {
>         int i;
> 
> -        for (i = 0; i < ARRAY_SIZE(base_dpif_classes); i++) {
> -            dp_register_provider(base_dpif_classes[i]);
> -        }
> +        tnl_conf_seq = seq_create();
>         dpctl_unixctl_register();
>         tnl_port_map_init();
>         tnl_arp_cache_init();
>         route_table_register();
> 
> +        for (i = 0; i < ARRAY_SIZE(base_dpif_classes); i++) {
> +            dp_register_provider(base_dpif_classes[i]);
> +        }
> +
>         ovsthread_once_done(&once);
>     }
> }
> diff --git a/lib/netdev.c b/lib/netdev.c
> index e4e3b18..a6ab141 100644
> --- a/lib/netdev.c
> +++ b/lib/netdev.c
> @@ -77,9 +77,6 @@ static struct ovs_mutex netdev_class_mutex 
> OVS_ACQ_BEFORE(netdev_mutex);
> static struct hmap netdev_classes OVS_GUARDED_BY(netdev_class_mutex)
>     = HMAP_INITIALIZER(&netdev_classes);
> 
> -/* Incremented whenever tnl route, arp, etc changes. */
> -struct seq *tnl_conf_seq;
> -
> struct netdev_registered_class {
>     /* In 'netdev_classes', by class->type. */
>     struct hmap_node hmap_node OVS_GUARDED_BY(netdev_class_mutex);
> @@ -155,7 +152,6 @@ netdev_initialize(void)
> #endif
>         netdev_dpdk_register();
> 
> -        tnl_conf_seq = seq_create();
>         ovsthread_once_done(&once);
>     }
> }
> -- 
> 1.7.1
> 
> _______________________________________________
> dev mailing list
> [email protected]
> http://openvswitch.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to