udp fragmentation

Vadym Chepkov vchepkov at gmail.com
Mon Jul 2 01:11:57 UTC 2007


Max,

I have applied the patch, seems to be working fine, thank you.

Vadym Chepkov
----- Original Message ----- 
From: "Max Laier" <max at love2party.net>
To: <freebsd-pf at freebsd.org>
Cc: "Hugo Koji Kobayashi" <koji at registro.br>
Sent: Friday, June 29, 2007 9:04 AM
Subject: Re: udp fragmentation


On Friday 29 June 2007, Max Laier wrote:
> On Friday 29 June 2007, Pyun YongHyeon wrote:
> > On Thu, Jun 28, 2007 at 10:56:01PM +0200, Max Laier wrote:
> >  > > > The only thing common about your setup seems to be the bge(4)
> >  > > > NIC. Can you try disabling hardware checksumming (ifconfig
> >  > > > -txcsum -rxcsum)?  My test is over a hardware checksumming
> >  > > > fxp(4) card, though.
> >  > >
> >  > > Yes, this eliminated the issue. Bug in bge driver?
> >  >
> >  > Kind of - the driver claims to have done UDP checksum testing on
> >  > the fragment (which is impossible).  The attached patch should fix
> >  > the issue for bge(4) and any other similar NIC.
> >
> > I guess bge(4) has Rx checksum offload bug on fragmented UDP
> > datagrams. Since other hardwares with checksum offload capability
> > does not show this issue, it could be related with UDP pseudo header
> > calculation. How about disabling UDP pseudo header calculation?
> >
> > I don't have bge(4) hardwares so the patch is just guess work.
>
> In fact it doesn't seem broken at all, we would just have to do
> something along the lines of ip_input.c::ip_reass() (line 1001 ff):
>...
> Have to ponder a bit, if this is easily possible in pf's reassembly.

Works - see attached.

Does anyone know of a tool to generate nasty fragments to really test 
this?  Reordered / overlapping / etc. ?

-- 
/"\  Best regards,                      | mlaier at freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier at EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News



More information about the freebsd-pf mailing list