In FreeBSD, the 'SIOCSIFNAME' is not a supported ioctl call for tap
device.  However, the current OVS code uses it to rename the 'internal'
interface in dpif-netdev datapath and causes 'ENODEV' error.

This commit fixes it by removing the rename and just using the default
tap device name.

Signed-off-by: Alex Wang <al...@nicira.com>
---
 lib/netdev-bsd.c |   15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/lib/netdev-bsd.c b/lib/netdev-bsd.c
index 00e8bcd..e6663f9 100644
--- a/lib/netdev-bsd.c
+++ b/lib/netdev-bsd.c
@@ -335,22 +335,9 @@ netdev_bsd_construct_tap(struct netdev *netdev_)
         goto error_unref_notifier;
     }
 
-    /* Change the name of the tap device */
-#if defined(SIOCSIFNAME)
-    ifr.ifr_data = (void *)name;
-    error = af_inet_ioctl(SIOCSIFNAME, &ifr);
-    if (error) {
-        destroy_tap(netdev->tap_fd, ifr.ifr_name);
-        goto error_unref_notifier;
-    }
-    kernel_name = xstrdup(name);
-#else
-    /*
-     * NetBSD doesn't support inteface renaming.
-     */
+    /* Tap device does not support renaming. */
     VLOG_INFO("tap %s is created for bridge %s", ifr.ifr_name, name);
     kernel_name = xstrdup(ifr.ifr_name);
-#endif
 
     /* set non-blocking. */
     error = set_nonblocking(netdev->tap_fd);
-- 
1.7.9.5

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to