netdev: Add 'netdev' parameter to netdev_add_router().
[openvswitch] / lib / dpif-netdev.c
index 285693ab2731c06f88ba55d11895ed189af9ffb4..4ff1a425f227aa8946f6dea93b5c7a5ac9c6430e 100644 (file)
@@ -377,7 +377,9 @@ do_add_port(struct dp_netdev *dp, const char *devname, uint16_t flags,
     if (!internal) {
         error = netdev_open(devname, NETDEV_ETH_TYPE_ANY, &netdev);
     } else {
-        error = netdev_open_tap(devname, &netdev);
+        char *tapname = xasprintf("tap:%s", devname);
+        error = netdev_open(tapname, NETDEV_ETH_TYPE_ANY, &netdev);
+        free(tapname);
     }
     if (error) {
         return error;
@@ -396,7 +398,7 @@ do_add_port(struct dp_netdev *dp, const char *devname, uint16_t flags,
     port->netdev = netdev;
     port->internal = internal;
 
-    mtu = netdev_get_mtu(netdev);
+    netdev_get_mtu(netdev, &mtu);
     if (mtu > max_mtu) {
         max_mtu = mtu;
     }
@@ -1294,8 +1296,10 @@ const struct dpif_class dpif_netdev_class = {
     "netdev",
     dp_netdev_run,
     dp_netdev_wait,
+    NULL,                       /* enumerate */
     dpif_netdev_open,
     dpif_netdev_close,
+    NULL,                       /* get_all_names */
     dpif_netdev_delete,
     dpif_netdev_get_stats,
     dpif_netdev_get_drop_frags,