I switched a machine running 2.4 to 2.5 this weekend. The only thing that didn't come up fine is a GRE tunnel we use for work. This small patch makes it work again. Basically it just makes sure that the call to ipgre_tunnel_init can get the correct set flags from the ioctl, and setup the correct header length. Without this patch is will stomp on the headers with key/seq/csum options are given.
I'm not sure if it's ok to remove the late call to setup the param ptr, and since it's working i'm kinda too lazy to check.
-pee
--- ip_gre.c.orig 2003-10-26 19:44:26.000000000 +0000 +++ ip_gre.c 2003-10-26 19:45:07.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);