From owner-freebsd-net@FreeBSD.ORG Sun May 8 15:41:18 2005 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3FDF516A4E3 for ; Sun, 8 May 2005 15:41:18 +0000 (GMT) Received: from mta9.adelphia.net (mta9.adelphia.net [68.168.78.199]) by mx1.FreeBSD.org (Postfix) with ESMTP id C617C43D67 for ; Sun, 8 May 2005 15:41:17 +0000 (GMT) (envelope-from maksim.yevmenkin@savvis.net) Received: from [192.168.1.254] (really [70.32.199.60]) by mta9.adelphia.net (InterMail vM.6.01.04.01 201-2131-118-101-20041129) with ESMTP id <20050508154117.NBUP8952.mta9.adelphia.net@[192.168.1.254]>; Sun, 8 May 2005 11:41:17 -0400 Message-ID: <427E3336.3040907@savvis.net> Date: Sun, 08 May 2005 08:41:42 -0700 From: Maksim Yevmenkin User-Agent: Mozilla Thunderbird 0.7.1 (Windows/20040626) X-Accept-Language: en-us, en MIME-Version: 1.0 To: patrickdk@patrickdk.com References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-net@freebsd.org Subject: Re: tap interface and locally generated packets X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 May 2005 15:41:18 -0000 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