Jarno, Can you review this patch?
On Wed, Nov 19, 2014 at 10:12 PM, Pravin B Shelar <pshe...@nicira.com> wrote: > ovs-dpctl crashed due to uninitialized router classifier. To > fix this issue move ovs router initialization to route table > module. > > Reported-by: Madhu Challa <cha...@noironetworks.com> > Signed-off-by: Pravin B Shelar <pshe...@nicira.com> > --- > v1-v2: > Initialize route-table from dpif init. > --- > lib/dpif.c | 1 + > lib/netdev-vport.c | 2 -- > lib/ovs-router.c | 2 +- > lib/ovs-router.h | 2 +- > lib/route-table.c | 1 + > ofproto/ofproto-dpif.c | 1 - > 6 files changed, 4 insertions(+), 5 deletions(-) > > diff --git a/lib/dpif.c b/lib/dpif.c > index d179d8a..844f869 100644 > --- a/lib/dpif.c > +++ b/lib/dpif.c > @@ -118,6 +118,7 @@ dp_initialize(void) > ovsthread_once_done(&once); > tnl_port_map_init(); > tnl_arp_cache_init(); > + route_table_register(); > } > } > > diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c > index 167212e..3825a09 100644 > --- a/lib/netdev-vport.c > +++ b/lib/netdev-vport.c > @@ -254,8 +254,6 @@ netdev_vport_construct(struct netdev *netdev_) > dev->tnl_cfg.dst_port = htons(LISP_DST_PORT); > } > > - route_table_register(); > - > return 0; > } > > diff --git a/lib/ovs-router.c b/lib/ovs-router.c > index 6b5ba00..e4f8a08 100644 > --- a/lib/ovs-router.c > +++ b/lib/ovs-router.c > @@ -281,7 +281,7 @@ ovs_router_flush(void) > > /* May not be called more than once. */ > void > -ovs_router_unixctl_register(void) > +ovs_router_init(void) > { > classifier_init(&cls, NULL); > unixctl_command_register("ovs/route/add", "ipv4_addr/prefix_len > out_br_name gw", 2, 3, > diff --git a/lib/ovs-router.h b/lib/ovs-router.h > index 92d15c6..b0042cc 100644 > --- a/lib/ovs-router.h > +++ b/lib/ovs-router.h > @@ -24,7 +24,7 @@ extern "C" { > #endif > > bool ovs_router_lookup(ovs_be32 ip_dst, char out_dev[], ovs_be32 *gw); > -void ovs_router_unixctl_register(void); > +void ovs_router_init(void); > #ifdef __cplusplus > } > #endif > diff --git a/lib/route-table.c b/lib/route-table.c > index 6261954..63a9bd3 100644 > --- a/lib/route-table.c > +++ b/lib/route-table.c > @@ -96,6 +96,7 @@ route_table_register(void) > ovs_assert(!nln); > ovs_assert(!route_notifier); > > + ovs_router_init(); > nln = nln_create(NETLINK_ROUTE, RTNLGRP_IPV4_ROUTE, > (nln_parse_func *) route_table_parse, &rtmsg); > > diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c > index 3f8768d..c8e11c2 100644 > --- a/ofproto/ofproto-dpif.c > +++ b/ofproto/ofproto-dpif.c > @@ -1253,7 +1253,6 @@ construct(struct ofproto *ofproto_) > guarded_list_init(&ofproto->pins); > > ofproto_unixctl_init(); > - ovs_router_unixctl_register(); > > hmap_init(&ofproto->vlandev_map); > hmap_init(&ofproto->realdev_vid_map); > -- > 1.7.1 > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev