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>
References:  <Pine.LNX.4.62.0505081401540.31842@server.dswett.patrickdk.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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