cvs commit: src/sys/dev/msk if_msk.c

Andre Oppermann andre at freebsd.org
Mon Jun 11 07:50:25 UTC 2007


Pyun YongHyeon wrote:
> On Mon, Jun 11, 2007 at 09:38:10AM +0200, Andre Oppermann wrote:
>  > Pyun YongHyeon wrote:
>  > >yongari     2007-06-11 01:55:09 UTC
>  > >
>  > >  FreeBSD src repository
>  > >
>  > >  Modified files:
>  > >    sys/dev/msk          if_msk.c 
>  > >  Log:
>  > >  Disable automatic IP ID increment. Due to a hardware bug the automatic
>  > >  IP ID increment in TSO case generated corrupted IP packets.
>  > >  This change brings back TSO capability.
>  > >  
>  > >  Revision  Changes    Path
>  > >  1.16      +0 -15     src/sys/dev/msk/if_msk.c
>  > 
>  > Please add check for the DF (Don't fragment) bit in the IP header.
>  > Otherwise we may run into trouble when fragmentation happens along
>  > the path.  We almost always set DF on TCP connections. If it is not
>  > set please return EMSGSIZE which will cause TSO to be turned off.
>  > 
> 
> Is there any way to return EMSGSIZE to upper layer?
> if_start has return type void.
> Or just dropping the packet if DF bit was not set is enough?

Dropping the packet is not enough.  I forgot the IF queue which
separates the downpath from the encap function...  Don't know
how you can pass up the error.  Robert wanted to change the drivers
queuing model, that would make it possible.  CC'ed.

-- 
Andre


More information about the cvs-src mailing list