DragonFly users List (threaded) for 2008-12
DragonFly BSD
DragonFly users List (threaded) for 2008-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: PPTP VPN client


From: YONETANI Tomokazu <qhwt+dfly@xxxxxxxxxx>
Date: Sat, 6 Dec 2008 00:40:35 +0900

On Fri, Dec 05, 2008 at 11:59:03AM +0200, Dennis Melentyev wrote:
> In FreeBSD ports exists an mpd daemon for PPTP connections. I hardly
> can find it in pkgsrc (well, it's not portable enough).

I've written a pkgsrc package for older version (mpd-3.18)
  http://les.ath.cx/DragonFly/dfly2_0-pkgsrc-mpd-3.18.tar.gz

and been using here for my PPPoE and PPTP connections.

For some reason netgraph modules need to be loaded with kldload command
or it just won't work (I seem to recall this started at some point around
1.10-RELEASE, but I haven't managed to track down yet).  If you're using
GENERIC kernel it means you need to compile a kernel without netgraph
modules compiled in, so at the moment mpd is not your choice.

Also it seems that ng_pptpgre module (or other modules it depends on) has
some race problem, so if you have `options INVARIANTS' in your kernel
config, you'll often experience kernel panics.  UP kernel is affected by
this problem, too.  The following bandaid seems to stop the panic, but
I occasionally receive `deadlock avoided' error while using rdesktop
to connect to a Windows PC in my office, and in that case, the TCP
connection dies.

--- a/sys/netgraph/pptpgre/ng_pptpgre.c
+++ b/sys/netgraph/pptpgre/ng_pptpgre.c
@@ -556,8 +556,10 @@ ng_pptpgre_xmit(node_p node, struct mbuf *m, meta_p meta)
 	NG_SEND_DATA(error, priv->lower, m, meta);
 
 	/* Start receive ACK timer if data was sent and not already running */
-	if (error == 0 && gre->hasSeq && priv->xmitSeq == priv->recvAck + 1)
+	if (error == 0 && gre->hasSeq && priv->xmitSeq == priv->recvAck + 1) {
+		ng_pptpgre_stop_recv_ack_timer(node);
 		ng_pptpgre_start_recv_ack_timer(node);
+	}
 	return (error);
 }
 

> What could be used on DFBSD (client side) to create PPTP tunnel with
> MPPC/MPPE without involving manual build from sources?

net/pptp?



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]