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