Hi Flavio,
I am facing some issue with ovs-master on Ubuntu 14.04 system. Here are the
steps I followed and the error message I get. Can it be possibly related to
your patch for making tap device persistent ? Let me know if I am missing some
steps here.
1. Create netdev bridge
$ ovs-vsctl add-br br0 -- set Bridge br0 datapath_type=netdev
$ ovs-vsctl show
4c516433-c305-4894-96ad-f44af0b01b63
Bridge "br0"
Port "br0"
Interface "br0"
type: internal
ovs_version: "2.7.90"
2. Bring up br0 interface
$ ifconfig br0 up
3. Restart the openvswitch
$ service openvswitch-switch restart
4. Show ovs db
$ ovs-vsctl show
4c516433-c305-4894-96ad-f44af0b01b63
Bridge "br0"
Port "br0"
Interface "br0"
type: internal
error: "could not open network device br0 (File exists)"
ovs_version: "2.7.90"
Regards,
Vishal
-----Original Message-----
From: Flavio Leitner [mailto:[email protected]]
Sent: Wednesday, June 07, 2017 8:28 PM
To: Vishal Deep Ajmera <[email protected]>
Cc: [email protected]
Subject: Re: [ovs-dev] [PATCH 2/3] netdev-linux: make tap devices persistent.
On Wed, Jun 07, 2017 at 09:39:16AM +0000, Vishal Deep Ajmera wrote:
> Hi Flavio,
>
> If the tap-device is persistent but the 'netdev' datapath is not yet
> started then will it create any issues in the system ? What happens if
> we start sending packets on this interface whereas data-path is not
> present ?
The link goes down and packets are dropped.
fbl
>
> Regards,
> Vishal
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Flavio Leitner
> Sent: Tuesday, May 30, 2017 1:10 AM
> To: [email protected]
> Cc: Flavio Leitner <[email protected]>
> Subject: [ovs-dev] [PATCH 2/3] 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 <[email protected]>
> ---
> lib/netdev-linux.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c index
> 3ad3d45..d181e4f 100644
> --- a/lib/netdev-linux.c
> +++ b/lib/netdev-linux.c
> @@ -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);
> }
>
> --
> 2.9.4
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
--
Flavio
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev