lkml.org 
[lkml]   [1999]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: linux-ipsec: possibly bogus value passed to skb->dst->output
    Date
    -----BEGIN PGP SIGNED MESSAGE-----

    > 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/

    \
     
     \ /
      Last update: 2005-03-22 13:53    [W:0.026 / U:0.312 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site