Trouble with openvpn and /dev/tun
Joerg Sonnenberger
joerg at britannica.bec.de
Sun Jul 10 05:00:20 PDT 2005
On Sun, Jul 10, 2005 at 01:08:11PM +0200, Dirk Liebke wrote:
> Hi Joerg,
>
> could you please take a look at tunstart in if_tun:
>
> if (!ifq_is_enabled(&ifp->if_snd))
> return;
That's not the problem. I thought I send you a patch to try,
but I seems to have forgotten. Sorry. Here's it :-)
Joerg
Index: if_tun.c
===================================================================
RCS file: /home/joerg/wd/repository/dragonflybsd/src/sys/net/tun/if_tun.c,v
retrieving revision 1.22
diff -u -r1.22 if_tun.c
--- if_tun.c 14 Jun 2005 20:41:24 -0000 1.22
+++ if_tun.c 8 Jul 2005 12:59:22 -0000
@@ -384,10 +384,18 @@
}
error = ifq_handoff(ifp, m0, &pktattr);
- if (error)
+ if (error) {
ifp->if_collisions++;
- else
+ } else {
ifp->if_opackets++;
+ if (tp->tun_flags & TUN_RWAIT) {
+ tp->tun_flags &= ~TUN_RWAIT;
+ wakeup((caddr_t)tp);
+ }
+ if (tp->tun_flags & TUN_ASYNC && tp->tun_sigio)
+ pgsigio(tp->tun_sigio, SIGIO, 0);
+ selwakeup(&tp->tun_rsel);
+ }
return (error);
}
More information about the Bugs
mailing list