From: Ben Pfaff Date: Wed, 20 Apr 2011 22:13:46 +0000 (-0700) Subject: ofproto: Initialize ports immediately upon ofproto creation. X-Git-Tag: v1.2.0~329^2~36 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=d4cb239a1ccbdf8e9f1ac70a38d995b326c7997f;p=sliver-openvswitch.git ofproto: Initialize ports immediately upon ofproto creation. I don't see why we should delay initializing the ports to the first call of ofproto_run1(). We originally did initialize the ports in ofproto_create(), but back in January 2010 Jesse moved the call into ofproto_run1() in commit 149f577a "netdev: Fully handle netdev lifecycle through refcounting." The commit message doesn't explain why this particular change was made, so I can only assume that it was important at the time. Now, however, everything seems to work fine with initialization done in the most logical place. --- diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index 01b44e7f3..31b7d8c7c 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -438,6 +438,8 @@ ofproto_create(const char *datapath, const char *datapath_type, /* Initialize OpenFlow connections. */ p->connmgr = connmgr_create(p, datapath, local_name); + init_ports(p); + *ofprotop = p; return 0; } @@ -769,10 +771,6 @@ ofproto_run1(struct ofproto *p) int error; int i; - if (shash_is_empty(&p->port_by_name)) { - init_ports(p); - } - for (i = 0; i < 50; i++) { struct dpif_upcall packet;