netdev
[Top] [All Lists]

Modifying sk_buff in ip6_xmit

To: Linux Netdev <netdev@xxxxxxxxxxx>
Subject: Modifying sk_buff in ip6_xmit
From: Stefan Schlott <stefan.schlott@xxxxxxxxxxxxxxxxxx>
Date: Fri, 13 Oct 2000 09:46:46 +0200
Sender: owner-netdev@xxxxxxxxxxx
User-agent: Mutt/1.2.5i
Hi all,

I'm trying to modify the data passed to ip6_xmit (in ip6_output.c)...
The new data will be a bit larger, so I use skb_push to increase the data
size in skb (after making sure that there is enough headroom for both
my data and all extension headers):
  skb->h.raw = skb_push(skb,required_size);
This works perfectly fine... until I update the payload size (which will
be inserted in the IPv6 header later):
  seg_len += required_size;
If I update seg_len, my computer freezes (no oops, no kernel panic).
If I don't update it, I will (of course) get truncated packets.

The point that drives me insane is that everything works fine when
inserting extension headers!

I'm working with kernel ver. 2.4.0-test9. My network tests use the lo
loopback device.

Anyone any ideas? Any help would be really appreciated...

Stefan.

-- 
*--- please cut here... -------------------------------------- thanks! ---*
|-> E-Mail: stefan.schlott@xxxxxxxxxxxxxxxxxx    DH-PGP-Key: 0x2F36F4FE <-|
| If Bill Gates had a dime for every time a Windows box crashed... oh,    |
| wait a minute -- he already does.                                       |
|   -- Seen on Slashdot (19.04.2000)                                      |
*-------------------------------------------------------------------------*

<Prev in Thread] Current Thread [Next in Thread>
  • Modifying sk_buff in ip6_xmit, Stefan Schlott <=