The easiest work around for me was to add ip_gre as a loadable module instead of compiled into the kernel. But why... I still don't get it why the odd behavious comes up if I compile it into the kernel.