cc: Re: skb configured but can't get data allocated

From: DHAJOGLO <hidden>
Date: 2007-09-12 23:41:42

To All, Thanks for the help.  I ended up adding my data packet after the ip headers and then updated the IP length:

 /* Allocate space for our exp_packet data payload and set the data */
        d_out = (struct exp_packet *)skb_put(skb,sizeof(struct exp_packet));
        d_out->headbits = (reply<<4) & 0xF0;
        d_out->sequence = pkthr.m_seq;
        d_out->payload = htons(pkthr.p_hash);

        /* adjust the total length of this IP packet */
        iplen = skb->tail - (unsigned char *)skb->nh.iph;
        iph->tot_len = htons(iplen);
        ip_send_check(iph);

This is my first venture into the kernel!

On Wednesday, September 12, 2007  3:12 PM, Vlad Yasevich wrote:
Date: Wed, 12 Sep 2007 16:12:37 -0400
From: Vlad Yasevich
To: DHAJOGLO <redacted>
Subject: Re: skb configured but can't get data allocated

You may want to read this page:
http://vger.kernel.org/~davem/skb.html

You will then see you problem.

Essentially, you are writing your data into an
area that is never sent.

What you are end up is this:

---------------------------------------------
| your data| space | ll-header | IPv4 header|
---------------------------------------------

-vlad

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help