GRE0 and ioctl error

I’m trying to get WCCP working between my Cisco Router and my new installation of openSUSE 11.1 to create a transparent squid proxy. This is a VM built on VMServer 2.0.
When I try to fire up interface gre0 I get an ioctl out of buffer error.
I can make a gre1 interface and tunnel, but the wccp redirected traffic does not flow down that interface.
If I force gre0 up with a “ifconfig gre0 up” I get the interface up and can see an “any to any” tunnel built with “ip tunnel show” The tunnel should be showing the enpoints I defined in my ifcfg-gre0 config file, but it’s ignoring those as well. However, after I force the interface gre0 up, I can sniff and see my redirected HTTP traffic. My squid access log shows no traffic, and I have done all the tricks I’ve seen online with IPTables redirecting the traffic. My thought is that this flakey gre0 is not passing traffic through eventhough ipv4 forwarding is turned on.

The interesting thing is when I fire up squid3 with my wccp2 information in the config file, my router sees the wccp neighbor but the squid access log shows no activity.

I’ve seen many posts on this problem but no solutions out there. Any ideas?

Additional information: I see that gre0 is created as soon as i load the ip_gre kernel module. so that’s why ioctl freaks out on creation. What I’m guessing now with that the default firewall stuff is not allowing traffic from the gre0 interface. Using the YAST firewall tools, I can’t see gre0 in the interfaces to allocate to the proper zone. I tried editing the config file in /etc/sysconfig, but it does not seem to add it correctly. What’s the easiest way to add gre0 to the internal zone? Or just nuking the “helpful” firewall tools and have a base iptables install?