Future patches will need to add netdevs to the dummy datapath which can't actually send or receive packets.
Signed-off-by: Ethan Jackson <et...@nicira.com> --- lib/dpif-netdev.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 682dfc9..d042ef9 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -181,11 +181,17 @@ dpif_netdev_enumerate(struct sset *all_dps) return 0; } +static bool +dpif_netdev_class_is_dummy(const struct dpif_class *class) +{ + return class != &dpif_netdev_class; +} + static const char * dpif_netdev_port_open_type(const struct dpif_class *class, const char *type) { return strcmp(type, "internal") ? type - : class != &dpif_netdev_class ? "dummy" + : dpif_netdev_class_is_dummy(class) ? "dummy" : "tap"; } @@ -386,7 +392,8 @@ do_add_port(struct dp_netdev *dp, const char *devname, const char *type, /* XXX reject non-Ethernet devices */ error = netdev_listen(netdev); - if (error) { + if (error + && (!dpif_netdev_class_is_dummy(dp->class) || error != EOPNOTSUPP)) { VLOG_ERR("%s: cannot receive packets on this network device (%s)", devname, strerror(errno)); netdev_close(netdev); -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev