On Thu, Jun 12, 2014 at 04:37:33PM -0700, Daniele Di Proietto wrote:
> Since dpif_netdev_enumerate() is used for "netdev" and "dummy" class, it
> incorrectly lists dpif-netdevs as "dummy" and vice versa.
> This patches address the issue by changing the dpif-provider interface: a
> dpif_class parameter is passed to the 'enumerate' call to match the right
> class.
>
> Signed-off-by: Daniele Di Proietto <[email protected]>
Thanks! I folded in the following coding style updates and will push
after running the unit tests.
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 8eb1f38..6c281fe 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -360,7 +360,8 @@ get_dp_netdev(const struct dpif *dpif)
}
static int
-dpif_netdev_enumerate(struct sset *all_dps, const struct dpif_class
*dpif_class)
+dpif_netdev_enumerate(struct sset *all_dps,
+ const struct dpif_class *dpif_class)
{
struct shash_node *node;
@@ -369,7 +370,7 @@ dpif_netdev_enumerate(struct sset *all_dps, const struct
dpif_class *dpif_class)
struct dp_netdev *dp = node->data;
if (dpif_class != dp->class) {
/* 'dp_netdevs' contains both "netdev" and "dummy" dpifs.
- * if the class doesn't match, skip this dpif */
+ * If the class doesn't match, skip this dpif. */
continue;
}
sset_add(all_dps, node->name);
diff --git a/lib/dpif.c b/lib/dpif.c
index c5d31f6..cace47b 100644
--- a/lib/dpif.c
+++ b/lib/dpif.c
@@ -272,9 +272,9 @@ dp_enumerate_names(const char *type, struct sset *names)
}
dpif_class = registered_class->dpif_class;
- error = dpif_class->enumerate
- ? dpif_class->enumerate(names, dpif_class)
- : 0;
+ error = (dpif_class->enumerate
+ ? dpif_class->enumerate(names, dpif_class)
+ : 0);
if (error) {
VLOG_WARN("failed to enumerate %s datapaths: %s", dpif_class->type,
ovs_strerror(error));
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev