summaryrefslogtreecommitdiff
path: root/sys/net
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2018-01-09 10:08:02 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2018-01-09 10:08:02 +0000
commit13431f050f84d197c343e8968b3e7b6142b6efeb (patch)
tree3bf8745bc7b17c679ba3623a70169fceae5e2dfc /sys/net
parent777739096b124015293b03015e718c9a9233cc0d (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.c12
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: