Subject: Re: What is the gre pseudo-device? Wjy would it make PPTP break?
To: Gerald C. Simmons <simmons@darykon.cet.com>
From: cube <netbsd-current-users@quatriemek.com>
List: current-users
Date: 07/19/2002 23:38:09
Le Fri, 19 Jul 2002 13:31:52 -0700 (PDT)
Gerald C. Simmons a écrit :
> After a few days of trying to get PoPToP to work with PPP, my new French
> Freind Quentin discovered that the problem was having the pseudo-device
> gre enabled.
> 
> Once I disabled this, things started to work via PPTP.
> 
> What is the difference between the pre protocol and this pseudo-device?

In my understanding of the problem, PoPToP uses a raw socket to manage the
GRE protocol, where the gre(4) interface is just the one thing needed.

PoPToP could create and use a gre interface and let the kernel manage the
encapsulation, which would require the compilation of gre into the kernel.

With gre compiled in, I guess userland cannot manipulate a gre stack, just
as (again, I suppose) you couldn't have a userland IPSEC stack when it's
compiled into the kernel.

From syssrc/netinet/ip_gre.c :
        /*
         * ret == 0 : packet not processed, but input from here
         * means no matching tunnel that is up is found,
         * so we can just free the mbuf and return
         */

Which means the kernel drops GRE packets that don't match a gre tunnel.

Anyway, a PR should be sent to have the package warn the user about the
gre pseudo-device, as I'm not sure it is worth a patch against poptop to
make it use a gre interface.

cube

-- 
That's how I did it, Anton. I never saved anything
for the swim back.
Vincent/Jerome, in Gattaca.