2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-30 22:05:19 +00:00

netdev-linux: make tap devices persistent.

When using data path type "netdev", bridge port is a tun device
and when OVS restarts, that device and its network configuration
is lost.

This patch enables the tap device to persist instead.

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
This commit is contained in:
Flavio Leitner
2017-05-29 16:40:22 -03:00
committed by Ben Pfaff
parent 74fd3cdb6e
commit 0f28164be0

View File

@@ -866,6 +866,13 @@ netdev_linux_construct_tap(struct netdev *netdev_)
goto error_close;
}
if (ioctl(netdev->tap_fd, TUNSETPERSIST, 1)) {
VLOG_WARN("%s: creating tap device failed (persist): %s", name,
ovs_strerror(errno));
error = errno;
goto error_close;
}
return 0;
error_close:
@@ -885,6 +892,7 @@ netdev_linux_destruct(struct netdev *netdev_)
if (netdev_get_class(netdev_) == &netdev_tap_class
&& netdev->tap_fd >= 0)
{
ioctl(netdev->tap_fd, TUNSETPERSIST, 0);
close(netdev->tap_fd);
}