> On Sun, 22 Aug 1999, Richard Guy Briggs wrote:
> > I wrote:
> > > James Morris wrote:
> > > > I'll start looking at the other tunnels (ipip, gre, sit) in the 2.2 kernel
> > > > to see if there's anything simple we can try, as they use standard ip
> > > > output functions without any of these problems.
> > >
> > > I will look at them carefully again, IPIP has changed considerably
> > > in 2.2, merging drivers/net/new_tunnel.c in with net/ipv4/ipip.c.
> >
> > I will have to chew on this one for a while, indeed a lot has
> > changed...
> >
>
> I think we have some progress here.
>
> Below is a patch which makes use of ip_send() and route/dst semantics
> for newer kernels.
Hmmm, ip_send() has changed since 2.0.xx....this is the sort of
solution I was hoping for!
> It's pretty rough at this stage, although it does allow the large MTU
> trick to be used, and sending fragments in transport mode now works.
I noticed this. I used your ideas, but it oopsed on the udp/500 and
IPIP/0 cases, for which I kept the original code and only called the
ip_route_output() stuff for the changed packet. It is still oopsing
occasionally. Perhaps it is my platform?
The headroom issue is a little odd, I had a skb_put() panic without
it.
> The next step will be to hack MSS for TCP, as per Alan's suggestion, and
> find out if anything is broken.
Right...
> I'm not experienced with this area of the kernel, so any input from
> (non-us, alas) network people would be most appreciated.
Thanks for the ideas...and time to study ipip.c some more.
> - James
> --
> James Morris
> <jmorris@intercode.com.au>
> + /* new route/dst cache stuff */
> + if (ip_route_output(&rt, skb->nh.iph->daddr, skb->nh.iph->saddr,
> + RT_TOS(skb->nh.iph->tos), physdev->iflink)) {
> + stats->tx_errors++;
> + goto cleanup;
> + }
> + dst_release(skb->dst);
> + skb->dst = &rt->u.dst;
> + stats->tx_bytes += skb->len;
> + ip_send(skb);
slainte mhath, RGB
- --
The first Ottawa Linux Symposium was a huge success! <ottawalinuxsymposium.org>
This SunRayce was a wet one! DroughtRelief_99? -- <www.sunrayce.com/sunrayce/>
Richard Guy Briggs -- PGP key available Auto-Free Ottawa! Canada
<http://www.conscoop.ottawa.on.ca/rgb/> </www.flora.org/afo/>
Prevent Internet Wiretapping! -- FreeS/WAN:<www.xs4all.nl/~freeswan>
Thanks for voting Green! -- <green.ca> Marillion:<www.marillion.co.uk>
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3i
Charset: noconv
iQCVAwUBN8IOvN+sBuIhFagtAQHA8gP+ItBQaBmkLALCY2sEos03iBdjI8eXp/MI
45n0Qqr0luOgioxkSWYagUHEu/O3kwSywky41ukMvF1+6wDxXX3sZZcRNcPwYRMa
zxEt5TW/Mt6hQVHAXo/QQHq34b4NZ45FvhNU2Brjy0Rl675SwzL+5yWMoI/xLiBu
2tJYD0jsIQA=
=xVbn
-----END PGP SIGNATURE-----
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/