On 29/12/16(Thu) 01:15, Alexander Bluhm wrote:
> 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.

Sure I'm ok with the diff.

> > > 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