diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2018-01-09 10:08:02 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2018-01-09 10:08:02 +0000 |
commit | 13431f050f84d197c343e8968b3e7b6142b6efeb (patch) | |
tree | 3bf8745bc7b17c679ba3623a70169fceae5e2dfc /sys/net | |
parent | 777739096b124015293b03015e718c9a9233cc0d (diff) |
Use ip{,6}_send() instead of ip{,6}_output() to prevent a recursion.
if_start() is a boundary between the network stack and drivers. The
states it modifies must be protected by the driver, so we should not
require the NET_LOCK() there.
ok bluhm@, visa@
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/if_gif.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c index a9f03716a1f..3ef20bd6b46 100644 --- a/sys/net/if_gif.c +++ b/sys/net/if_gif.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_gif.c,v 1.105 2017/11/20 10:35:24 mpi Exp $ */ +/* $OpenBSD: if_gif.c,v 1.106 2018/01/09 10:08:01 mpi Exp $ */ /* $KAME: if_gif.c,v 1.43 2001/02/20 08:51:07 itojun Exp $ */ /* @@ -231,17 +231,11 @@ gif_start(struct ifnet *ifp) switch (sc->gif_psrc->sa_family) { case AF_INET: - ip_output(m, NULL, NULL, 0, NULL, NULL, 0); + ip_send(m); break; #ifdef INET6 case AF_INET6: - /* - * force fragmentation to minimum MTU, to avoid path - * MTU discovery. It is too painful to ask for resend - * of inner packet, to achieve path MTU discovery for - * encapsulated packets. - */ - ip6_output(m, 0, NULL, IPV6_MINMTU, 0, NULL); + ip6_send(m); break; #endif default: |