ovs_mutex_lock(&dp->port_mutex);
dp_netdev_set_nonpmd(dp);
- error = do_add_port(dp, name, "internal", ODPP_LOCAL);
+ error = do_add_port(dp, name, dpif_netdev_port_open_type(dp->class,
+ "internal"),
+ ODPP_LOCAL);
ovs_mutex_unlock(&dp->port_mutex);
if (error) {
dp_netdev_free(dp);
}
static int
-port_create(const char *devname, const char *open_type, const char *type,
+port_create(const char *devname, const char *type,
odp_port_t port_no, struct dp_netdev_port **portp)
{
struct netdev_saved_flags *sf;
*portp = NULL;
/* Open and validate network device. */
- error = netdev_open(devname, open_type, &netdev);
+ error = netdev_open(devname, type, &netdev);
if (error) {
return error;
}
return EEXIST;
}
- error = port_create(devname, dpif_netdev_port_open_type(dp->class, type),
- type, port_no, &port);
+ error = port_create(devname, type, port_no, &port);
if (error) {
return error;
}
dummy@br0:
lookups: hit:0 missed:0 lost:0
flows: 0
- port 0: br0 (internal)
+ port 0: br0 (dummy)
])
AT_CHECK([ovs-appctl dpctl/add-if dummy@br0 vif1.0,type=dummy,port_no=5])
AT_CHECK([ovs-appctl dpctl/show dummy@br0], [0], [dnl
dummy@br0:
lookups: hit:0 missed:0 lost:0
flows: 0
- port 0: br0 (internal)
+ port 0: br0 (dummy)
port 5: vif1.0 (dummy)
])
AT_CHECK([ovs-appctl dpctl/add-if dummy@br0 vif1.0,type=dummy], [2], [],
[ovs-vswitchd: vif1.0: can't change type from dummy to system
ovs-appctl: ovs-vswitchd: server returned an error
])
-AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 br0,type=dummy], [2], [],
- [ovs-vswitchd: br0: can't change type from internal to dummy
+AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 br0,type=dummy], [0])
+AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 br0,type=internal], [2], [],
+ [ovs-vswitchd: br0: can't change type from dummy to internal
ovs-appctl: ovs-vswitchd: server returned an error
])
AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 vif1.0])
dummy@br0:
lookups: hit:0 missed:0 lost:0
flows: 0
- port 0: br0 (internal)
+ port 0: br0 (dummy)
])
AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 vif1.0], [2], [],
[ovs-vswitchd: no port named vif1.0
dummy@br0:
lookups: hit:0 missed:0 lost:0
flows: 0
- port 0: br0 (internal)
+ port 0: br0 (dummy)
])
AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 nonexistent], [2], [],
[ovs-vswitchd: no port named nonexistent