Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 08 May 2005 08:41:42 -0700
From:      Maksim Yevmenkin <maksim.yevmenkin@savvis.net>
To:        patrickdk@patrickdk.com
Cc:        freebsd-net@freebsd.org
Subject:   Re: tap interface and locally generated packets
Message-ID:  <427E3336.3040907@savvis.net>
In-Reply-To: <Pine.LNX.4.62.0505081401540.31842@server.dswett.patrickdk.com>

index | next in thread | previous in thread | raw e-mail

Patrick,

> I have been working with tap interfaces, bridging and openvpn
> 
> Bridging works perfectly, and openvpn does too
> 
> Packet pings from the tap interface works to any ip address, on the 
> local machine or computer on the bridged network
> 
> Attempting to make a tcp connection works for bridged network, but not 
> the machine the tap interface is on
> 
> I have found this is due to tcp checksums not being generated, Packets 
> recieved over the tap interface on the client machine have blank (bad) 
> checksums.
> 
> I have looked at the source and it seems there is no interface to add 
> the checksums to be generated for the tap interface.

tap(4) interface should not modify anything inside the packet. the whole 
point is to accept _complete_ ethernet frame from user-space (just as it 
comes from the wire) and pass it up the stack.

my guess would be that something else is not generating proper ip 
checksum. just a crazy thought: are you offloading ip checksum'ing to 
your ethernet card? if so, please try to disable it and see if it helps.

thanks,
max


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?427E3336.3040907>