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