[ovs-dev] [PATCH v2] netdev, dpif: fix the crash/assert on port delete

Ben Pfaff blp at ovn.org
Mon Nov 13 22:06:40 UTC 2017


I sent a patch series that should help a little.  Would you mind testing
it against the case that was causing problems?  The series is posted
here:
https://patchwork.ozlabs.org/project/openvswitch/list/?series=13360

On Mon, Nov 13, 2017 at 12:36:06PM -0800, Ashish Varma wrote:
> Thanks Ben.
> 
> On Mon, Nov 13, 2017 at 11:36 AM, Ben Pfaff <blp at ovn.org> wrote:
> 
> > On Mon, Nov 06, 2017 at 12:17:45PM -0800, Ashish Varma wrote:
> > > a crash is seen in "netdev_ports_remove" when an interface is deleted
> > and added
> > > back in the system and when the interface is part of a bridge
> > configuration.
> > > e.g. steps:
> > >   create a tap0 interface using "ip tuntap add.."
> > >   add the tap0 interface to br0 using "ovs-vsctl add-port.."
> > >   delete the tap0 interface from system using "ip tuntap del.."
> > >   add the tap0 interface back in system using "ip tuntap add.."
> > >                        (this changes the ifindex of the interface)
> > >   delete tap0 from br0 using "ovs-vsctl del-port.."
> > >
> > > In the function "netdev_ports_insert", two hmap entries were created for
> > > mapping "portnum -> netdev" and "ifindex -> portnum".
> > > When the interface is deleted from the system, the "netdev_ports_remove"
> > > function is not getting called and the old ifindex entry is not getting
> > > cleaned up from the "ifindex_to_port" hmap.
> > >
> > > As part of the fix, added function "dpif_port_remove" which will call
> > > "netdev_ports_remove" in the path where the interface deletion from the
> > system
> > > is detected.
> > > Also, in "netdev_ports_remove", added the code where the
> > "ifindex_to_port_data"
> > > (ifindex -> portnum map node) is getting freed when the ifindex is not
> > > available any more. (as the interface is already deleted.)
> > >
> > > VMware-BZ: #1975788
> > > Signed-off-by: Ashish Varma <ashishvarma.ovs at gmail.com>
> >
> > Thanks.  I applied this to master and branch-2.8.
> >
> > I still think that the underlying design here is a bad one.  I'm going
> > to look at a better fix.
> >


More information about the dev mailing list