This small patch fixes gre tunnels using keys (and probably sequencing/checksums) in 2.{5,6}.
If params aren't set before ipgre_tunnel_init is called, it miscalculates the header size, and
stomps on itself when encapsulating packets.
I'm not sure if the later initialization can be removed, or if this is the *correct* patch. It does
allow tunnels to work here.
-pee
(this might be a double send, i sent it last sunday, but didn't see it show up in the lists)
--- net/ipv4/ip_gre.c.orig 2003-10-26 19:44:26.000000000 +0000 +++ net/ipv4/ip_gre.c 2003-10-26 19:55:33.000000000 +0000 @@ -276,6 +276,8 @@ return NULL; dev->init = ipgre_tunnel_init; + nt = dev->priv; + nt->parms = *parms; if (register_netdevice(dev) < 0) { kfree(dev);