X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ofproto%2Fofproto.c;h=8b8b28dd13ee17a774a6eec47012d1baeb7727af;hb=b3c01ed3308e7899e98e981bf465f74be86f5f12;hp=78a5005be621a213e5c1e9f0ed54b8da71b4eb42;hpb=f391294fde05ecae7c9a1ff8752f872a1db94f3a;p=sliver-openvswitch.git diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index 78a5005be..8b8b28dd1 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -55,6 +55,7 @@ #include "poll-loop.h" #include "rconn.h" #include "shash.h" +#include "sset.h" #include "stream-ssl.h" #include "svec.h" #include "tag.h" @@ -1026,25 +1027,25 @@ static void reinit_ports(struct ofproto *p) { struct dpif_port_dump dump; - struct shash_node *node; - struct shash devnames; + struct sset devnames; struct ofport *ofport; struct dpif_port dpif_port; + const char *devname; COVERAGE_INC(ofproto_reinit_ports); - shash_init(&devnames); + sset_init(&devnames); HMAP_FOR_EACH (ofport, hmap_node, &p->ports) { - shash_add_once (&devnames, ofport->opp.name, NULL); + sset_add(&devnames, ofport->opp.name); } DPIF_PORT_FOR_EACH (&dpif_port, &dump, p->dpif) { - shash_add_once (&devnames, dpif_port.name, NULL); + sset_add(&devnames, dpif_port.name); } - SHASH_FOR_EACH (node, &devnames) { - update_port(p, node->name); + SSET_FOR_EACH (devname, &devnames) { + update_port(p, devname); } - shash_destroy(&devnames); + sset_destroy(&devnames); } static struct ofport *