On Fri, Dec 23, 2016 at 12:09:32AM +0100, Martin Pieuchot wrote:
> On 22/12/16(Thu) 20:45, Mike Belopuhov wrote:
> > I think this is what is required here.  Works here, but YMMV.
> 
> splnet() in a pseudo-driver seems completely wrong, you could get rid of
> it.

Yes, but that is another issue.  Can we get the netlock splasserts
fixed first?  This diff looks good to me.

bluhm

> > diff --git sys/net/if_vxlan.c sys/net/if_vxlan.c
> > index e9bc1cb8305..dfb71cf9467 100644
> > --- sys/net/if_vxlan.c
> > +++ sys/net/if_vxlan.c
> > @@ -178,13 +178,15 @@ int
> >  vxlan_clone_destroy(struct ifnet *ifp)
> >  {
> >     struct vxlan_softc      *sc = ifp->if_softc;
> >     int                      s;
> >  
> > +   NET_LOCK(s);
> >     s = splnet();
> >     vxlan_multicast_cleanup(ifp);
> >     splx(s);
> > +   NET_UNLOCK(s);
> >  
> >     vxlan_enable--;
> >     LIST_REMOVE(sc, sc_entry);
> >  
> >     ifmedia_delete_instance(&sc->sc_media, IFM_INST_ANY);

Reply via email to