Checksum Question about new sk_buffs
From: Buster Holzbauer <hidden>
Date: 2009-07-22 19:42:11
Hello,
I am a researcher at a university working on a new protocol based off of TCP, using the 2.6.26.5 kernel on a pair of gentoo machines. I need to send additional sk_buffs containing redundancy information as well as the sk_buffs TCP would normally send containing data.
The redundancy sk_buffs are constructed by a function called by tcp_push (). I create these sk_buffs by calling sk_stream_alloc_skb(), then updating a few fields in the header (such as sequence number), but I'm clearly doing something wrong or missing a step. I believe this because after adding a printk to the csum_error label in tcp_rcv_established, the receiver-side logs show that these redundancy sk_buffs are triggering this label. The normal data sk_buffs, as expected, do not trigger this printk.
Does anyone have any information about the specific steps to create a new sk_buff, update header fields, and populate it with data so that the receiver processes the sk_buff correctly?
Thanks in advance for any help you can provide,
Buster Holzbauer