On Mon, Dec 19, 2016 at 11:54:43AM +0100, Martin Pieuchot wrote: > Sending keep alive ends up in ip_output(), so it needs the NET_LOCK(). > > ok?
OK bluhm@ > > Index: net/if_gre.c > =================================================================== > RCS file: /cvs/src/sys/net/if_gre.c,v > retrieving revision 1.81 > diff -u -p -r1.81 if_gre.c > --- net/if_gre.c 16 Nov 2016 14:50:13 -0000 1.81 > +++ net/if_gre.c 19 Dec 2016 10:38:00 -0000 > @@ -662,10 +662,10 @@ gre_send_keepalive(void *arg) > bzero(&dst, sizeof(dst)); > dst.sa_family = AF_INET; > > - s = splsoftnet(); > + NET_LOCK(s); > /* should we care about the error? */ > gre_output(&sc->sc_if, m, &dst, NULL); > - splx(s); > + NET_UNLOCK(s); > } > > void