On Thu, Jun 08, 2017 at 11:24:58AM +0000, Vishal Deep Ajmera wrote:
> 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"


The same thing Eric reported to me when a test unit had failed.
Oddly I can't reproduce (yet), but reviewing the code seems that a
rtnetlink to add a route can open the device but not add to the DP, 
then when it tries to that error would be reported.

I will look more into it and see if I can fix it.
Thanks for the report.
Flavio



> 
> Regards,
> Vishal
> 
> -----Original Message-----
> From: Flavio Leitner [mailto:f...@redhat.com] 
> Sent: Wednesday, June 07, 2017 8:28 PM
> To: Vishal Deep Ajmera <vishal.deep.ajm...@ericsson.com>
> Cc: d...@openvswitch.org
> 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: ovs-dev-boun...@openvswitch.org 
> > [mailto:ovs-dev-boun...@openvswitch.org] On Behalf Of Flavio Leitner
> > Sent: Tuesday, May 30, 2017 1:10 AM
> > To: d...@openvswitch.org
> > Cc: Flavio Leitner <f...@redhat.com>
> > 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 <f...@redhat.com>
> > ---
> >  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
> > d...@openvswitch.org
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> 
> --
> Flavio

-- 
Flavio
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to