public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Josan Kadett <corporate@superonline.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: RE: Cursed Checksums
Date: Sun, 22 Aug 2004 21:36:30 +0100	[thread overview]
Message-ID: <1093206990.25041.3.camel@localhost.localdomain> (raw)
In-Reply-To: <S268085AbUHVUD4/20040822200356Z+207@vger.kernel.org>

On Sul, 2004-08-22 at 22:03, Josan Kadett wrote:
> Perhaps there is a way to recompute IP header checksums before they get into
> the interface? As I outlined, I have found a way to manipulate IP source
> address before the packet is flushed to system, but a means of recalculating
> the IP header checksum after that manipulation should be found. Because even
> if I ignore IP header CRC in one system, all other boxes connected to this
> machine has to be patched the same. That is impossible anyway.
> 
> Only if I could find a way to recalculate the checksum in IP headers by
> doing a simple hack to the kernel, everything would be alright. 

Providing your hardware isn't doing the checksums then you can do 
this. Each ethernet packet driver with pass packets up to the 
layer above (netif_rx()). Something like

	skb->protocol = eth_type_trans(...)
	/* Check packet here */
	whack_packet(skb->h.raw skb->len);
	netif_rx(skb);

in the driver. Before the netif_rx you can validly mangle the bits



  reply	other threads:[~2004-08-22 21:41 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-21  2:37 Cursed Checksums Josan Kadett
2004-08-22 11:40 ` Alan Cox
2004-08-22 19:39   ` Josan Kadett
2004-08-22 21:03   ` Josan Kadett
2004-08-22 20:36     ` Alan Cox [this message]
2004-08-22 22:58     ` Olivier Galibert
2004-08-23  0:05       ` Josan Kadett
  -- strict thread matches above, loose matches on Subject: below --
2004-08-22 18:55 Albert Cahalan
2004-08-22 22:38 ` Josan Kadett
     [not found] <E1Bz02y-00052n-3Z@sc8-sf-mx2.sourceforge.net>
2004-08-22 20:14 ` Albert Cahalan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1093206990.25041.3.camel@localhost.localdomain \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=corporate@superonline.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox