<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule">

<channel>
<title>Topic &#x27;Bad TCP checksum generated by LKM&#x27; in forum &#x27;Webmasters and Developers&#x27; - dslreports.com</title>
<link>http://www.dslreports.com/forum/Bad-TCP-checksum-generated-by-LKM-23298514</link>
<description></description>
<language>en</language>
<pubDate>Fri, 10 Feb 2012 20:29:13 EDT</pubDate>
<lastBuildDate>Fri, 10 Feb 2012 20:29:13 EDT</lastBuildDate>

<item>
<title>Re: Bad TCP checksum generated by LKM</title>
<link>http://www.dslreports.com/forum/Re-Bad-TCP-checksum-generated-by-LKM-23302743</link>
<description><![CDATA[yaplej posted : I finally figured out why I was getting bad checksum.  The<br>variable tcplen was an __u8, and tcplen should actually be __u16.<br><br>tcpoptions.h<br><pre class="brush: text">tcplen = ntohs(iph-&gt;tot_len) - ip_hdrlen(skb);&#012; &#012;tcph-&gt;check = 0;&#012;tcph-&gt;check = tcp_v4_check(tcph, tcplen,&#012;iph-&gt;saddr,&#012;iph-&gt;daddr,&#012;csum_partial((char *)tcph, tcplen, 0));&#012; &#012;</pre><!--end code block--><br><small>--<br>sk_buff what?<br><br>Open Source WAN Accelerator<br>&raquo;<A HREF="http://trafficsqueezer.sourceforge.net/" >trafficsqueezer.sourceforge.net/</A><br><br></small>]]></description>
<guid isPermaLink="true">http://www.dslreports.com/forum/Re-Bad-TCP-checksum-generated-by-LKM-23302743</guid>
<pubDate>Fri, 06 Nov 2009 15:01:38 EDT</pubDate>
</item>

<item>
<title>Bad TCP checksum generated by LKM</title>
<link>http://www.dslreports.com/forum/Bad-TCP-checksum-generated-by-LKM-23298514</link>
<description><![CDATA[yaplej posted : I have been working on a Linux Kernel Module that will accelerate network traffic.  Its been a slow go as I am learning both C, and kernel development.<br><br>I have a nearly finished prototype now, but ran into a wall.  The module processes network packets using the function in packetprocessor.h.  It inserts custom TCP options into the network packets so other devices running the module can detect each other.  Its similar to what commercial WAN accelerators do.<br><br>I found that the module starts creating bad TCP checksum at line #112 of packetprocessor.h .  This makes me think there is something wrong with __set_tcp_option() in tcpoptions.h.<br><br>Whats confusing is that the same function worked fine at line #62, 63, 94, and 95 without any problems.  Maybe someone can look though __set_tcp_option() in tcpoptions.h, and possibly at the code in packetprocessor.h around line #112.<br><br>I have been looking at this for a while, and cannot figure out where its getting mucked up.<br><small>--<br>sk_buff what?<br><br>Open Source WAN Accelerator<br>&raquo;<A HREF="http://trafficsqueezer.sourceforge.net/" >trafficsqueezer.sourceforge.net/</A><br><br></small><div class="borderless"><TABLE WIDTH=95% align=center border=0 CELLPADDING=4"><TR><TD ALIGN=CENTER VALIGN=CENTER BGCOLOR=#FFFFFF nwrap WIDTH=33%><A HREF="/r0/download/1486760~51bb273d1bdda0e51f51a1225ec03205/PacketProcessor_v1.29.zip"><IMG  align=absmiddle style="vertical-align:middle;" TITLE="download" SRC="http://i.dslr.net/silk/compress.png" border=0 width=16 height=16><IMG SRC="http://i.dslr.net/1ptrans.gif" WIDTH=10 HEIGHT=1 border=0><big>PacketProces&middot;&middot;&middot;1.29.zip</big></A> <small>12,936 bytes</small><br>Dont laugh at my code!</TD></TABLE></div>]]></description>
<guid isPermaLink="true">http://www.dslreports.com/forum/Bad-TCP-checksum-generated-by-LKM-23298514</guid>
<pubDate>Thu, 05 Nov 2009 19:44:29 EDT</pubDate>
</item>

</channel>
</rss>

