From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 03:38:58 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04EC91065671; Sun, 21 Sep 2008 03:38:58 +0000 (UTC) (envelope-from marcus@marcuscom.com) Received: from creme-brulee.marcuscom.com (unknown [IPv6:2001:470:1f00:ffff::1279]) by mx1.freebsd.org (Postfix) with ESMTP id 8A35C8FC17; Sun, 21 Sep 2008 03:38:57 +0000 (UTC) (envelope-from marcus@marcuscom.com) Received: from [IPv6:2001:470:1f00:2464::4] (shumai.marcuscom.com [IPv6:2001:470:1f00:2464::4]) by creme-brulee.marcuscom.com (8.14.3/8.14.3) with ESMTP id m8L3dBms020012; Sat, 20 Sep 2008 23:39:11 -0400 (EDT) (envelope-from marcus@marcuscom.com) From: Joe Marcus Clarke To: Ashish Shukla =?UTF-8?Q?=E0=A4=86=E0=A4=B6=E0=A5=80=E0=A4=B7_?= =?UTF-8?Q?=E0=A4=B6=E0=A5=81=E0=A4=95=E0=A5=8D=E0=A4=B2?= In-Reply-To: <87ej3e32iz.fsf@chateau.d.lf> References: <87ej3e32iz.fsf@chateau.d.lf> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-rwhVCFswtsSWRb+4Bt6y" Organization: MarcusCom, Inc. Date: Sat, 20 Sep 2008 23:39:02 -0400 Message-Id: <1221968342.74421.4.camel@shumai.marcuscom.com> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 FreeBSD GNOME Team Port X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,NO_RELAYS autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on creme-brulee.marcuscom.com Cc: freebsd-net@freebsd.org, freebsd-gnome@freebsd.org Subject: Re: [X-POST] Anyone porting NetworkManager to FreeBSD ? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 03:38:58 -0000 --=-rwhVCFswtsSWRb+4Bt6y Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sun, 2008-09-21 at 03:26 +0530, Ashish Shukla =E0=A4=86=E0=A4=B6=E0=A5= =80=E0=A4=B7 =E0=A4=B6=E0=A5=81=E0=A4=95=E0=A5=8D=E0=A4=B2 wrote: > Hi all, >=20 > Is there anyone, who is porting NetworkManager[1] to FreeBSD ? If yes, I > would like to be a tester or contributor to the effort. It's been on our ideas list for a while, and I think someone mentioned they were working on it a few months ago (check the archives). I held a desktop discussion at the last BSDCan, and Kris Moore of PC-BSD suggested it may be easier to port their network manager (http://svn.pcbsd.org/browser/pcbsd/trunk/NetworkManager) from KDE to GTK+/GNOME In the meantime, I did a GNOME PBI for PC-BSD, and added hooks to make use of some of PC-BSD's admin tools. The result was positive. However, it would be great to have working GTK+/GNOME native tools. Joe >=20 > References: > [1] - http://www.gnome.org/projects/NetworkManager/ >=20 > Thanks > Ashish Shukla --=20 PGP Key : http://www.marcuscom.com/pgp.asc --=-rwhVCFswtsSWRb+4Bt6y Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAkjVwdMACgkQb2iPiv4Uz4eKSACfbHAc7ewleFy7PEf8i4Qlhd7v r9YAoJl7YfkBjpjF51QLxcLrNJ6/bpLM =IVqa -----END PGP SIGNATURE----- --=-rwhVCFswtsSWRb+4Bt6y-- From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 09:57:48 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C80AB1065684 for ; Sun, 21 Sep 2008 09:57:48 +0000 (UTC) (envelope-from kris@FreeBSD.org) Received: from weak.local (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id E49418FC24; Sun, 21 Sep 2008 09:57:47 +0000 (UTC) (envelope-from kris@FreeBSD.org) Message-ID: <48D61AA9.5080208@FreeBSD.org> Date: Sun, 21 Sep 2008 10:58:01 +0100 From: Kris Kennaway User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 To: Jian Qiu References: <48CF6450.6020909@FreeBSD.org> <48D00899.4070908@FreeBSD.org> <48D2ABA2.8010703@FreeBSD.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: What's the status of parallel netisr? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 09:57:48 -0000 Jian Qiu wrote: > Hi, Kris, > >> In our application-level tests FreeBSD significantly out-performs Linux, so >> either you have found a different workload, or something is not configured >> equally. One important thing I can think of off the top of my head is that >> Linux has a larger socket buffer size by default, so try tuning that on >> FreeBSD or confirm they are equal. >> >> If that still fails, can you provide test code? >> >> Kris >> > > I tried but larger socket buffer seem not helpful. > > I also tried netperf and iperf. Both applications achieve better > throughput on Linux. > > So I feel the result is not specific to my test code. > > My code is very simple. Basically, a client process called sendto in a > loop while a server called recvfrom in a loop. > Besides these, some additional lines get the throughput statistics. If > necessary, I will post the code here. > > BTW, I did the tests on Linux 2.26.5. Which linux kernel did you use? > > Could you please provide some more information on your test. The ones I have in mind were application level benchmarks of things like DNS and memcached. I tested on 2.6.25, which is perhaps what you meant to say too. Try to keep looking for other factors that might still be in play, like hardware or driver differences. Kris From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 18:25:34 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82F3E1065675 for ; Sun, 21 Sep 2008 18:25:34 +0000 (UTC) (envelope-from alcazoid@gmail.com) Received: from ik-out-1112.google.com (ik-out-1112.google.com [66.249.90.179]) by mx1.freebsd.org (Postfix) with ESMTP id 14F0A8FC1A for ; Sun, 21 Sep 2008 18:25:33 +0000 (UTC) (envelope-from alcazoid@gmail.com) Received: by ik-out-1112.google.com with SMTP id c29so662359ika.3 for ; Sun, 21 Sep 2008 11:25:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=9YGnn/GMmX8oK2691p0cNL6v00VVinKJtTo0DXASA74=; b=cUg20UEp60w8k2LmMzyZXhOJgy6fXBCDcPx7f4iKMyTtQX+EJEQjN7sR8iOsBGKj22 RGVc4NY7fgJTkYTnRPpn3QoaSZ7iasYFg3nwQgaOql3tl2PrL/3Lwezl3Sr2aZo13HAD KhwKzvw6tAJDBjj/ohodkjoj56htxsW18++uI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=C6D7z41reGwbxNrjFSBSLfYm344DWdI//5n8Cvple4/IyhiPLXvZURLngxx4ut8JIK C2fyffc2M1ZKKYvSn7RfQ2dIkzIWkhaYn4e1J6qIlvuaLuZNMknOo6hZetkr8stcc79n hi+yWjGslXLkIzF5pdSS8rhGpOZ/kw6m+S51A= Received: by 10.210.80.17 with SMTP id d17mr3648775ebb.32.1222019980847; Sun, 21 Sep 2008 10:59:40 -0700 (PDT) Received: by 10.210.57.7 with HTTP; Sun, 21 Sep 2008 10:59:40 -0700 (PDT) Message-ID: Date: Sun, 21 Sep 2008 21:59:40 +0400 From: "Mikhail Gorbulev" To: "Joe Marcus Clarke" In-Reply-To: <1221968342.74421.4.camel@shumai.marcuscom.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline References: <87ej3e32iz.fsf@chateau.d.lf> <1221968342.74421.4.camel@shumai.marcuscom.com> Cc: freebsd-net@freebsd.org, freebsd-gnome@freebsd.org Subject: Re: [X-POST] Anyone porting NetworkManager to FreeBSD ? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 18:25:34 -0000 SSB3YXMgdGhpbmtpbmcgYWJvdXQgcG9ydGluZyBpdCwgYmVjYXVzZSBJIHJlYWxseSBuZWVkIHRo aXMgdGhpbmcgb24KbXkgbGFwdG9wIGFuZCB0byBoYXZlIHNvbWUgcHJvZ3JhbW1pbmcgZXhwZXJp ZW5jZS4gSSBqdXN0IHdhbnRlZCB0bwpoYXZlIGEgY29tcGFuaW9uLCBiZWNhdXNlIEknbSBub3Qg c3VyZSBJIGNhbiBoYW5kbGUgdGhpcyBieSBteXNlbGYgYW5kCmJlY2F1c2UgSSdtIHByZXR0eSBs YXp5IHRoZXNlIGRheXMsIHNvIEkgbmVlZCB0byBmZWVsIHJlc3BvbnNpYmlsaXR5CjopCkFueW9u ZSBpbnRlcmVzdGVkPwoKMjAwOC85LzIxIEpvZSBNYXJjdXMgQ2xhcmtlIDxtYXJjdXNAbWFyY3Vz Y29tLmNvbT46Cj4gT24gU3VuLCAyMDA4LTA5LTIxIGF0IDAzOjI2ICswNTMwLCBBc2hpc2ggU2h1 a2xhIOCkhuCktuClgOCktyDgpLbgpYHgpJXgpY3gpLIgd3JvdGU6Cj4+IEhpIGFsbCwKPj4KPj4g SXMgdGhlcmUgYW55b25lLCB3aG8gaXMgcG9ydGluZyBOZXR3b3JrTWFuYWdlclsxXSB0byBGcmVl QlNEID8gSWYgeWVzLCBJCj4+IHdvdWxkIGxpa2UgdG8gYmUgYSB0ZXN0ZXIgb3IgY29udHJpYnV0 b3IgdG8gdGhlIGVmZm9ydC4KPgo+IEl0J3MgYmVlbiBvbiBvdXIgaWRlYXMgbGlzdCBmb3IgYSB3 aGlsZSwgYW5kIEkgdGhpbmsgc29tZW9uZSBtZW50aW9uZWQKPiB0aGV5IHdlcmUgd29ya2luZyBv biBpdCBhIGZldyBtb250aHMgYWdvIChjaGVjayB0aGUgYXJjaGl2ZXMpLiAgSSBoZWxkIGEKPiBk ZXNrdG9wIGRpc2N1c3Npb24gYXQgdGhlIGxhc3QgQlNEQ2FuLCBhbmQgS3JpcyBNb29yZSBvZiBQ Qy1CU0QKPiBzdWdnZXN0ZWQgaXQgbWF5IGJlIGVhc2llciB0byBwb3J0IHRoZWlyIG5ldHdvcmsg bWFuYWdlcgo+IChodHRwOi8vc3ZuLnBjYnNkLm9yZy9icm93c2VyL3BjYnNkL3RydW5rL05ldHdv cmtNYW5hZ2VyKSBmcm9tIEtERSB0bwo+IEdUSysvR05PTUUKPgo+IEluIHRoZSBtZWFudGltZSwg SSBkaWQgYSBHTk9NRSBQQkkgZm9yIFBDLUJTRCwgYW5kIGFkZGVkIGhvb2tzIHRvIG1ha2UKPiB1 c2Ugb2Ygc29tZSBvZiBQQy1CU0QncyBhZG1pbiB0b29scy4gIFRoZSByZXN1bHQgd2FzIHBvc2l0 aXZlLiAgSG93ZXZlciwKPiBpdCB3b3VsZCBiZSBncmVhdCB0byBoYXZlIHdvcmtpbmcgR1RLKy9H Tk9NRSBuYXRpdmUgdG9vbHMuCj4KPiBKb2UKPgo+Pgo+PiBSZWZlcmVuY2VzOgo+PiBbMV0gLSBo dHRwOi8vd3d3Lmdub21lLm9yZy9wcm9qZWN0cy9OZXR3b3JrTWFuYWdlci8KPj4KPj4gVGhhbmtz Cj4+IEFzaGlzaCBTaHVrbGEKPiAtLQo+IFBHUCBLZXkgOiBodHRwOi8vd3d3Lm1hcmN1c2NvbS5j b20vcGdwLmFzYwo+CgoKCi0tIApCZXN0IHdpc2hlcywgbWUuCg== From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 18:28:40 2008 Return-Path: Delivered-To: freebsd-net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0716106566C; Sun, 21 Sep 2008 18:28:40 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from mail-gw1.york.ac.uk (mail-gw1.york.ac.uk [144.32.128.246]) by mx1.freebsd.org (Postfix) with ESMTP id 4F2CB8FC23; Sun, 21 Sep 2008 18:28:40 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from mail-gw7.york.ac.uk (mail-gw7.york.ac.uk [144.32.129.30]) by mail-gw1.york.ac.uk (8.13.6/8.13.6) with ESMTP id m8LHugKg002475; Sun, 21 Sep 2008 18:56:42 +0100 (BST) Received: from ury.york.ac.uk ([144.32.108.81]) by mail-gw7.york.ac.uk with esmtps (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1KhTAn-0003SG-Uh; Sun, 21 Sep 2008 18:56:42 +0100 Received: from ury.york.ac.uk (localhost.york.ac.uk [127.0.0.1]) by ury.york.ac.uk (8.14.2/8.14.2) with ESMTP id m8LHufeX009539; Sun, 21 Sep 2008 18:56:41 +0100 (BST) (envelope-from gavin@FreeBSD.org) Received: from localhost (gavin@localhost) by ury.york.ac.uk (8.14.2/8.14.2/Submit) with ESMTP id m8LHue11009531; Sun, 21 Sep 2008 18:56:41 +0100 (BST) (envelope-from gavin@FreeBSD.org) X-Authentication-Warning: ury.york.ac.uk: gavin owned process doing -bs Date: Sun, 21 Sep 2008 18:56:40 +0100 (BST) From: Gavin Atkinson X-X-Sender: gavin@ury.york.ac.uk To: freebsd-net@FreeBSD.org Message-ID: <20080921183530.V31429@ury.york.ac.uk> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-847998414-1222019800=:31429" X-York-MailScanner: Found to be clean X-York-MailScanner-From: gavin@freebsd.org Cc: sam@FreeBSD.org Subject: Backporting iwn(4): WPA auth hangs... Help! X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 18:28:40 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-847998414-1222019800=:31429 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Hi all, I'm attempting to backport the iwn(4) driver for the Intel 4965 driver from -HEAD to RELENG_7 and am getting stuck with it at one particular point: WPA authentication times out. I've so far tried to both take the -HEAD driver and de-vapify etc. it, and also to take a pre-vap version of the driver and bring in required changes. Both fail in exactly the same way, with authentication timing out. I have verified that the laptop can successfully connect to the same network with -HEAD and the same wpa_supplicant.conf file. I've attached the log file from wpa_supplicant. Code can be found at http://people.freebsd.org/~gavin/iwn/ - I'm currently working with the updated-from-pre-vap version so that's the one that generated the log file and is probably the best to look at. Sadly I don't have the infrastructure at the moment to test if the driver works with WEP. Any help or pointers would be greatfully received, Thanks! Gavin --0-847998414-1222019800=:31429 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=wpa-supp.log Content-Transfer-Encoding: BASE64 Content-ID: <20080921185640.T31429@ury.york.ac.uk> Content-Description: Content-Disposition: attachment; filename=wpa-supp.log SW5pdGlhbGl6aW5nIGludGVyZmFjZSAnaXduMCcgY29uZiAnL3Jvb3Qvd3Bh X3N1cHBsaWNhbnQuY29uZicgZHJpdmVyICdkZWZhdWx0JyBjdHJsX2ludGVy ZmFjZSAnTi9BJyBicmlkZ2UgJ04vQScNCkNvbmZpZ3VyYXRpb24gZmlsZSAn L3Jvb3Qvd3BhX3N1cHBsaWNhbnQuY29uZicgLT4gJy9yb290L3dwYV9zdXBw bGljYW50LmNvbmYnDQpSZWFkaW5nIGNvbmZpZ3VyYXRpb24gZmlsZSAnL3Jv b3Qvd3BhX3N1cHBsaWNhbnQuY29uZicNCmN0cmxfaW50ZXJmYWNlPScvdmFy L3J1bi93cGFfc3VwcGxpY2FudCcNClByaW9yaXR5IGdyb3VwIDANCiAgIGlk PTAgc3NpZD0nc2RrZmp3Jw0KSW5pdGlhbGl6aW5nIGludGVyZmFjZSAoMikg J2l3bjAnDQpFQVBPTDogU1VQUF9QQUUgZW50ZXJpbmcgc3RhdGUgRElTQ09O TkVDVEVEDQpFQVBPTDogS0VZX1JYIGVudGVyaW5nIHN0YXRlIE5PX0tFWV9S RUNFSVZFDQpFQVBPTDogU1VQUF9CRSBlbnRlcmluZyBzdGF0ZSBJTklUSUFM SVpFDQpFQVA6IEVBUCBlbnRlcmluZyBzdGF0ZSBESVNBQkxFRA0KRUFQT0w6 IEV4dGVybmFsIG5vdGlmaWNhdGlvbiAtIHBvcnRFbmFibGVkPTANCkVBUE9M OiBFeHRlcm5hbCBub3RpZmljYXRpb24gLSBwb3J0VmFsaWQ9MA0KT3duIE1B QyBhZGRyZXNzOiAwMDoxZjozYjoyNDplZDplZA0Kd3BhX2RyaXZlcl9ic2Rf c2V0X3dwYTogZW5hYmxlZD0xDQp3cGFfZHJpdmVyX2JzZF9zZXRfd3BhX2lu dGVybmFsOiB3cGE9MyBwcml2YWN5PTENCndwYV9kcml2ZXJfYnNkX2RlbF9r ZXk6IGtleWlkeD0wDQp3cGFfZHJpdmVyX2JzZF9kZWxfa2V5OiBrZXlpZHg9 MQ0Kd3BhX2RyaXZlcl9ic2RfZGVsX2tleToga2V5aWR4PTINCndwYV9kcml2 ZXJfYnNkX2RlbF9rZXk6IGtleWlkeD0zDQp3cGFfZHJpdmVyX2JzZF9zZXRf Y291bnRlcm1lYXN1cmVzOiBlbmFibGVkPTANCndwYV9kcml2ZXJfYnNkX3Nl dF9kcm9wX3VuZW5jcnlwdGVkOiBlbmFibGVkPTENClNldHRpbmcgc2NhbiBy ZXF1ZXN0OiAwIHNlYyAxMDAwMDAgdXNlYw0KQWRkZWQgaW50ZXJmYWNlIGl3 bjANClN0YXRlOiBESVNDT05ORUNURUQgLT4gU0NBTk5JTkcNClN0YXJ0aW5n IEFQIHNjYW4gKHNwZWNpZmljIFNTSUQpDQpTY2FuIFNTSUQgLSBoZXhkdW1w X2FzY2lpKGxlbj02KToNCiAgICAgNzMgNjQgNmIgNjYgNmEgNzcgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZGtmancgICAgICAgICAgDQpU cnlpbmcgdG8gZ2V0IGN1cnJlbnQgc2NhbiByZXN1bHRzIGZpcnN0IHdpdGhv dXQgcmVxdWVzdGluZyBhIG5ldyBzY2FuIHRvIHNwZWVkIHVwIGluaXRpYWwg YXNzb2NpYXRpb24NClJlY2VpdmVkIDAgYnl0ZXMgb2Ygc2NhbiByZXN1bHRz ICgwIEJTU2VzKQ0KU2NhbiByZXN1bHRzOiAwDQpTZWxlY3RpbmcgQlNTIGZy b20gcHJpb3JpdHkgZ3JvdXAgMA0KVHJ5IHRvIGZpbmQgV1BBLWVuYWJsZWQg QVANClRyeSB0byBmaW5kIG5vbi1XUEEgQVANCk5vIHN1aXRhYmxlIEFQIGZv dW5kLg0KU2V0dGluZyBzY2FuIHJlcXVlc3Q6IDAgc2VjIDAgdXNlYw0KU3Rh cnRpbmcgQVAgc2NhbiAoYnJvYWRjYXN0IFNTSUQpDQpSZWNlaXZlZCAwIGJ5 dGVzIG9mIHNjYW4gcmVzdWx0cyAoMyBCU1NlcykNClNjYW4gcmVzdWx0czog Mw0KU2VsZWN0aW5nIEJTUyBmcm9tIHByaW9yaXR5IGdyb3VwIDANClRyeSB0 byBmaW5kIFdQQS1lbmFibGVkIEFQDQowOiAwMDoxOTo0Yjo5Nzo4NDpjZCBz c2lkPSdjb203Nycgd3BhX2llX2xlbj0yNiByc25faWVfbGVuPTAgY2Fwcz0w eDExDQogICBza2lwIC0gU1NJRCBtaXNtYXRjaA0KMTogMDA6MWY6MzM6N2E6 NWY6YmUgc3NpZD0nU0tZMDQwMTQnIHdwYV9pZV9sZW49MjYgcnNuX2llX2xl bj0wIGNhcHM9MHg3MQ0KICAgc2tpcCAtIFNTSUQgbWlzbWF0Y2gNCjI6IDAw OjEzOjQ5OmMwOjNjOmUxIHNzaWQ9J3Nka2Zqdycgd3BhX2llX2xlbj0wIHJz bl9pZV9sZW49MjIgY2Fwcz0weDExDQogICBzZWxlY3RlZCBiYXNlZCBvbiBS U04gSUUNCiAgIHNlbGVjdGVkIFdQQSBBUCAwMDoxMzo0OTpjMDozYzplMSBz c2lkPSdzZGtmancnDQpUcnkgdG8gZmluZCBub24tV1BBIEFQDQpUcnlpbmcg dG8gYXNzb2NpYXRlIHdpdGggMDA6MTM6NDk6YzA6M2M6ZTEgKFNTSUQ9J3Nk a2ZqdycgZnJlcT0yNDcyIE1IeikNCkNhbmNlbGxpbmcgc2NhbiByZXF1ZXN0 DQpXUEE6IGNsZWFyaW5nIG93biBXUEEvUlNOIElFDQpBdXRvbWF0aWMgYXV0 aF9hbGcgc2VsZWN0aW9uOiAweDENCndwYV9kcml2ZXJfYnNkX3NldF9hdXRo X2FsZyBhbGcgMHgxIGF1dGhtb2RlIDENClJTTjogdXNpbmcgSUVFRSA4MDIu MTFpL0Q5LjANCldQQTogU2VsZWN0ZWQgY2lwaGVyIHN1aXRlczogZ3JvdXAg MTYgcGFpcndpc2UgMTYga2V5X21nbXQgMiBwcm90byAyDQpXUEE6IGNsZWFy aW5nIEFQIFdQQSBJRQ0KV1BBOiBzZXQgQVAgUlNOIElFIC0gaGV4ZHVtcChs ZW49MjIpOiAzMCAxNCAwMSAwMCAwMCAwZiBhYyAwNCAwMSAwMCAwMCAwZiBh YyAwNCAwMSAwMCAwMCAwZiBhYyAwMiAwMCAwMA0KV1BBOiB1c2luZyBHVEsg Q0NNUA0KV1BBOiB1c2luZyBQVEsgQ0NNUA0KV1BBOiB1c2luZyBLRVlfTUdN VCBXUEEtUFNLDQpXUEE6IFNldCBvd24gV1BBIElFIGRlZmF1bHQgLSBoZXhk dW1wKGxlbj0yMik6IDMwIDE0IDAxIDAwIDAwIDBmIGFjIDA0IDAxIDAwIDAw IDBmIGFjIDA0IDAxIDAwIDAwIDBmIGFjIDAyIDAwIDAwDQpObyBrZXlzIGhh dmUgYmVlbiBjb25maWd1cmVkIC0gc2tpcCBrZXkgY2xlYXJpbmcNCndwYV9k cml2ZXJfYnNkX3NldF9kcm9wX3VuZW5jcnlwdGVkOiBlbmFibGVkPTENClN0 YXRlOiBTQ0FOTklORyAtPiBBU1NPQ0lBVElORw0Kd3BhX2RyaXZlcl9ic2Rf YXNzb2NpYXRlOiBzc2lkICdzZGtmancnIHdwYSBpZSBsZW4gMjIgcGFpcndp c2UgMyBncm91cCAzIGtleSBtZ210IDENCndwYV9kcml2ZXJfYnNkX2Fzc29j aWF0ZTogc2V0IFBSSVZBQ1kgMQ0KU2V0dGluZyBhdXRoZW50aWNhdGlvbiB0 aW1lb3V0OiAxMCBzZWMgMCB1c2VjDQpFQVBPTDogRXh0ZXJuYWwgbm90aWZp Y2F0aW9uIC0gRUFQIHN1Y2Nlc3M9MA0KRUFQT0w6IEV4dGVybmFsIG5vdGlm aWNhdGlvbiAtIEVBUCBmYWlsPTANCkVBUE9MOiBFeHRlcm5hbCBub3RpZmlj YXRpb24gLSBwb3J0Q29udHJvbD1BdXRvDQpSU046IElnbm9yZWQgUE1LSUQg Y2FuZGlkYXRlIHdpdGhvdXQgcHJlYXV0aCBmbGFnDQpBdXRoZW50aWNhdGlv biB3aXRoIDAwOjEzOjQ5OmMwOjNjOmUxIHRpbWVkIG91dC4NCkFkZGVkIEJT U0lEIDAwOjEzOjQ5OmMwOjNjOmUxIGludG8gYmxhY2tsaXN0DQpObyBrZXlz IGhhdmUgYmVlbiBjb25maWd1cmVkIC0gc2tpcCBrZXkgY2xlYXJpbmcNClN0 YXRlOiBBU1NPQ0lBVElORyAtPiBESVNDT05ORUNURUQNCkVBUE9MOiBFeHRl cm5hbCBub3RpZmljYXRpb24gLSBwb3J0RW5hYmxlZD0wDQpFQVBPTDogRXh0 ZXJuYWwgbm90aWZpY2F0aW9uIC0gcG9ydFZhbGlkPTANCkVBUE9MOiBFeHRl cm5hbCBub3RpZmljYXRpb24gLSBFQVAgc3VjY2Vzcz0wDQpTZXR0aW5nIHNj YW4gcmVxdWVzdDogMCBzZWMgMCB1c2VjDQpTdGF0ZTogRElTQ09OTkVDVEVE IC0+IFNDQU5OSU5HDQpTdGFydGluZyBBUCBzY2FuIChzcGVjaWZpYyBTU0lE KQ0KU2NhbiBTU0lEIC0gaGV4ZHVtcF9hc2NpaShsZW49Nik6DQogICAgIDcz IDY0IDZiIDY2IDZhIDc3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2RrZmp3ICAgICAgICAgIA0KUmVjZWl2ZWQgMCBieXRlcyBvZiBzY2Fu IHJlc3VsdHMgKDMgQlNTZXMpDQpTY2FuIHJlc3VsdHM6IDMNClNlbGVjdGlu ZyBCU1MgZnJvbSBwcmlvcml0eSBncm91cCAwDQpUcnkgdG8gZmluZCBXUEEt ZW5hYmxlZCBBUA0KMDogMDA6MTk6NGI6OTc6ODQ6Y2Qgc3NpZD0nY29tNzcn IHdwYV9pZV9sZW49MjYgcnNuX2llX2xlbj0wIGNhcHM9MHgxMQ0KICAgc2tp cCAtIFNTSUQgbWlzbWF0Y2gNCjE6IDAwOjFmOjMzOjdhOjVmOmJlIHNzaWQ9 J1NLWTA0MDE0JyB3cGFfaWVfbGVuPTI2IHJzbl9pZV9sZW49MCBjYXBzPTB4 NzENCiAgIHNraXAgLSBTU0lEIG1pc21hdGNoDQoyOiAwMDoxMzo0OTpjMDoz YzplMSBzc2lkPSdzZGtmancnIHdwYV9pZV9sZW49MCByc25faWVfbGVuPTIy IGNhcHM9MHgxMQ0KICAgc2VsZWN0ZWQgYmFzZWQgb24gUlNOIElFDQogICBz ZWxlY3RlZCBXUEEgQVAgMDA6MTM6NDk6YzA6M2M6ZTEgc3NpZD0nc2RrZmp3 Jw0KVHJ5IHRvIGZpbmQgbm9uLVdQQSBBUA0KVHJ5aW5nIHRvIGFzc29jaWF0 ZSB3aXRoIDAwOjEzOjQ5OmMwOjNjOmUxIChTU0lEPSdzZGtmancnIGZyZXE9 MjQ3MiBNSHopDQpDYW5jZWxsaW5nIHNjYW4gcmVxdWVzdA0KV1BBOiBjbGVh cmluZyBvd24gV1BBL1JTTiBJRQ0KQXV0b21hdGljIGF1dGhfYWxnIHNlbGVj dGlvbjogMHgxDQp3cGFfZHJpdmVyX2JzZF9zZXRfYXV0aF9hbGcgYWxnIDB4 MSBhdXRobW9kZSAxDQpSU046IHVzaW5nIElFRUUgODAyLjExaS9EOS4wDQpX UEE6IFNlbGVjdGVkIGNpcGhlciBzdWl0ZXM6IGdyb3VwIDE2IHBhaXJ3aXNl IDE2IGtleV9tZ210IDIgcHJvdG8gMg0KV1BBOiBjbGVhcmluZyBBUCBXUEEg SUUNCldQQTogc2V0IEFQIFJTTiBJRSAtIGhleGR1bXAobGVuPTIyKTogMzAg MTQgMDEgMDAgMDAgMGYgYWMgMDQgMDEgMDAgMDAgMGYgYWMgMDQgMDEgMDAg MDAgMGYgYWMgMDIgMDAgMDANCldQQTogdXNpbmcgR1RLIENDTVANCldQQTog dXNpbmcgUFRLIENDTVANCldQQTogdXNpbmcgS0VZX01HTVQgV1BBLVBTSw0K V1BBOiBTZXQgb3duIFdQQSBJRSBkZWZhdWx0IC0gaGV4ZHVtcChsZW49MjIp OiAzMCAxNCAwMSAwMCAwMCAwZiBhYyAwNCAwMSAwMCAwMCAwZiBhYyAwNCAw MSAwMCAwMCAwZiBhYyAwMiAwMCAwMA0KTm8ga2V5cyBoYXZlIGJlZW4gY29u ZmlndXJlZCAtIHNraXAga2V5IGNsZWFyaW5nDQp3cGFfZHJpdmVyX2JzZF9z ZXRfZHJvcF91bmVuY3J5cHRlZDogZW5hYmxlZD0xDQpTdGF0ZTogU0NBTk5J TkcgLT4gQVNTT0NJQVRJTkcNCndwYV9kcml2ZXJfYnNkX2Fzc29jaWF0ZTog c3NpZCAnc2RrZmp3JyB3cGEgaWUgbGVuIDIyIHBhaXJ3aXNlIDMgZ3JvdXAg MyBrZXkgbWdtdCAxDQp3cGFfZHJpdmVyX2JzZF9hc3NvY2lhdGU6IHNldCBQ UklWQUNZIDENClNldHRpbmcgYXV0aGVudGljYXRpb24gdGltZW91dDogMTAg c2VjIDAgdXNlYw0KRUFQT0w6IEV4dGVybmFsIG5vdGlmaWNhdGlvbiAtIEVB UCBzdWNjZXNzPTANCkVBUE9MOiBFeHRlcm5hbCBub3RpZmljYXRpb24gLSBF QVAgZmFpbD0wDQpFQVBPTDogRXh0ZXJuYWwgbm90aWZpY2F0aW9uIC0gcG9y dENvbnRyb2w9QXV0bw0KUlNOOiBJZ25vcmVkIFBNS0lEIGNhbmRpZGF0ZSB3 aXRob3V0IHByZWF1dGggZmxhZw0KQ1RSTC1FVkVOVC1URVJNSU5BVElORyAt IHNpZ25hbCAyIHJlY2VpdmVkDQpSZW1vdmluZyBpbnRlcmZhY2UgaXduMA0K U3RhdGU6IEFTU09DSUFUSU5HIC0+IERJU0NPTk5FQ1RFRA0KTm8ga2V5cyBo YXZlIGJlZW4gY29uZmlndXJlZCAtIHNraXAga2V5IGNsZWFyaW5nDQpFQVBP TDogRXh0ZXJuYWwgbm90aWZpY2F0aW9uIC0gcG9ydEVuYWJsZWQ9MA0KRUFQ T0w6IEV4dGVybmFsIG5vdGlmaWNhdGlvbiAtIHBvcnRWYWxpZD0wDQp3cGFf ZHJpdmVyX2JzZF9zZXRfd3BhOiBlbmFibGVkPTANCndwYV9kcml2ZXJfYnNk X3NldF93cGFfaW50ZXJuYWw6IHdwYT0wIHByaXZhY3k9MA0Kd3BhX2RyaXZl cl9ic2Rfc2V0X2Ryb3BfdW5lbmNyeXB0ZWQ6IGVuYWJsZWQ9MA0Kd3BhX2Ry aXZlcl9ic2Rfc2V0X2NvdW50ZXJtZWFzdXJlczogZW5hYmxlZD0wDQpObyBr ZXlzIGhhdmUgYmVlbiBjb25maWd1cmVkIC0gc2tpcCBrZXkgY2xlYXJpbmcN ClJlbW92ZWQgQlNTSUQgMDA6MTM6NDk6YzA6M2M6ZTEgZnJvbSBibGFja2xp c3QgKGNsZWFyKQ0KQ2FuY2VsbGluZyBzY2FuIHJlcXVlc3QNCkNhbmNlbGxp bmcgYXV0aGVudGljYXRpb24gdGltZW91dA0Kd3BhX2RyaXZlcl9ic2Rfc2V0 X3dwYV9pbnRlcm5hbDogd3BhPTAgcHJpdmFjeT0wDQo= --0-847998414-1222019800=:31429-- From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 21:03:57 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F159106566C; Sun, 21 Sep 2008 21:03:57 +0000 (UTC) (envelope-from remko@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 254348FC18; Sun, 21 Sep 2008 21:03:57 +0000 (UTC) (envelope-from remko@FreeBSD.org) Received: from freefall.freebsd.org (remko@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8LL3v6t012965; Sun, 21 Sep 2008 21:03:57 GMT (envelope-from remko@freefall.freebsd.org) Received: (from remko@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8LL3v61012961; Sun, 21 Sep 2008 21:03:57 GMT (envelope-from remko) Date: Sun, 21 Sep 2008 21:03:57 GMT Message-Id: <200809212103.m8LL3v61012961@freefall.freebsd.org> To: remko@FreeBSD.org, freebsd-bugs@FreeBSD.org, freebsd-net@FreeBSD.org From: remko@FreeBSD.org Cc: Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 21:03:57 -0000 Old Synopsis: icmp socket receives icmp replies not owned by the process. New Synopsis: [icmp]: icmp socket receives icmp replies not owned by the process. Responsible-Changed-From-To: freebsd-bugs->freebsd-net Responsible-Changed-By: remko Responsible-Changed-When: Sun Sep 21 21:03:41 UTC 2008 Responsible-Changed-Why: Reassign to networking team http://www.freebsd.org/cgi/query-pr.cgi?pr=127528 From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 21:12:30 2008 Return-Path: Delivered-To: freebsd-net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B2D591065672; Sun, 21 Sep 2008 21:12:30 +0000 (UTC) (envelope-from rik@inse.ru) Received: from mail.inse.ru (mail.inse.ru [144.206.128.1]) by mx1.freebsd.org (Postfix) with ESMTP id 6EE688FC19; Sun, 21 Sep 2008 21:12:30 +0000 (UTC) (envelope-from rik@inse.ru) Received: from www.inse.ru (www.inse.ru [144.206.128.1]) by mail.inse.ru (Postfix) with ESMTPSA id 5657A33C51; Mon, 22 Sep 2008 01:12:29 +0400 (MSD) Message-ID: <48D6B6D3.7000306@localhost.inse.ru> Date: Mon, 22 Sep 2008 01:04:19 +0400 From: Roman Kurakin User-Agent: Thunderbird 2.0.0.16 (X11/20080723) MIME-Version: 1.0 To: Pawel Jakub Dawidek References: <20080919075633.GA4333@garage.freebsd.pl> In-Reply-To: <20080919075633.GA4333@garage.freebsd.pl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@FreeBSD.org Subject: Re: Firewall redirect doesn't work any more... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 21:12:30 -0000 Pawel Jakub Dawidek wrote: > ...or am I missing something? > > I've a box running: > > FreeBSD whiplash.wheel.pl 7.0-STABLE FreeBSD 7.0-STABLE #0: Wed Jul 23 11:41:31 CEST 2008 root@puppet.wheel.pl:/usr/obj/usr/src/sys/WHIPLASH i386 > > I'm also running PF in there with the following rule: > > rdr on fxp0 proto tcp from 10.0.1.9 to 10.0.0.2 port 88 -> 10.0.5.123 port 88 > > When I connect from 10.0.1.9 to 10.0.0.2:88 I can see redirected packet > leaving the box: > > IP 10.0.1.9.43210 > 10.0.0.2.88: S [...] > IP 10.0.1.9.43210 > 10.0.5.123.88: S [...] > > Ok. Now I've a box running: > > FreeBSD bridge.wheel.pl 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #1: Thu Sep 11 13:59:06 CEST 2008 root@bridge.wheel.pl:/usr/obj/usr/src/sys/BRIDGE i386 > > And the following PF rule: > > rdr on fxp0 proto tcp from 10.0.0.2 to 10.0.5.123 port 88 -> 10.0.1.9 port 88 > > When I connect from 10.0.0.2 to 10.0.5.123:88 I no longer see redirected > packet leaving the box: > > IP 10.0.0.2.60806 > 10.0.5.123.88: S [...] > > I tried to redirect packet on the second box with IPFW, but also failed > (yes IPFIREWALL_FORWARD was compiled in). > > Does something got broken or am I missing some configuration hint? > Could it be that the box you are trying to connect from is the 10.0.0.2? If this is the case, then the problem is that the rule rdr is works only for packet which hits the interface from outside, eq interface should be incoming for packets not outgoing on which the rule is set . rik From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 22:01:43 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8B8011065675 for ; Sun, 21 Sep 2008 22:01:43 +0000 (UTC) (envelope-from onemda@gmail.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.228]) by mx1.freebsd.org (Postfix) with ESMTP id 5E2E18FC08 for ; Sun, 21 Sep 2008 22:01:43 +0000 (UTC) (envelope-from onemda@gmail.com) Received: by rv-out-0506.google.com with SMTP id b25so1099085rvf.43 for ; Sun, 21 Sep 2008 15:01:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=DnohiN5AkNKiP8qCXm9zoxRiOEVJOPEdzCz2ZsKNEh4=; b=aRx8A+agMrzPAMlIer8arcLXsmjOLqlVhpPbU7qjPMREWN3xQDuIZkE+Huaf56hgGW kNrD1DwODV+UepsJcQNSVYQW9V5lHNUq3z14NHMao5HGe8lz01Ok/SRbDsXTA3l4Qew/ laErF9l18m9L66EtpPYUft9BD02V7VbtLyJx4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=Q9Q/8APlQxU9jWZIrugFYHuhEYqVkev02sqgkHB3Sxb7vyUiKxUwDC0za3YaZLolHk WddM7JkN0qiJrgWXiihpH9yscYYu925SuVy1wPZSbwwEmV1NcSdpQxuV+dNuVoFI/WRv j+mgjiq2iYWqxUV025GAvwZOVCiGnGlMHoFNM= Received: by 10.141.83.15 with SMTP id k15mr1501337rvl.74.1222032965744; Sun, 21 Sep 2008 14:36:05 -0700 (PDT) Received: by 10.141.189.15 with HTTP; Sun, 21 Sep 2008 14:36:05 -0700 (PDT) Message-ID: <3a142e750809211436v7bb5c7beqd55c7fe55ed6f449@mail.gmail.com> Date: Sun, 21 Sep 2008 23:36:05 +0200 From: "Paul B. Mahol" To: "Gavin Atkinson" In-Reply-To: <20080921183530.V31429@ury.york.ac.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20080921183530.V31429@ury.york.ac.uk> Cc: freebsd-net@freebsd.org, sam@freebsd.org Subject: Re: Backporting iwn(4): WPA auth hangs... Help! X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 22:01:43 -0000 On 9/21/08, Gavin Atkinson wrote: > > Hi all, > > I'm attempting to backport the iwn(4) driver for the Intel 4965 driver > from -HEAD to RELENG_7 and am getting stuck with it at one particular > point: WPA authentication times out. > > I've so far tried to both take the -HEAD driver and de-vapify etc. it, and > also to take a pre-vap version of the driver and bring in required > changes. Both fail in exactly the same way, with authentication timing > out. I have verified that the laptop can successfully connect to the same > network with -HEAD and the same wpa_supplicant.conf file. I've attached > the log file from wpa_supplicant. Code can be found at > http://people.freebsd.org/~gavin/iwn/ - I'm currently working with the > updated-from-pre-vap version so that's the one that generated the log file > and is probably the best to look at. > > Sadly I don't have the infrastructure at the moment to test if the > driver works with WEP. > > Any help or pointers would be greatfully received, > > Thanks! > > Gavin I can't understand why is IEEE80211_C_STA removed in both versions. From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 22:04:03 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 29C4F106566B; Sun, 21 Sep 2008 22:04:03 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id F105B8FC1C; Sun, 21 Sep 2008 22:04:02 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id m8LM425j053462 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 21 Sep 2008 15:04:02 -0700 (PDT) (envelope-from sam@freebsd.org) Message-ID: <48D6C4D1.7030301@freebsd.org> Date: Sun, 21 Sep 2008 15:04:01 -0700 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.9 (X11/20071125) MIME-Version: 1.0 To: "Paul B. Mahol" References: <20080921183530.V31429@ury.york.ac.uk> <3a142e750809211436v7bb5c7beqd55c7fe55ed6f449@mail.gmail.com> In-Reply-To: <3a142e750809211436v7bb5c7beqd55c7fe55ed6f449@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC-Misty-Metrics: ebb.errno.com; whitelist Cc: freebsd-net@freebsd.org, Gavin Atkinson Subject: Re: Backporting iwn(4): WPA auth hangs... Help! X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 22:04:03 -0000 Paul B. Mahol wrote: > On 9/21/08, Gavin Atkinson wrote: > >> Hi all, >> >> I'm attempting to backport the iwn(4) driver for the Intel 4965 driver >> from -HEAD to RELENG_7 and am getting stuck with it at one particular >> point: WPA authentication times out. >> >> I've so far tried to both take the -HEAD driver and de-vapify etc. it, and >> also to take a pre-vap version of the driver and bring in required >> changes. Both fail in exactly the same way, with authentication timing >> out. I have verified that the laptop can successfully connect to the same >> network with -HEAD and the same wpa_supplicant.conf file. I've attached >> the log file from wpa_supplicant. Code can be found at >> http://people.freebsd.org/~gavin/iwn/ - I'm currently working with the >> updated-from-pre-vap version so that's the one that generated the log file >> and is probably the best to look at. >> >> Sadly I don't have the infrastructure at the moment to test if the >> driver works with WEP. >> >> Any help or pointers would be greatfully received, >> >> Thanks! >> >> Gavin >> > > I can't understand why is IEEE80211_C_STA removed in both versions. > _______________________________________________ > There is no explicit STA capability in RELENG_7; it only exists in HEAD. Sam From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 22:12:34 2008 Return-Path: Delivered-To: freebsd-net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 420E21065672 for ; Sun, 21 Sep 2008 22:12:34 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id 10D1F8FC18 for ; Sun, 21 Sep 2008 22:12:34 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 202E31656EF; Sun, 21 Sep 2008 18:12:33 -0400 (EDT) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute1.internal (MEProxy); Sun, 21 Sep 2008 18:12:33 -0400 X-Sasl-enc: DDKhQW5CMXY54pwxt4CsYJ3xi8G8wDgQ6NZLnLB5PZrj 1222035152 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 738062EC6F; Sun, 21 Sep 2008 18:12:32 -0400 (EDT) Message-ID: <48D6C6CE.3060404@FreeBSD.org> Date: Sun, 21 Sep 2008 23:12:30 +0100 From: "Bruce M. Simpson" User-Agent: Thunderbird 2.0.0.14 (X11/20080514) MIME-Version: 1.0 To: remko@FreeBSD.org References: <200809212103.m8LL3v61012961@freefall.freebsd.org> In-Reply-To: <200809212103.m8LL3v61012961@freefall.freebsd.org> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 22:12:34 -0000 remko@FreeBSD.org wrote: > Old Synopsis: icmp socket receives icmp replies not owned by the process. > New Synopsis: [icmp]: icmp socket receives icmp replies not owned by the process. > This PR is bogus because: ICMP has no concept of datagrams being "owned" by a process. There is no field in the ICMP protocol which differentiates ICMP "sessions" on a per-process basis, and this is because ICMP has no concept of "sessions" -- ICMP messages are directed at IP endpoints. The networking stack will only selectively dispatch ICMP traffic based on two conditions: 1. ip_proto number (raw sockets may selectively bind to a protocol) and 2. multicast group membership (not applicable in this instance). > It also shows that both echo requests have different identifiers in the id field which should keep the icmp streams seperated. There is absolutely no requirement for the kernel code to look at the ID field, beyond reporting it to consumers of the SOCK_RAW interface. This PR can be closed, the submitter should consult the pfSense maintainers. thanks BMS From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 22:20:04 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F5AD106566B for ; Sun, 21 Sep 2008 22:20:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 5C3888FC12 for ; Sun, 21 Sep 2008 22:20:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8LMK4Un019764 for ; Sun, 21 Sep 2008 22:20:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8LMK4QZ019761; Sun, 21 Sep 2008 22:20:04 GMT (envelope-from gnats) Date: Sun, 21 Sep 2008 22:20:04 GMT Message-Id: <200809212220.m8LMK4QZ019761@freefall.freebsd.org> To: freebsd-net@FreeBSD.org From: "Bruce M. Simpson" Cc: Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Bruce M. Simpson" List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Sep 2008 22:20:04 -0000 The following reply was made to PR kern/127528; it has been noted by GNATS. From: "Bruce M. Simpson" To: remko@FreeBSD.org Cc: freebsd-net@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. Date: Sun, 21 Sep 2008 23:12:30 +0100 remko@FreeBSD.org wrote: > Old Synopsis: icmp socket receives icmp replies not owned by the process. > New Synopsis: [icmp]: icmp socket receives icmp replies not owned by the process. > This PR is bogus because: ICMP has no concept of datagrams being "owned" by a process. There is no field in the ICMP protocol which differentiates ICMP "sessions" on a per-process basis, and this is because ICMP has no concept of "sessions" -- ICMP messages are directed at IP endpoints. The networking stack will only selectively dispatch ICMP traffic based on two conditions: 1. ip_proto number (raw sockets may selectively bind to a protocol) and 2. multicast group membership (not applicable in this instance). > It also shows that both echo requests have different identifiers in the id field which should keep the icmp streams seperated. There is absolutely no requirement for the kernel code to look at the ID field, beyond reporting it to consumers of the SOCK_RAW interface. This PR can be closed, the submitter should consult the pfSense maintainers. thanks BMS _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 22:42:09 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0C6E61065703 for ; Sun, 21 Sep 2008 22:42:09 +0000 (UTC) (envelope-from gavin@freebsd.org) Received: from mail-gw1.york.ac.uk (mail-gw1.york.ac.uk [144.32.128.246]) by mx1.freebsd.org (Postfix) with ESMTP id 924BF8FC18 for ; Sun, 21 Sep 2008 22:42:08 +0000 (UTC) (envelope-from gavin@freebsd.org) Received: from mail-gw6.york.ac.uk (mail-gw6.york.ac.uk [144.32.129.26]) by mail-gw1.york.ac.uk (8.13.6/8.13.6) with ESMTP id m8LMg33J009754 for ; Sun, 21 Sep 2008 23:42:03 +0100 (BST) Received: from ury.york.ac.uk ([144.32.108.81]) by mail-gw6.york.ac.uk with esmtps (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1KhXcx-0001rW-Gk for freebsd-net@freebsd.org; Sun, 21 Sep 2008 23:42:03 +0100 Received: from ury.york.ac.uk (localhost.york.ac.uk [127.0.0.1]) by ury.york.ac.uk (8.14.2/8.14.2) with ESMTP id m8LMg37a027626 for ; Sun, 21 Sep 2008 23:42:03 +0100 (BST) (envelope-from gavin@freebsd.org) Received: from localhost (gavin@localhost) by ury.york.ac.uk (8.14.2/8.14.2/Submit) with ESMTP id m8LMg3Rl027623 for ; Sun, 21 Sep 2008 23:42:03 +0100 (BST) (envelope-from gavin@freebsd.org) X-Authentication-Warning: ury.york.ac.uk: gavin owned process doing -bs Date: Sun, 21 Sep 2008 23:42:03 +0100 (BST) From: Gavin Atkinson X-X-Sender: gavin@ury.york.ac.uk To: freebsd-net@freebsd.org In-Reply-To: <20080921183530.V31429@ury.york.ac.uk> Message-ID: <20080921233855.P31429@ury.york.ac.uk> References: <20080921183530.V31429@ury.york.ac.uk> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-York-MailScanner: Found to be clean X-York-MailScanner-From: gavin@freebsd.org Subject: Re: Backporting iwn(4): WPA auth hangs... Help! X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 22:42:09 -0000 On Sun, 21 Sep 2008, Gavin Atkinson wrote: > I'm attempting to backport the iwn(4) driver for the Intel 4965 driver from > -HEAD to RELENG_7 and am getting stuck with it at one particular point: WPA > authentication times out. I've includewd the output with all options within wlandebug enabled at http://people.freebsd.org/~gavin/iwn/ (net.wlan.0.debug: 0x5fff1fe0) Tomorrow, I'll see what I can see by sniffing the wire. Thanks, Gavin From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 23:39:28 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24BC41065673; Sun, 21 Sep 2008 23:39:28 +0000 (UTC) (envelope-from cmb@pfsense.org) Received: from mxsf03.insightbb.com (mxsf03.insightbb.com [74.128.0.64]) by mx1.freebsd.org (Postfix) with ESMTP id B126B8FC16; Sun, 21 Sep 2008 23:39:25 +0000 (UTC) (envelope-from cmb@pfsense.org) X-IronPort-AV: E=Sophos;i="4.32,443,1217822400"; d="scan'208";a="508520129" Received: from unknown (HELO asav02.insightbb.com) ([172.31.249.124]) by mxsf03.insightbb.com with ESMTP; 21 Sep 2008 19:11:04 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aj8BACZx1khgHCYZ/2dsb2JhbAAIrxWFFIFm X-IronPort-AV: E=Sophos;i="4.32,443,1217822400"; d="scan'208";a="288572621" Received: from 96-28-38-25.dhcp.insightbb.com (HELO [10.0.64.34]) ([96.28.38.25]) by asav02.insightbb.com with ESMTP; 21 Sep 2008 19:11:03 -0400 Message-ID: <48D6D489.5070506@pfsense.org> Date: Sun, 21 Sep 2008 19:11:05 -0400 From: Chris Buechler User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: "Bruce M. Simpson" References: <200809212103.m8LL3v61012961@freefall.freebsd.org> <48D6C6CE.3060404@FreeBSD.org> In-Reply-To: <48D6C6CE.3060404@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@FreeBSD.org, remko@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 21 Sep 2008 23:39:28 -0000 Bruce M. Simpson wrote: > remko@FreeBSD.org wrote: >> Old Synopsis: icmp socket receives icmp replies not owned by the >> process. >> New Synopsis: [icmp]: icmp socket receives icmp replies not owned by >> the process. >> > > This PR is bogus because: > ICMP has no concept of datagrams being "owned" by a process. There is > no field in the ICMP protocol which differentiates ICMP "sessions" on > a per-process basis, and this is because ICMP has no concept of > "sessions" -- ICMP messages are directed at IP endpoints. ICMP echo and echo replies do have "sessions" of sorts, at least unique identifying fields - identifier and sequence number. This was opened by a pfSense maintainer because it's a change in behavior from 6.x releases where this was never an issue, and is something we feel is a regression. Ideally you don't want to be pinging the same host from two different processes, but it's difficult to avoid in some circumstances and it's something that always worked fine prior to FreeBSD 7.0. Thanks, Chris From owner-freebsd-net@FreeBSD.ORG Sun Sep 21 23:50:04 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A03BA106564A for ; Sun, 21 Sep 2008 23:50:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 8D2698FC18 for ; Sun, 21 Sep 2008 23:50:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8LNo4Wr026669 for ; Sun, 21 Sep 2008 23:50:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8LNo4vw026668; Sun, 21 Sep 2008 23:50:04 GMT (envelope-from gnats) Date: Sun, 21 Sep 2008 23:50:04 GMT Message-Id: <200809212350.m8LNo4vw026668@freefall.freebsd.org> To: freebsd-net@FreeBSD.org From: Chris Buechler Cc: Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Chris Buechler List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Sep 2008 23:50:04 -0000 The following reply was made to PR kern/127528; it has been noted by GNATS. From: Chris Buechler To: "Bruce M. Simpson" Cc: freebsd-net@FreeBSD.org, remko@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. Date: Sun, 21 Sep 2008 19:11:05 -0400 Bruce M. Simpson wrote: > remko@FreeBSD.org wrote: >> Old Synopsis: icmp socket receives icmp replies not owned by the >> process. >> New Synopsis: [icmp]: icmp socket receives icmp replies not owned by >> the process. >> > > This PR is bogus because: > ICMP has no concept of datagrams being "owned" by a process. There is > no field in the ICMP protocol which differentiates ICMP "sessions" on > a per-process basis, and this is because ICMP has no concept of > "sessions" -- ICMP messages are directed at IP endpoints. ICMP echo and echo replies do have "sessions" of sorts, at least unique identifying fields - identifier and sequence number. This was opened by a pfSense maintainer because it's a change in behavior from 6.x releases where this was never an issue, and is something we feel is a regression. Ideally you don't want to be pinging the same host from two different processes, but it's difficult to avoid in some circumstances and it's something that always worked fine prior to FreeBSD 7.0. Thanks, Chris _______________________________________________ freebsd-bugs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org" From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 04:25:30 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7BD331065682; Mon, 22 Sep 2008 04:25:30 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 4F9848FC22; Mon, 22 Sep 2008 04:25:30 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8M4PUaL047470; Mon, 22 Sep 2008 04:25:30 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8M4PUlk047466; Mon, 22 Sep 2008 04:25:30 GMT (envelope-from linimon) Date: Mon, 22 Sep 2008 04:25:30 GMT Message-Id: <200809220425.m8M4PUlk047466@freefall.freebsd.org> To: linimon@FreeBSD.org, freebsd-bugs@FreeBSD.org, freebsd-net@FreeBSD.org From: linimon@FreeBSD.org Cc: Subject: Re: kern/127529: [nfe] [patch] Summary of Nvidia 8200/MCP78S chipset, notably req nfe driver update X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 04:25:30 -0000 Old Synopsis: Summary of Nvidia 8200/MCP78S chipset, notably req nfe driver update New Synopsis: [nfe] [patch] Summary of Nvidia 8200/MCP78S chipset, notably req nfe driver update Responsible-Changed-From-To: freebsd-bugs->freebsd-net Responsible-Changed-By: linimon Responsible-Changed-When: Mon Sep 22 04:24:43 UTC 2008 Responsible-Changed-Why: Over to maintainer(s). http://www.freebsd.org/cgi/query-pr.cgi?pr=127529 From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 05:52:21 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9489A1065676 for ; Mon, 22 Sep 2008 05:52:21 +0000 (UTC) (envelope-from wahjava@gmail.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.224]) by mx1.freebsd.org (Postfix) with ESMTP id 00C978FC20 for ; Mon, 22 Sep 2008 05:52:20 +0000 (UTC) (envelope-from wahjava@gmail.com) Received: by rv-out-0506.google.com with SMTP id b25so1223497rvf.43 for ; Sun, 21 Sep 2008 22:52:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:to:cc:subject:x-face :references:x-uptime:x-url:x-openpgp-id:x-openpgp-fingerprint:x-os :x-mailer:x-mail-morse:x-attribution:organization:from:date :in-reply-to:message-id:user-agent:face:mime-version:content-type :sender; bh=IXIj7Uc8RNEPP3nKKKZiHsDLUWcXnG3wWvJSjCYQVBg=; b=QgbY7mEgupULGG8JKqH7e9I0g8iK5EXXXWppO1dp4behWxZHzFXtgrk6dR0kySuEHs uR1K4Rzp7WzoOcv3NhAyin6GS7DcRKp37rQKwbuJmrwSJhSr0COVwlUaxJprbevPaRnp Y3I9SOQAJnWqlNf4czNZLO4gSpnWlzEG2alh4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=to:cc:subject:x-face:references:x-uptime:x-url:x-openpgp-id :x-openpgp-fingerprint:x-os:x-mailer:x-mail-morse:x-attribution :organization:from:date:in-reply-to:message-id:user-agent:face :mime-version:content-type:sender; b=mMaBx63Diy8gMEulsLbf3No2kZzrWZ5jMr2UE8SEOZPwT4NAFIg6RT8yO0TqPhPc68 yEA2mfe2YLWH8IM6/FeXS1WFB28IHg9XecN2Z3LYMoYeC9Fv1KxaG1kzKb75v74JhgL7 BCgdnW5A87b1HXYA124hf9HMn/77PGaXMf69k= Received: by 10.142.218.4 with SMTP id q4mr1226224wfg.262.1222062739657; Sun, 21 Sep 2008 22:52:19 -0700 (PDT) Received: from chateau.d.lf ( [122.162.250.218]) by mx.google.com with ESMTPS id 30sm6736015wfa.10.2008.09.21.22.52.15 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 21 Sep 2008 22:52:18 -0700 (PDT) To: Joe Marcus Clarke X-Face: )vGQ9yK7Y$Flebu1C>(B\gYBm)[$zfKM+p&TT[[JWl6:]S>cc$%-z7-`46Zf0B*syL.C]oCq[upTG~zuS0.$"_%)|Q@$hA=9{3l{%u^h3jJ^Zl; t7 References: <87ej3e32iz.fsf@chateau.d.lf> <1221968342.74421.4.camel@shumai.marcuscom.com> X-Uptime: 11:21:13 up 2:39, 5 users, load average: 0.06, 0.12, 0.17 X-URL: http://wahjava.wordpress.com/ X-OpenPGP-ID: 762E5E74 X-OpenPGP-Fingerprint: 1E00 4679 77E4 F8EE 2E4B 56F2 1F2F 8410 762E 5E74 X-OS: GNU/Linux on Linux 2.6.25-gentoo-r7 kernel on x86_64 architecture X-Mailer: Gnus/5.11 (Oort 5.11) Emacs/22.3.1 (x86_64-pc-linux-gnu) X-Mail-Morse: .-- .- .... .--- .- ...- .- .--.-. --. -- .- .. .-.. .-.-.- -.-. --- -- X-Attribution: =?utf-8?B?4KSG4KS24KWA4KS3?= Organization: alt.religion.emacs From: wahjava.ml@gmail.com (Ashish Shukla =?utf-8?B?4KSG4KS24KWA4KS3IA==?= =?utf-8?B?4KS24KWB4KSV4KWN4KSy?=) Date: Mon, 22 Sep 2008 11:22:26 +0530 In-Reply-To: <1221968342.74421.4.camel@shumai.marcuscom.com> (Joe Marcus Clarke's message of "Sat\, 20 Sep 2008 23\:39\:02 -0400") Message-ID: <87prmw682t.fsf@chateau.d.lf> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux) Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEWpqal/f39tbW1jY2Md HR2goKCenp6UlJROTk7////9/f35+fnT09ORJdieAAACVklEQVQ4jXXUP2vbQBQA8AvUTkgz5OzY Z0iGWhpS6BSrkECn0mvx0MEJ6AjtYrfoBCVDlD8naJYmNlRfwZq8+mkKlIZaGpJSYmP7Q/XkJDrJ Td8i/H68u3vHPaPufwLdf32AMA4A6GcAgvAamY1pOJiDIFqicTwLswDhfr3uxfFtkAY/GFHPMwzD 8zpnACmIOnE6js7rQb+v4NJrG9od0C+QgpHMy5jBewV+UDSMWiw1Y4fWfyV7+NGFzDsYa3pth9LJ Q4XvXxFHcJRvHOmygn5NAEabnDcQQguarnfoiwSCJ99jmKKcphsZONmWsDK9Ro7cvZOCtQdg8nje egLhc2LNlkLmsezzTFUUy5w18ocox/f0LaLgJy0zO75zk+9pp85GAj36xjqhdI0y3tq2m4dqqcWX zQWBTz8L1irvolXV4J+3q7eCDgVnttjNq6X8H+9KOZsuNk1uCzx8pSp+E9HImfJOTLdcGqo+YKnG EIovizkEn48V7BO+ch2DXcD4ENSpWiU+q8hjjbgTBZCXnZtyj0Ws4Q1Q0B2WXFtYZo65Bbyeeldw RS6qFueM80LlLA29YlVwGRYvFD+kwI/0O+A2PlpOP9GwslUVciHuYGechuBTp922YiDZCrghTknm XSyOM+D3aoRZlo0Jb42zY7DN4p2x4AeZ+QAYutx1sHwTHzMT5cMNduQ9yW3GczN4KZ86kb0c9O8T yXDeFqpl2fryPEAYGXIlezAPXYh2NgVr/gvdoHIuDwuPwOhcWE8f8mmICq41eATkn8x0kuRTIKcB wE9+/QUtiiAnYcaN7wAAAABJRU5ErkJggg== MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" Sender: =?UTF-8?B?4KSG4KS24KWA4KS3IOCktuClgeCkleCljeCksiBBc2hpc2ggU2h1a2xh?= Cc: freebsd-net@freebsd.org, freebsd-gnome@freebsd.org Subject: Re: [X-POST] Anyone porting NetworkManager to FreeBSD ? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 05:52:21 -0000 --=-=-= Content-Type: text/plain; charset=utf-8 Joe Marcus Clarke writes: > On Sun, 2008-09-21 at 03:26 +0530, Ashish Shukla आशीष शुक्ल wrote: >> Hi all, >> >> Is there anyone, who is porting NetworkManager[1] to FreeBSD ? If yes, I >> would like to be a tester or contributor to the effort. > It's been on our ideas list for a while, and I think someone mentioned > they were working on it a few months ago (check the archives). I held a > desktop discussion at the last BSDCan, and Kris Moore of PC-BSD > suggested it may be easier to port their network manager > (http://svn.pcbsd.org/browser/pcbsd/trunk/NetworkManager) from KDE to > GTK+/GNOME > In the meantime, I did a GNOME PBI for PC-BSD, and added hooks to make > use of some of PC-BSD's admin tools. The result was positive. However, > it would be great to have working GTK+/GNOME native tools. Thanks for the reply. But, that looks like a static network configuration tool. Ashish -- () ascii ribbon campaign - against HTML e-mail /\ www.asciiribbon.org - against proprietary attachments ·-- ·- ···· ·--- ·- ···- ·- ·--·-· --· -- ·- ·· ·-·· ·-·-·- -·-· --- -- % dig +short cname cdac.in @::1 microsoft.gov.in --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkjXMp4ACgkQHy+EEHYuXnQE1gCdFpm7JZxOQhip5MdLT8zYit+H exIAoLVLFa65N8ymWBr1ldKr/bpYO3rk =wHQy -----END PGP SIGNATURE----- --=-=-=-- From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 06:27:19 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAF10106566C; Mon, 22 Sep 2008 06:27:19 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id AE8108FC16; Mon, 22 Sep 2008 06:27:19 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from freefall.freebsd.org (yongari@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8M6RJgZ062826; Mon, 22 Sep 2008 06:27:19 GMT (envelope-from yongari@freefall.freebsd.org) Received: (from yongari@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8M6RJ8o062822; Mon, 22 Sep 2008 06:27:19 GMT (envelope-from yongari) Date: Mon, 22 Sep 2008 06:27:19 GMT Message-Id: <200809220627.m8M6RJ8o062822@freefall.freebsd.org> To: s.c.sprong@student.utwente.nl, yongari@FreeBSD.org, freebsd-net@FreeBSD.org, yongari@FreeBSD.org From: yongari@FreeBSD.org Cc: Subject: Re: kern/127529: [nfe] [patch] Summary of Nvidia 8200/MCP78S chipset, notably req nfe driver update X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 06:27:19 -0000 Synopsis: [nfe] [patch] Summary of Nvidia 8200/MCP78S chipset, notably req nfe driver update State-Changed-From-To: open->feedback State-Changed-By: yongari State-Changed-When: Mon Sep 22 06:25:38 UTC 2008 State-Changed-Why: Would you try patch at the followng URL? http://people.freebsd.org/~yongari/nfe/nfe.mcp77_79.patch Responsible-Changed-From-To: freebsd-net->yongari Responsible-Changed-By: yongari Responsible-Changed-When: Mon Sep 22 06:25:38 UTC 2008 Responsible-Changed-Why: Grab. http://www.freebsd.org/cgi/query-pr.cgi?pr=127529 From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 08:56:46 2008 Return-Path: Delivered-To: freebsd-net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6BF541065677; Mon, 22 Sep 2008 08:56:46 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 454758FC13; Mon, 22 Sep 2008 08:56:46 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTP id EC33546B52; Mon, 22 Sep 2008 04:56:45 -0400 (EDT) Date: Mon, 22 Sep 2008 09:56:45 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Chris Buechler In-Reply-To: <48D6D489.5070506@pfsense.org> Message-ID: References: <200809212103.m8LL3v61012961@freefall.freebsd.org> <48D6C6CE.3060404@FreeBSD.org> <48D6D489.5070506@pfsense.org> User-Agent: Alpine 1.10 (BSF 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-net@FreeBSD.org, remko@FreeBSD.org, "Bruce M. Simpson" , freebsd-bugs@FreeBSD.org Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 08:56:46 -0000 On Sun, 21 Sep 2008, Chris Buechler wrote: >> This PR is bogus because: ICMP has no concept of datagrams being "owned" by >> a process. There is no field in the ICMP protocol which differentiates ICMP >> "sessions" on a per-process basis, and this is because ICMP has no concept >> of "sessions" -- ICMP messages are directed at IP endpoints. > > ICMP echo and echo replies do have "sessions" of sorts, at least unique > identifying fields - identifier and sequence number. > > This was opened by a pfSense maintainer because it's a change in behavior > from 6.x releases where this was never an issue, and is something we feel is > a regression. > > Ideally you don't want to be pinging the same host from two different > processes, but it's difficult to avoid in some circumstances and it's > something that always worked fine prior to FreeBSD 7.0. As far as I'm aware, IP raw sockets have never supported using the ID field to identify sessions or direct packets to specific sockets. This means that a kernel regression in that session semantic is unlikely. However, it could be that you're seeing the impact of another regression relating to other behavior for restricting ICMP received on the raw socket. The kernel code in question is in raw_ip.c:rip_input(), which performs the following checks for each raw IP socket it considers a candidate for delivery: - If a non-zero 'protocol' argument was specified in the socket() call, is the protocol of the packet the same as the protocol on the socket? - If a local address is bound on the raw socket, is it the same as the destination address on the packet? - If a forieng address is bound on the raw socket, is it the same as the source address on the packet? - If the socket was created by a process in a jail, is the jail IP the same as the destination address on the packet? With these in mind, I'd look for one of two things that might have lead to the symptoms you're seeing: a change in the way your application is written or run such that the address limits on packets received are no longer requested or may now be ambiguous, or a change in the way our system works such that it's no longer implementing the above checks correctly. Ping applications are, btw, supposed to select unique identifiers (typically the pid is used) and then ignore replies with a different identifier, and last I checked ping(8) did that. Could it be that your application is not doing that? Robert N M Watson Computer Laboratory University of Cambridge From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 10:22:08 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 876231065674 for ; Mon, 22 Sep 2008 10:22:08 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: from mail.garage.freebsd.pl (chello087206045082.chello.pl [87.206.45.82]) by mx1.freebsd.org (Postfix) with ESMTP id DBBC68FC18 for ; Mon, 22 Sep 2008 10:22:07 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 3B748456AB; Mon, 22 Sep 2008 12:22:06 +0200 (CEST) Received: from localhost (pjd.wheel.pl [10.0.1.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id 26D6E45684; Mon, 22 Sep 2008 12:22:01 +0200 (CEST) Date: Mon, 22 Sep 2008 12:22:09 +0200 From: Pawel Jakub Dawidek To: Max Laier Message-ID: <20080922102209.GB2468@garage.freebsd.pl> References: <20080919075633.GA4333@garage.freebsd.pl> <20080919121602.GC4333@garage.freebsd.pl> <200809191538.02698.max@love2party.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="jho1yZJdad60DJr+" Content-Disposition: inline In-Reply-To: <200809191538.02698.max@love2party.net> User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 8.0-CURRENT i386 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-5.9 required=3.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.0.4 Cc: freebsd-net@freebsd.org Subject: Re: Firewall redirect doesn't work any more... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 10:22:08 -0000 --jho1yZJdad60DJr+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Sep 19, 2008 at 03:38:02PM +0200, Max Laier wrote: > I might be wrong, but I don't think we ever supported rdr without=20 > net.inet.ip.forwarding enabled. Maybe to a different local address, but = even=20 > then you'd need net.inet.ip.check_interface=3D0. Looking at the code, I = don't=20 > see where IPFW forwarding fails (as it has its own ip_forward() call), th= ough. Ok, I did some more tests. I'm running bridge in there and trying to redirect packets that goes through my bridge to a local daemon. UDP redirect seems to work with PF: rdr on bridge0 proto udp from 10.0.1.1 to 10.0.0.2 port 12345 -> 10.0.5.123= port 12345 Between 10.0.1.1 and 10.0.0.2 there is my bridging machine. Now when I call 'nc -u -l 12345' on 10.0.5.123 and call 'nc -u 10.0.0.2 12345' on 10.0.1.1 machine I can receive packets on my nc daemon just fine, I can even send packets back and they are send with source address set to 10.0.0.2 - this is exactly what I'm looking for. Unfortunately it doesn't work for TCP. I see packets beeing redirected to 10.0.5.123, but my local daemon never accepts the connection and nc client keeps resending SYN packets. I also see weird messages in the logs: TCP: [10.0.1.1]:36973 to [10.0.5.123]:12345 tcpflags 0x4; syncache_chk= rst: Spurious RST without matching syncache entry (possibly syncookie only)= , segment ignored (Both tcps_badrst and tcps_sc_dropped are increased on every connection attempt.) Any ideas how to make it work with TCP? PS. The same functionality doesn't work at all with ipfw(8) (because of if_bridge(4)?). --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --jho1yZJdad60DJr+ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFI13HQForvXbEpPzQRAheWAKCfjY0+HBxTNyKzSdToWzDKa48GoQCdH0X9 afzXBDfZBSl4u6496P15E1c= =RSK9 -----END PGP SIGNATURE----- --jho1yZJdad60DJr+-- From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 11:00:12 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA4A01065677 for ; Mon, 22 Sep 2008 11:00:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id D10B58FC15 for ; Mon, 22 Sep 2008 11:00:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8MB0C8u014167 for ; Mon, 22 Sep 2008 11:00:12 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8MB0CwT014166; Mon, 22 Sep 2008 11:00:12 GMT (envelope-from gnats) Date: Mon, 22 Sep 2008 11:00:12 GMT Message-Id: <200809221100.m8MB0CwT014166@freefall.freebsd.org> To: freebsd-net@FreeBSD.org From: Robert Watson Cc: Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Robert Watson List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 11:00:13 -0000 The following reply was made to PR kern/127528; it has been noted by GNATS. From: Robert Watson To: Chris Buechler Cc: freebsd-net@FreeBSD.org, remko@FreeBSD.org, "Bruce M. Simpson" , freebsd-bugs@FreeBSD.org Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. Date: Mon, 22 Sep 2008 09:56:45 +0100 (BST) On Sun, 21 Sep 2008, Chris Buechler wrote: >> This PR is bogus because: ICMP has no concept of datagrams being "owned" by >> a process. There is no field in the ICMP protocol which differentiates ICMP >> "sessions" on a per-process basis, and this is because ICMP has no concept >> of "sessions" -- ICMP messages are directed at IP endpoints. > > ICMP echo and echo replies do have "sessions" of sorts, at least unique > identifying fields - identifier and sequence number. > > This was opened by a pfSense maintainer because it's a change in behavior > from 6.x releases where this was never an issue, and is something we feel is > a regression. > > Ideally you don't want to be pinging the same host from two different > processes, but it's difficult to avoid in some circumstances and it's > something that always worked fine prior to FreeBSD 7.0. As far as I'm aware, IP raw sockets have never supported using the ID field to identify sessions or direct packets to specific sockets. This means that a kernel regression in that session semantic is unlikely. However, it could be that you're seeing the impact of another regression relating to other behavior for restricting ICMP received on the raw socket. The kernel code in question is in raw_ip.c:rip_input(), which performs the following checks for each raw IP socket it considers a candidate for delivery: - If a non-zero 'protocol' argument was specified in the socket() call, is the protocol of the packet the same as the protocol on the socket? - If a local address is bound on the raw socket, is it the same as the destination address on the packet? - If a forieng address is bound on the raw socket, is it the same as the source address on the packet? - If the socket was created by a process in a jail, is the jail IP the same as the destination address on the packet? With these in mind, I'd look for one of two things that might have lead to the symptoms you're seeing: a change in the way your application is written or run such that the address limits on packets received are no longer requested or may now be ambiguous, or a change in the way our system works such that it's no longer implementing the above checks correctly. Ping applications are, btw, supposed to select unique identifiers (typically the pid is used) and then ignore replies with a different identifier, and last I checked ping(8) did that. Could it be that your application is not doing that? Robert N M Watson Computer Laboratory University of Cambridge _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 11:06:59 2008 Return-Path: Delivered-To: freebsd-net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7EBA61065674 for ; Mon, 22 Sep 2008 11:06:59 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 6E8EB8FC36 for ; Mon, 22 Sep 2008 11:06:59 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8MB6xTM015448 for ; Mon, 22 Sep 2008 11:06:59 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8MB6wbL015444 for freebsd-net@FreeBSD.org; Mon, 22 Sep 2008 11:06:58 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 22 Sep 2008 11:06:58 GMT Message-Id: <200809221106.m8MB6wbL015444@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-net@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-net@FreeBSD.org X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 11:06:59 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/127528 net [icmp]: icmp socket receives icmp replies not owned by o bin/127192 net routed(8) removes the secondary alias IP of interface f kern/127145 net [wi]: prism (wi) driver crash at bigger traffic o kern/127102 net [wpi] Intel 3945ABG low throughput o kern/127057 net [udp] Unable to send UDP packet via IPv6 socket to IPv o kern/127050 net [carp] ipv6 does not work on carp interfaces [regressi o kern/126984 net [carp][patch] add carp userland notifications via devc o kern/126945 net [carp] CARP interface destruction with ifconfig destro o kern/126895 net [patch] [ral] Add antenna selection (marked as TBD) o kern/126874 net [vlan]: Zebra problem if ifconfig vlanX destroy o bin/126822 net wpa_supplicant(8): WPA PSK does not work in adhoc mode o kern/126742 net [panic] kernel panic when sending file via ng_ubt(4) o kern/126714 net [carp] CARP interface renaming makes system no longer o kern/126695 net rtfree messages and network disruption upon use of if_ o kern/126688 net [ixgbe] [patch] 1.4.7 ixgbe driver panic with 4GB and f kern/126564 net [ath] doesn't work with my PCI-E X1 wireless network a o kern/126561 net [nlm] [patch] NLM (rpclockd) RPC UNLOCK failure (stall o kern/126475 net [ath] [panic] ath pcmcia card inevitably panics under o kern/126469 net [fxp] [panic] fxp(4) related kernel panic o kern/126339 net [ipw] ipw driver drops the connection o kern/126214 net [ath] txpower problem with Atheros wifi card o kern/126075 net [in] Network: internet control accesses beyond end of o bin/125922 net [patch] Deadlock in arp(8) o kern/125920 net [arp] Kernel Routing Table loses Ethernet Link status o kern/125845 net [netinet] [patch] tcp_lro_rx() should make use of hard o kern/125816 net [carp] [bridge] carp stuck in init when using bridge i f kern/125502 net [ral] ifconfig ral0 scan produces no output unless in o kern/125258 net [socket] socket's SO_REUSEADDR option does not work o kern/125239 net [gre] kernel crash when using gre f kern/125195 net [fxp] fxp(4) driver failed to initialize device Intel o kern/125181 net [ndis] [patch] with wep enters kdb.enter.unknown, pani o kern/125079 net [ppp] host routes added by ppp with gateway flag (regr o kern/124904 net [fxp] EEPROM corruption with Compaq NC3163 NIC o kern/124767 net [iwi] Wireless connection using iwi0 driver (Intel 220 o kern/124753 net [ieee80211] net80211 discards power-save queue packets o kern/124609 net [ipsec] [panic] ipsec 'remainder too big' panic with p o kern/124341 net [ral] promiscuous mode for wireless device ral0 looses o kern/124160 net [libc] connect(2) function loops indefinitely o kern/124127 net [msk] watchdog timeout (missed Tx interrupts) -- recov o kern/124021 net [ip6] [panic] page fault in nd6_output() o bin/124004 net ifconfig(8): Cannot assign both an IP and a MAC addres o kern/123968 net [rum] [panic] rum driver causes kernel panic with WPA. p kern/123961 net [vr] [patch] Allow vr interface to handle vlans o kern/123892 net [tap] [patch] No buffer space available o kern/123881 net [tcp] Turning on TCP blackholing causes slow localhost o kern/123796 net [ipf] FreeBSD 6.1+VPN+ipnat+ipf: port mapping does not o bin/123633 net ifconfig(8) doesn't set inet and ether address in one o kern/123617 net [tcp] breaking connection when client downloading file o kern/123603 net [tcp] tcp_do_segment and Received duplicate SYN o kern/123559 net [iwi] iwi periodically disassociates/associates [regre o bin/123465 net [ip6] route(8): route add -inet6 -interfac o kern/123463 net [ipsec] [panic] repeatable crash related to ipsec-tool o kern/123429 net [nfe] [hang] "ifconfig nfe up" causes a hard system lo o kern/123347 net [bge] bge1: watchdog timeout -- linkstate changed to D o conf/123330 net [nsswitch.conf] Enabling samba wins in nsswitch.conf c o kern/123256 net [wpi] panic: blockable sleep lock with wpi(4) f kern/123200 net [netgraph] Server failure due to netgraph mpd and dhcp f kern/123172 net [bce] Watchdog timeout problems with if_bce o kern/123160 net [ip] Panic and reboot at sysctl kern.polling.enable=0 o kern/123066 net [ipsec] [panic] kernel trap with ipsec o kern/122989 net [swi] [panic] 6.3 kernel panic in swi1: net o kern/122954 net [lagg] IPv6 EUI64 incorrectly chosen for lagg devices o kern/122928 net [em] interface watchdog timeouts and stops receiving p f kern/122839 net [multicast] FreeBSD 7 multicast routing problem p kern/122794 net [lagg] Kernel panic after brings lagg(8) up if NICs ar o kern/122780 net [lagg] tcpdump on lagg interface during high pps wedge o kern/122772 net [em] em0 taskq panic, tcp reassembly bug causes radix o kern/122743 net [panic] vm_page_unwire: invalid wire count: 0 o kern/122697 net [ath] Atheros card is not well supported o kern/122685 net It is not visible passing packets in tcpdump o kern/122551 net [bge] Broadcom 5715S no carrier on HP BL460c blade usi o kern/122427 net [apm] [panic] apm and mDNSResponder cause panic during o kern/122319 net [wi] imposible to enable ad-hoc demo mode with Orinoco o kern/122290 net [netgraph] [panic] Netgraph related "kmem_map too smal f kern/122252 net [ipmi] [bge] IPMI problem with BCM5704 (does not work o kern/122195 net [ed] Alignment problems in if_ed o kern/122082 net [in_pcb] NULL pointer dereference in in_pcbdrop o kern/122068 net [ppp] ppp can not set the correct interface with pptpd o kern/122058 net [em] [panic] Panic on em1: taskq o kern/122033 net [ral] [lor] Lock order reversal in ral0 at bootup [reg o kern/121983 net [fxp] fxp0 MBUF and PAE o kern/121872 net [wpi] driver fails to attach on a fujitsu-siemens s711 s kern/121774 net [swi] [panic] 6.3 kernel panic in swi1: net o kern/121706 net [netinet] [patch] "rtfree: 0xc4383870 has 1 refs" emit o kern/121624 net [em] [regression] Intel em WOL fails after upgrade to o kern/121555 net [panic] Fatal trap 12: current process = 12 (swi1: net o kern/121443 net [gif] LOR icmp6_input/nd6_lookup o kern/121437 net [vlan] Routing to layer-2 address does not work on VLA o kern/121298 net [em] [panic] Fatal trap 12: page fault while in kernel o kern/121257 net [tcp] TSO + natd -> slow outgoing tcp traffic o kern/121181 net [panic] Fatal trap 3: breakpoint instruction fault whi o kern/121080 net [bge] IPv6 NUD problem on multi address config on bge0 o kern/120966 net [rum] kernel panic with if_rum and WPA encryption p docs/120945 net [PATCH] ip6(4) man page lacks documentation for TCLASS o kern/120566 net [request]: ifconfig(8) make order of arguments more fr o kern/120304 net [netgraph] [patch] netgraph source assumes 32-bit time o kern/120266 net [panic] gnugk causes kernel panic when closing UDP soc o kern/120232 net [nfe] [patch] Bring in nfe(4) to RELENG_6 o kern/120130 net [carp] [panic] carp causes kernel panics in any conste o kern/119945 net [rum] [panic] rum device in hostap mode, cause kernel o kern/119791 net [nfs] UDP NFS mount of aliased IP addresses from a Sol o kern/119617 net [nfs] nfs error on wpa network when reseting/shutdown f kern/119516 net [ip6] [panic] _mtx_lock_sleep: recursed on non-recursi o kern/119432 net [arp] route add -host -iface causes arp e o kern/119361 net [bge] bge(4) transmit performance problem o kern/119345 net [ath] Unsuported Atheros 5424/2424 and CPU speedstep n o kern/119225 net [wi] 7.0-RC1 no carrier with Prism 2.5 wifi card [regr o bin/118987 net ifconfig(8): ifconfig -l (address_family) does not wor o kern/118880 net [ip6] IP_RECVDSTADDR & IP_SENDSRCADDR not implemented a kern/118879 net [bge] [patch] bge has checksum problems on the 5703 ch o kern/118727 net [netgraph] [patch] [request] add new ng_pf module o kern/117448 net [carp] 6.2 kernel crash [regression] o kern/117423 net [vlan] Duplicate IP on different interfaces o bin/117339 net [patch] route(8): loading routing management commands o kern/117271 net [tap] OpenVPN TAP uses 99% CPU on releng_6 when if_tap o kern/117043 net [em] Intel PWLA8492MT Dual-Port Network adapter EEPROM o kern/116837 net [tun] [panic] [patch] ifconfig tunX destroy: panic o kern/116747 net [ndis] FreeBSD 7.0-CURRENT crash with Dell TrueMobile o bin/116643 net [patch] [request] fstat(1): add INET/INET6 socket deta o kern/116328 net [bge]: Solid hang with bge interface o kern/116185 net [iwi] if_iwi driver leads system to reboot o kern/116077 net [ip] [patch] 6.2-STABLE panic during use of multi-cast o kern/115239 net [ipnat] panic with 'kmem_map too small' using ipnat o kern/114915 net [patch] [pcn] pcn (sys/pci/if_pcn.c) ethernet driver f o kern/114839 net [fxp] fxp looses ability to speak with traffic o kern/114714 net [gre][patch] gre(4) is not MPSAFE and does not support o kern/113842 net [ip6] PF_INET6 proto domain state can't be cleared wit o kern/112722 net [udp] IP v4 udp fragmented packet reject o kern/112686 net [patm] patm driver freezes System (FreeBSD 6.2-p4) i38 o bin/112557 net [patch] ppp(8) lock file should not use symlink name o kern/112528 net [nfs] NFS over TCP under load hangs with "impossible p o kern/109733 net [bge] bge link state issues [regression] o kern/109470 net [wi] Orinoco Classic Gold PC Card Can't Channel Hop o kern/109308 net [pppd] [panic] Multiple panics kernel ppp suspected [r o bin/108895 net pppd(8): PPPoE dead connections on 6.2 [regression] o kern/108542 net [bce]: Huge network latencies with 6.2-RELEASE / STABL o conf/107035 net [patch] bridge interface given in rc.conf not taking a o kern/106438 net [ipf] ipfilter: keep state does not seem to allow repl o kern/106316 net [dummynet] dummynet with multipass ipfw drops packets s kern/105943 net Network stack may modify read-only mbuf chain copies o bin/105925 net problems with ifconfig(8) and vlan(4) [regression] o conf/102502 net [patch] ifconfig name does't rename netgraph node in n o kern/102035 net [plip] plip networking disables parallel port printing o kern/101948 net [ipf] [panic] Kernel Panic Trap No 12 Page Fault - cau o kern/100519 net [netisr] suggestion to fix suboptimal network polling o kern/98978 net [ipf] [patch] ipfilter drops OOW packets under 6.1-Rel o kern/95288 net [pppd] [tty] [panic] if_ppp panic in sys/kern/tty_subr o kern/95277 net [netinet] [patch] IP Encapsulation mask_match() return o kern/95267 net packet drops periodically appear o kern/93378 net [tcp] Slow data transfer in Postfix and Cyrus IMAP (wo f kern/92552 net A serious bug in most network drivers from 5.X to 6.X o kern/92090 net [bge] bge0: watchdog timeout -- resetting s kern/91777 net [ipf] [patch] wrong behaviour with skip rule inside an o kern/91594 net [em] FreeBSD > 5.4 w/ACPI fails to detect Intel Pro/10 o kern/87521 net [ipf] [panic] using ipfilter "auth" keyword leads to k s kern/86920 net [ndis] ifconfig: SIOCS80211: Invalid argument [regress o kern/86103 net [ipf] Illegal NAT Traversal in IPFilter s kern/81147 net [net] [patch] em0 reinitialization while adding aliase o kern/79895 net [ipf] 5.4-RC2 breaks ipfilter NAT when using netgraph o bin/79228 net [patch] extend arp(8) to be able to create blackhole r o kern/78090 net [ipf] ipf filtering on bridged packets doesn't work if p kern/77913 net [wi] [patch] Add the APDL-325 WLAN pccard to wi(4) o kern/77273 net [ipf] ipfilter breaks ipv6 statefull filtering on 5.3 s kern/77195 net [ipf] [patch] ipfilter ioctl SIOCGNATL does not match o kern/70904 net [ipf] ipfilter ipnat problem with h323 proxy support o kern/64556 net [sis] if_sis short cable fix problems with NetGear FA3 s kern/60293 net FreeBSD arp poison patch o kern/54383 net [nfs] [patch] NFS root configurations without dynamic s bin/41647 net ifconfig(8) doesn't accept lladdr along with inet addr s kern/39937 net ipstealth issue a kern/38554 net [patch] changing interface ipaddress doesn't seem to w o kern/35442 net [sis] [patch] Problem transmitting runts in if_sis dri o kern/34665 net [ipf] [hang] ipfilter rcmd proxy "hangs". o kern/27474 net [ipf] [ppp] Interactive use of user PPP and ipfilter c o conf/23063 net [PATCH] for static ARP tables in rc.network 175 problems total. From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 13:04:20 2008 Return-Path: Delivered-To: freebsd-net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB5C6106566B; Mon, 22 Sep 2008 13:04:20 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id 9D6F38FC19; Mon, 22 Sep 2008 13:04:20 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id 1615F1665D1; Mon, 22 Sep 2008 09:04:20 -0400 (EDT) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute2.internal (MEProxy); Mon, 22 Sep 2008 09:04:20 -0400 X-Sasl-enc: Ugzkj0Ptc+8R7iJOzYhcSq4PsxNgsEIB+Hrx2BfDo3a4 1222088659 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 48BB627E0B; Mon, 22 Sep 2008 09:04:19 -0400 (EDT) Message-ID: <48D797D1.1080403@FreeBSD.org> Date: Mon, 22 Sep 2008 14:04:17 +0100 From: "Bruce M. Simpson" User-Agent: Thunderbird 2.0.0.14 (X11/20080514) MIME-Version: 1.0 To: Chris Buechler References: <200809212103.m8LL3v61012961@freefall.freebsd.org> <48D6C6CE.3060404@FreeBSD.org> <48D6D489.5070506@pfsense.org> In-Reply-To: <48D6D489.5070506@pfsense.org> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@FreeBSD.org, remko@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 13:04:21 -0000 Chris Buechler wrote: >> >> This PR is bogus because: >> ICMP has no concept of datagrams being "owned" by a process. There is >> no field in the ICMP protocol which differentiates ICMP "sessions" on >> a per-process basis, and this is because ICMP has no concept of >> "sessions" -- ICMP messages are directed at IP endpoints. > > ICMP echo and echo replies do have "sessions" of sorts, at least > unique identifying fields - identifier and sequence number. These fields do exist in ICMP, and as you point out, they are sometimes used to implement session-like behaviour. Many NAT implementations use them in this way. However there is no way of specifying them in a bind() call -- ICMP can only be received on a raw socket, and raw sockets will not filter these things on behalf of a user process, nor have they ever done to the best of my knowledge. They are not part of the address structures for a raw socket (SOCK_RAW, PF_INET, * or IPPROTO_ICMP). > > This was opened by a pfSense maintainer because it's a change in > behavior from 6.x releases where this was never an issue, and is > something we feel is a regression. Robert has replied outlining a few situations where the behaviour might have changed. Raw sockets do support binding laddr/faddr, there is the possibility this could have changed, however there is no notion of processes "owning" streams of ICMP messages, this has never been part of the ICMP protocol and to think in these terms is misleading. It sounds to me as though the application is relying on a form of filtering which isn't happening, and the way to track this down is to carefully note what, if anything, changed in the expected behaviour between releases. For example, does the application bind() to any given host addresses? This is the only form of filtering, apart from multicast SSM, that raw sockets would support, and SSM ain't in the tree [yet]. thanks BMS From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 13:31:08 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D23F106564A; Mon, 22 Sep 2008 13:31:08 +0000 (UTC) (envelope-from rik@inse.ru) Received: from mail.inse.ru (mail.inse.ru [144.206.128.1]) by mx1.freebsd.org (Postfix) with ESMTP id 457398FC1D; Mon, 22 Sep 2008 13:31:08 +0000 (UTC) (envelope-from rik@inse.ru) Received: from [127.0.0.1] (www.inse.ru [144.206.128.1]) by mail.inse.ru (Postfix) with ESMTPSA id ED54133C51; Mon, 22 Sep 2008 17:31:06 +0400 (MSD) Message-ID: <48D79E1C.3060003@inse.ru> Date: Mon, 22 Sep 2008 17:31:08 +0400 From: Roman Kurakin User-Agent: Thunderbird 2.0.0.14 (Windows/20080421) MIME-Version: 1.0 To: Pawel Jakub Dawidek References: <20080919075633.GA4333@garage.freebsd.pl> <20080919121602.GC4333@garage.freebsd.pl> <200809191538.02698.max@love2party.net> <20080922102209.GB2468@garage.freebsd.pl> In-Reply-To: <20080922102209.GB2468@garage.freebsd.pl> Content-Type: text/plain; charset=windows-1251; format=flowed Content-Transfer-Encoding: 7bit Cc: Max Laier , freebsd-net@freebsd.org Subject: Re: Firewall redirect doesn't work any more... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 13:31:08 -0000 Hi, Pawel Jakub Dawidek wrote: > On Fri, Sep 19, 2008 at 03:38:02PM +0200, Max Laier wrote: > >> I might be wrong, but I don't think we ever supported rdr without >> net.inet.ip.forwarding enabled. Maybe to a different local address, but even >> then you'd need net.inet.ip.check_interface=0. Looking at the code, I don't >> see where IPFW forwarding fails (as it has its own ip_forward() call), though. >> > > Ok, I did some more tests. I'm running bridge in there and trying to > redirect packets that goes through my bridge to a local daemon. > UDP redirect seems to work with PF: > > rdr on bridge0 proto udp from 10.0.1.1 to 10.0.0.2 port 12345 -> 10.0.5.123 port 12345 > > Between 10.0.1.1 and 10.0.0.2 there is my bridging machine. Now when I > call 'nc -u -l 12345' on 10.0.5.123 and call 'nc -u 10.0.0.2 12345' on > 10.0.1.1 machine I can receive packets on my nc daemon just fine, I can > even send packets back and they are send with source address set to > 10.0.0.2 - this is exactly what I'm looking for. > > Unfortunately it doesn't work for TCP. I see packets beeing redirected to > 10.0.5.123, but my local daemon never accepts the connection and nc client > keeps resending SYN packets. > > I also see weird messages in the logs: > > TCP: [10.0.1.1]:36973 to [10.0.5.123]:12345 tcpflags 0x4; syncache_chkrst: Spurious RST without matching syncache entry (possibly syncookie only), segment ignored > (Both tcps_badrst and tcps_sc_dropped are increased on every connection > attempt.) > > Any ideas how to make it work with TCP? > > PS. The same functionality doesn't work at all with ipfw(8) (because of > if_bridge(4)?). > I use ipfw(8) fwd for tcp with bridge and it works (more or less) fine for me. The network scheme in my setup is: if0 - bridge0 - vlanX lo0 connected jails with private IPs. forwarding enabled, also net.link.bridge.pfil_local_phys=1 to get more control on traffic, but this should not affect the result. I do not use pf since it have problems with ftp+nat. All packets from vlanX to any 80 are redirected to a squid-jail, and there is no problems. (Mostly no, since I have some instability and I get connection timeouts and need to press reload time to time in my browser window. Can't say what is the reason since IIRC the squid version was of the last but no-stable version and it was the first time I've used jail for squid and also jail are behind the natd. I just didn't have a time to dig this problem.) But once again it works. So, could you draw you connections and related firewall rules. And the one you are trying to setup. I will also try to update the machine to the most recent 7 to see if my setup will stop working. Currently machine runs early September checkout. PS. Also check the mac address issue that was discussed here (case where the brdige0 and the first bridge member share the same MAC). rik From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 13:48:33 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A4BA1065670 for ; Mon, 22 Sep 2008 13:48:33 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: from mail.garage.freebsd.pl (chello087206045082.chello.pl [87.206.45.82]) by mx1.freebsd.org (Postfix) with ESMTP id 4C4E98FC1C for ; Mon, 22 Sep 2008 13:48:32 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 0368D45C9B; Mon, 22 Sep 2008 15:48:29 +0200 (CEST) Received: from localhost (pjd.wheel.pl [10.0.1.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id B0E9745B36; Mon, 22 Sep 2008 15:48:22 +0200 (CEST) Date: Mon, 22 Sep 2008 15:48:30 +0200 From: Pawel Jakub Dawidek To: Roman Kurakin Message-ID: <20080922134830.GA6797@garage.freebsd.pl> References: <20080919075633.GA4333@garage.freebsd.pl> <20080919121602.GC4333@garage.freebsd.pl> <200809191538.02698.max@love2party.net> <20080922102209.GB2468@garage.freebsd.pl> <48D79E1C.3060003@inse.ru> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="ew6BAiZeqk4r7MaW" Content-Disposition: inline In-Reply-To: <48D79E1C.3060003@inse.ru> User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 8.0-CURRENT i386 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-5.9 required=3.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.0.4 Cc: Max Laier , freebsd-net@freebsd.org Subject: Re: Firewall redirect doesn't work any more... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 13:48:33 -0000 --ew6BAiZeqk4r7MaW Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Sep 22, 2008 at 05:31:08PM +0400, Roman Kurakin wrote: > So, could you draw you connections and related firewall rules. And the=20 > one you > are trying to setup. I will also try to update the machine to the most=20 > recent 7 to > see if my setup will stop working. Currently machine runs early=20 > September checkout. client (10.0.1.1) -----> bridge (10.0.5.123) -----> server (10.0.0.2)=20 ifnet =3D "bridge0" rdr on $ifnet proto tcp from any to any port 12345 -> 10.0.5.123 port 12345 rdr on $ifnet proto udp from any to any port 12345 -> 10.0.5.123 port 12345 net.inet.ip.forwarding=3D1 To test my redirection I run: server# nc -u -l 12345 client# nc -u 10.0.0.2 12345 For UDP it works, for TCP it doesn't: server# nc -l 12345 client# nc 10.0.0.2 12345 Although it works even with bridge0 and TCP connections, but when bridge machine is treated as gateway, eg. server# nc -l 12345 client# route add 1.0.0.0/24 10.0.5.123 client# nc 10.0.0.2 12345 > PS. Also check the mac address issue that was discussed here (case where = the > brdige0 and the first bridge member share the same MAC). That's not the case on my test machines. --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --ew6BAiZeqk4r7MaW Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFI16IuForvXbEpPzQRAmamAKC/pd1b4K1SO5uzgj0xFtgbv5mQVQCfc5Ie V3Bk3K0r3A4nY4i7othqicE= =BZtj -----END PGP SIGNATURE----- --ew6BAiZeqk4r7MaW-- From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 14:06:58 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4F78106566B for ; Mon, 22 Sep 2008 14:06:58 +0000 (UTC) (envelope-from gavin@freebsd.org) Received: from mail-gw0.york.ac.uk (mail-gw0.york.ac.uk [144.32.128.245]) by mx1.freebsd.org (Postfix) with ESMTP id 4C6B98FC1C for ; Mon, 22 Sep 2008 14:06:57 +0000 (UTC) (envelope-from gavin@freebsd.org) Received: from mail-gw6.york.ac.uk (mail-gw6.york.ac.uk [144.32.129.26]) by mail-gw0.york.ac.uk (8.13.6/8.13.6) with ESMTP id m8ME6uAB028105 for ; Mon, 22 Sep 2008 15:06:56 +0100 (BST) Received: from ury.york.ac.uk ([144.32.108.81]) by mail-gw6.york.ac.uk with esmtps (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1Khm3z-00044m-VZ for freebsd-net@freebsd.org; Mon, 22 Sep 2008 15:06:55 +0100 Received: from ury.york.ac.uk (localhost.york.ac.uk [127.0.0.1]) by ury.york.ac.uk (8.14.2/8.14.2) with ESMTP id m8ME6tDX007874 for ; Mon, 22 Sep 2008 15:06:55 +0100 (BST) (envelope-from gavin@freebsd.org) Received: from localhost (gavin@localhost) by ury.york.ac.uk (8.14.2/8.14.2/Submit) with ESMTP id m8ME6tee007864 for ; Mon, 22 Sep 2008 15:06:55 +0100 (BST) (envelope-from gavin@freebsd.org) X-Authentication-Warning: ury.york.ac.uk: gavin owned process doing -bs Date: Mon, 22 Sep 2008 15:06:55 +0100 (BST) From: Gavin Atkinson X-X-Sender: gavin@ury.york.ac.uk To: freebsd-net@freebsd.org In-Reply-To: <20080921183530.V31429@ury.york.ac.uk> Message-ID: <20080922150424.O6681@ury.york.ac.uk> References: <20080921183530.V31429@ury.york.ac.uk> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-York-MailScanner: Found to be clean X-York-MailScanner-From: gavin@freebsd.org Subject: Re: Backporting iwn(4): Success! X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 14:06:58 -0000 On Sun, 21 Sep 2008, Gavin Atkinson wrote: > I'm attempting to backport the iwn(4) driver for the Intel 4965 driver from > -HEAD to RELENG_7 and am getting stuck with it at one particular point: WPA > authentication times out. As a followup to this, with a bit of help from Sam Leffler, I've now succeeded in getting this working. If you're interested in using this driver under RELENG_7 plese see my post to freebsd-stable@: http://docs.FreeBSD.org/cgi/mid.cgi?1222090773.43647.16.camel Gavin From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 14:11:34 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC7A51065680; Mon, 22 Sep 2008 14:11:34 +0000 (UTC) (envelope-from rik@inse.ru) Received: from mail.inse.ru (mail.inse.ru [144.206.128.1]) by mx1.freebsd.org (Postfix) with ESMTP id 77FB98FC0C; Mon, 22 Sep 2008 14:11:34 +0000 (UTC) (envelope-from rik@inse.ru) Received: from [127.0.0.1] (www.inse.ru [144.206.128.1]) by mail.inse.ru (Postfix) with ESMTPSA id 3E64733C51; Mon, 22 Sep 2008 18:11:33 +0400 (MSD) Message-ID: <48D7A797.6070009@inse.ru> Date: Mon, 22 Sep 2008 18:11:35 +0400 From: Roman Kurakin User-Agent: Thunderbird 2.0.0.14 (Windows/20080421) MIME-Version: 1.0 To: Pawel Jakub Dawidek References: <20080919075633.GA4333@garage.freebsd.pl> <20080919121602.GC4333@garage.freebsd.pl> <200809191538.02698.max@love2party.net> <20080922102209.GB2468@garage.freebsd.pl> <48D79E1C.3060003@inse.ru> <20080922134830.GA6797@garage.freebsd.pl> In-Reply-To: <20080922134830.GA6797@garage.freebsd.pl> Content-Type: text/plain; charset=windows-1251; format=flowed Content-Transfer-Encoding: 7bit Cc: Max Laier , freebsd-net@freebsd.org Subject: Re: Firewall redirect doesn't work any more... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 14:11:34 -0000 Pawel Jakub Dawidek wrote: > On Mon, Sep 22, 2008 at 05:31:08PM +0400, Roman Kurakin wrote: > >> So, could you draw you connections and related firewall rules. And the >> one you >> are trying to setup. I will also try to update the machine to the most >> recent 7 to >> see if my setup will stop working. Currently machine runs early >> September checkout. >> > > client (10.0.1.1) -----> bridge (10.0.5.123) -----> server (10.0.0.2) > > ifnet = "bridge0" > rdr on $ifnet proto tcp from any to any port 12345 -> 10.0.5.123 port 12345 > rdr on $ifnet proto udp from any to any port 12345 -> 10.0.5.123 port 12345 > Try also to play with stateful switches for pf. By the way do you have any global that affects defaults? > net.inet.ip.forwarding=1 > > To test my redirection I run: > > server# nc -u -l 12345 > client# nc -u 10.0.0.2 12345 > > For UDP it works, for TCP it doesn't: > > server# nc -l 12345 > client# nc 10.0.0.2 12345 > > Although it works even with bridge0 and TCP connections, but when bridge > machine is treated as gateway, eg. > > server# nc -l 12345 > client# route add 1.0.0.0/24 10.0.5.123 > client# nc 10.0.0.2 12345 > And what about ipfw variant? rik >> PS. Also check the mac address issue that was discussed here (case where the >> brdige0 and the first bridge member share the same MAC). >> > > That's not the case on my test machines. > > From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 14:23:14 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17B671065672 for ; Mon, 22 Sep 2008 14:23:14 +0000 (UTC) (envelope-from psychosensor@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.170]) by mx1.freebsd.org (Postfix) with ESMTP id 91B7C8FC1F for ; Mon, 22 Sep 2008 14:23:13 +0000 (UTC) (envelope-from psychosensor@gmail.com) Received: by ug-out-1314.google.com with SMTP id m2so1321982uge.39 for ; Mon, 22 Sep 2008 07:23:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type:content-transfer-encoding :content-disposition; bh=c6nhcNzP+i/SzOQINEyX5YnvdCllPg8N6TSR/PJ0O7M=; b=RCIF2eRE+EL7dMEkDjM0ZYxhsCO3ZQcZTMfACWk5Y7GY1fjliiysDIF5dJq9hpDGVq 1ckH2os4Ou1gwFC5ashNnXz64apBGUotxeqBoQEB4dMrDcuXGkPK41fyeahQo98IkHQM ZEhvWbusG3QpKFQ/i+O1TzGodLFTB6bmTO8MY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type :content-transfer-encoding:content-disposition; b=fYeh2dIm2hkAcEK7QBFTIrfrrPFtk1ze38ZbNyawZJp0wcfqbtsqtZY2FVWSsskdsY LOFIcxVfl6KJ0UZhGbIA5mBCEMnt5MlEVd2s/p+wyZOdnRUmBJXYJonIidBIZVIEj/MV F74ayFpzxGSe2AQrS1L/V2SkvnbdYV0aHaZ1g= Received: by 10.86.29.8 with SMTP id c8mr4814006fgc.23.1222092059171; Mon, 22 Sep 2008 07:00:59 -0700 (PDT) Received: by 10.86.31.8 with HTTP; Mon, 22 Sep 2008 07:00:59 -0700 (PDT) Message-ID: Date: Mon, 22 Sep 2008 17:00:59 +0300 From: "Sergey Listopad" To: freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: bridged tap interfaces with stp X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 14:23:14 -0000 Hi! I am playing with bridge(4) stp feature. there are 2 boxes with 7.0-RELEASE-p4. rt1 rt2 ___________ ___________ | ____| |____ | | |tap1| ------------------------|tap1| | | | | | | |tap2|-------------------------|tap2| | |___________| |___________| rt1 connected to rt2 with 2 openvpn L2 links (tap). tap1 bridged with tap2 on both routers. rt1# ifconfig bridge0 bridge0: flags=8843 metric 0 mtu 1500 ether 56:8d:35:75:ee:3f inet 3.3.3.1 netmask 0xffffff00 broadcast 3.3.3.255 id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 member: tap2 flags=143 member: tap1 flags=143 rt2# ifconfig bridge0 bridge0: flags=8843 metric 0 mtu 1500 ether 3a:af:9d:0f:c1:b9 inet 3.3.3.2 netmask 0xffffff00 broadcast 3.3.3.255 id 00:00:00:00:00:00 priority 16384 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:00:00:00:00:00 priority 16384 ifcost 0 port 0 member: tap2 flags=143 member: tap1 flags=143 rt1# ping 3.3.3.2 PING 3.3.3.2 (3.3.3.2): 56 data bytes 64 bytes from 3.3.3.2: icmp_seq=0 ttl=64 time=8.144 ms 64 bytes from 3.3.3.2: icmp_seq=1 ttl=64 time=4.313 ms 64 bytes from 3.3.3.2: icmp_seq=2 ttl=64 time=4.421 ms ... all works while broadcast Then I'd try to enable stp on bridge0 interfaces for automatic disable one of redundant links (tap1/tap2). rt1# ifconfig bridge0 stp tap1 stp tap2 rt1# ifconfig bridge0 bridge0: flags=8943 metric 0 mtu 1500 ether 56:8d:35:75:ee:3f inet 3.3.3.1 netmask 0xffffff00 broadcast 3.3.3.255 id 00:1c:c0:39:d6:b9 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:1c:c0:39:d6:b9 priority 32768 ifcost 0 port 0 member: tap2 flags=147 port 12 priority 128 path cost 2000000 proto rstp role disabled state discarding member: tap1 flags=147 port 16 priority 128 path cost 2000000 proto rstp role disabled state discarding rt2# ifconfig bridge0 stp tap1 stp tap2 rt2# ifconfig bridge0 bridge0: flags=8843 metric 0 mtu 1500 ether 3a:af:9d:0f:c1:b9 inet 3.3.3.2 netmask 0xffffff00 broadcast 3.3.3.255 id 00:1c:c0:39:d6:ad priority 16384 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:1c:c0:39:d6:ad priority 16384 ifcost 0 port 0 member: tap2 flags=147 port 9 priority 128 path cost 2000000 proto rstp role disabled state discarding member: tap1 flags=147 port 8 priority 128 path cost 2000000 proto rstp role disabled state discarding But when stp is enabled, it blocks all bridge members, and bridge stop working. May be I am misunderstand something with stp? At all it is possible to use bridge(4) stp with tap(4)? Even when bridge0 on both router has only 1 member, ports stay in disabled state. rt1# ifconfig bridge0 deletem tap1 deletem tap2 rt1# ifconfig bridge0 bridge0: flags=8943 metric 0 mtu 1500 ether 56:8d:35:75:ee:3f inet 3.3.3.1 netmask 0xffffff00 broadcast 3.3.3.255 id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 rt2# ifconfig bridge0 deletem tap1 deletem tap2 rt2# ifconfig bridge0 bridge0: flags=8843 metric 0 mtu 1500 ether 3a:af:9d:0f:c1:b9 inet 3.3.3.2 netmask 0xffffff00 broadcast 3.3.3.255 id 00:00:00:00:00:00 priority 16384 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:00:00:00:00:00 priority 16384 ifcost 0 port 0 rt1# ifconfig bridge0 addm tap1 stp tap1 rt1# ifconfig bridge0 bridge0: flags=8943 metric 0 mtu 1500 ether 56:8d:35:75:ee:3f inet 3.3.3.1 netmask 0xffffff00 broadcast 3.3.3.255 id 00:1c:c0:39:d6:b9 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:1c:c0:39:d6:b9 priority 32768 ifcost 0 port 0 member: tap1 flags=147 port 16 priority 128 path cost 2000000 proto rstp role disabled state discarding rt2# ifconfig bridge0 addm tap1 stp tap1 rt2# ifconfig bridge0 bridge0: flags=8843 metric 0 mtu 1500 ether 3a:af:9d:0f:c1:b9 inet 3.3.3.2 netmask 0xffffff00 broadcast 3.3.3.255 id 00:1c:c0:39:d6:ad priority 16384 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:1c:c0:39:d6:ad priority 16384 ifcost 0 port 0 member: tap1 flags=147 port 8 priority 128 path cost 2000000 proto rstp role disabled state discarding -- S.Listopad From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 14:24:14 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 361F6106566C; Mon, 22 Sep 2008 14:24:14 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 29A2C8FC12; Mon, 22 Sep 2008 14:24:14 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from freefall.freebsd.org (rwatson@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8MEOE2I034467; Mon, 22 Sep 2008 14:24:14 GMT (envelope-from rwatson@freefall.freebsd.org) Received: (from rwatson@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8MEODPn034463; Mon, 22 Sep 2008 14:24:13 GMT (envelope-from rwatson) Date: Mon, 22 Sep 2008 14:24:13 GMT Message-Id: <200809221424.m8MEODPn034463@freefall.freebsd.org> To: seth.mos@xs4all.nl, rwatson@FreeBSD.org, freebsd-net@FreeBSD.org From: rwatson@FreeBSD.org Cc: Subject: Re: kern/127528: [icmp]: icmp socket receives icmp replies not owned by the process. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 14:24:14 -0000 Synopsis: [icmp]: icmp socket receives icmp replies not owned by the process. State-Changed-From-To: open->feedback State-Changed-By: rwatson State-Changed-When: Mon Sep 22 14:22:16 UTC 2008 State-Changed-Why: Request feedback based on correspondence to date -- the delivery of ICMP messages to multiple raw sockets is historical behavior from the original BSD network stack, and not considered a bug. However, clearly something has changed in the software configuration leading to the reported symptoms, and a FreeBSD kernel bug is not precluded as perhaps some other portion of raw IP socket input processing has changed and/or been broken. Please let us know what further investigation reveals about the source of the problem. http://www.freebsd.org/cgi/query-pr.cgi?pr=127528 From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 14:24:52 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E01911065689 for ; Mon, 22 Sep 2008 14:24:52 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: from mail.garage.freebsd.pl (chello087206045082.chello.pl [87.206.45.82]) by mx1.freebsd.org (Postfix) with ESMTP id 2A27B8FC19 for ; Mon, 22 Sep 2008 14:24:52 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 4077945CA6; Mon, 22 Sep 2008 16:24:50 +0200 (CEST) Received: from localhost (pjd.wheel.pl [10.0.1.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id F1CF145CA0; Mon, 22 Sep 2008 16:24:43 +0200 (CEST) Date: Mon, 22 Sep 2008 16:24:52 +0200 From: Pawel Jakub Dawidek To: Roman Kurakin Message-ID: <20080922142452.GC6797@garage.freebsd.pl> References: <20080919075633.GA4333@garage.freebsd.pl> <20080919121602.GC4333@garage.freebsd.pl> <200809191538.02698.max@love2party.net> <20080922102209.GB2468@garage.freebsd.pl> <48D79E1C.3060003@inse.ru> <20080922134830.GA6797@garage.freebsd.pl> <48D7A797.6070009@inse.ru> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="rQ2U398070+RC21q" Content-Disposition: inline In-Reply-To: <48D7A797.6070009@inse.ru> User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 8.0-CURRENT i386 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-5.9 required=3.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.0.4 Cc: Max Laier , freebsd-net@freebsd.org Subject: Re: Firewall redirect doesn't work any more... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 14:24:53 -0000 --rQ2U398070+RC21q Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Sep 22, 2008 at 06:11:35PM +0400, Roman Kurakin wrote: > Pawel Jakub Dawidek wrote: > >On Mon, Sep 22, 2008 at 05:31:08PM +0400, Roman Kurakin wrote: > > =20 > >>So, could you draw you connections and related firewall rules. And the= =20 > >>one you > >>are trying to setup. I will also try to update the machine to the most= =20 > >>recent 7 to > >>see if my setup will stop working. Currently machine runs early=20 > >>September checkout. > >> =20 > > > >client (10.0.1.1) -----> bridge (10.0.5.123) -----> server (10.0.0.2)=20 > > > >ifnet =3D "bridge0" > >rdr on $ifnet proto tcp from any to any port 12345 -> 10.0.5.123 port 12= 345 > >rdr on $ifnet proto udp from any to any port 12345 -> 10.0.5.123 port 12= 345 > > =20 > Try also to play with stateful switches for pf. [...] Adding the following made even UDP non-working: pass in on $ifnet proto udp from any to any keep state For TCP there was no difference. > [...] By the way do you have=20 > any global that affects > defaults? Besides net.inet.ip.forwarding=3D1, no, although I tried various settings for net.link.bridge.*. > >Although it works even with bridge0 and TCP connections, but when bridge > >machine is treated as gateway, eg. > > > >server# nc -l 12345 > >client# route add 1.0.0.0/24 10.0.5.123 > >client# nc 10.0.0.2 12345 > > =20 > And what about ipfw variant? For the first (bridge) case ipfw didn't work at all. No packets were redirected. I haven't tried for the gateway case, because pf works there. --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --rQ2U398070+RC21q Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFI16qzForvXbEpPzQRAtc1AKCFTASu1qJdwYSg/a+Csa1VFlksJwCgw9lm 0zKrsqMQziY2ZK5eMBrTSCU= =pwfX -----END PGP SIGNATURE----- --rQ2U398070+RC21q-- From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 15:43:09 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67586106567E for ; Mon, 22 Sep 2008 15:43:09 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from pele.citylink.co.nz (pele.citylink.co.nz [202.8.44.226]) by mx1.freebsd.org (Postfix) with ESMTP id F1CEE8FC19 for ; Mon, 22 Sep 2008 15:43:08 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by pele.citylink.co.nz (Postfix) with ESMTP id 67EF02BC4D; Tue, 23 Sep 2008 03:43:07 +1200 (NZST) X-Virus-Scanned: Debian amavisd-new at citylink.co.nz Received: from pele.citylink.co.nz ([127.0.0.1]) by localhost (pele.citylink.co.nz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8BSch0BUnIzn; Tue, 23 Sep 2008 03:43:02 +1200 (NZST) Received: from citylink.fud.org.nz (unknown [202.8.44.45]) by pele.citylink.co.nz (Postfix) with ESMTP; Tue, 23 Sep 2008 03:43:02 +1200 (NZST) Received: by citylink.fud.org.nz (Postfix, from userid 1001) id 80C921142C; Tue, 23 Sep 2008 03:43:01 +1200 (NZST) Date: Mon, 22 Sep 2008 08:43:01 -0700 From: Andrew Thompson To: Sergey Listopad Message-ID: <20080922154301.GC76768@citylink.fud.org.nz> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) Cc: freebsd-net@freebsd.org Subject: Re: bridged tap interfaces with stp X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 15:43:09 -0000 On Mon, Sep 22, 2008 at 05:00:59PM +0300, Sergey Listopad wrote: > Hi! > > I am playing with bridge(4) stp feature. > > there are 2 boxes with 7.0-RELEASE-p4. > > rt1 rt2 > ___________ ___________ > | ____| |____ | > | |tap1| ------------------------|tap1| | > | | | | > | |tap2|-------------------------|tap2| | > |___________| |___________| > > rt1 connected to rt2 with 2 openvpn L2 links (tap). > > tap1 bridged with tap2 on both routers. > > rt1# ifconfig bridge0 > bridge0: flags=8843 metric 0 mtu 1500 > ether 56:8d:35:75:ee:3f > inet 3.3.3.1 netmask 0xffffff00 broadcast 3.3.3.255 > id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 > maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 > root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 > member: tap2 flags=143 > member: tap1 flags=143 > > rt2# ifconfig bridge0 > bridge0: flags=8843 metric 0 mtu 1500 > ether 3a:af:9d:0f:c1:b9 > inet 3.3.3.2 netmask 0xffffff00 broadcast 3.3.3.255 > id 00:00:00:00:00:00 priority 16384 hellotime 2 fwddelay 15 > maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 > root id 00:00:00:00:00:00 priority 16384 ifcost 0 port 0 > member: tap2 flags=143 > member: tap1 flags=143 > > rt1# ping 3.3.3.2 > PING 3.3.3.2 (3.3.3.2): 56 data bytes > 64 bytes from 3.3.3.2: icmp_seq=0 ttl=64 time=8.144 ms > 64 bytes from 3.3.3.2: icmp_seq=1 ttl=64 time=4.313 ms > 64 bytes from 3.3.3.2: icmp_seq=2 ttl=64 time=4.421 ms > ... > all works while broadcast > > Then I'd try to enable stp on bridge0 interfaces for automatic disable > one of redundant links (tap1/tap2). > rt1# ifconfig bridge0 stp tap1 stp tap2 > rt1# ifconfig bridge0 > bridge0: flags=8943 > metric 0 mtu 1500 > ether 56:8d:35:75:ee:3f > inet 3.3.3.1 netmask 0xffffff00 broadcast 3.3.3.255 > id 00:1c:c0:39:d6:b9 priority 32768 hellotime 2 fwddelay 15 > maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 > root id 00:1c:c0:39:d6:b9 priority 32768 ifcost 0 port 0 > member: tap2 flags=147 > port 12 priority 128 path cost 2000000 proto rstp > role disabled state discarding > member: tap1 flags=147 > port 16 priority 128 path cost 2000000 proto rstp > role disabled state discarding > > rt2# ifconfig bridge0 stp tap1 stp tap2 > rt2# ifconfig bridge0 > bridge0: flags=8843 metric 0 mtu 1500 > ether 3a:af:9d:0f:c1:b9 > inet 3.3.3.2 netmask 0xffffff00 broadcast 3.3.3.255 > id 00:1c:c0:39:d6:ad priority 16384 hellotime 2 fwddelay 15 > maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 > root id 00:1c:c0:39:d6:ad priority 16384 ifcost 0 port 0 > member: tap2 flags=147 > port 9 priority 128 path cost 2000000 proto rstp > role disabled state discarding > member: tap1 flags=147 > port 8 priority 128 path cost 2000000 proto rstp > role disabled state discarding > > But when stp is enabled, it blocks all bridge members, and bridge stop working. > > May be I am misunderstand something with stp? > At all it is possible to use bridge(4) stp with tap(4)? This is because tap(4) does not have a media attachment, the spanning tree code uses this to check if there is a link and obtain the duplex (see bstp_ifupdstatus). Im not sure what the answer is, maybe ignore this for pseudo interfaces. Andrew From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 17:26:43 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 359CF106566C for ; Mon, 22 Sep 2008 17:26:43 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outH.internet-mail-service.net (outh.internet-mail-service.net [216.240.47.231]) by mx1.freebsd.org (Postfix) with ESMTP id 1BEC98FC12 for ; Mon, 22 Sep 2008 17:26:35 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id EC41016CE; Mon, 22 Sep 2008 10:26:35 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id 1F4BA2D6013; Mon, 22 Sep 2008 10:26:35 -0700 (PDT) Message-ID: <48D7D54A.1020709@elischer.org> Date: Mon, 22 Sep 2008 10:26:34 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 To: Pawel Jakub Dawidek References: <20080919075633.GA4333@garage.freebsd.pl> <20080919121602.GC4333@garage.freebsd.pl> <200809191538.02698.max@love2party.net> <20080922102209.GB2468@garage.freebsd.pl> <48D79E1C.3060003@inse.ru> <20080922134830.GA6797@garage.freebsd.pl> <48D7A797.6070009@inse.ru> <20080922142452.GC6797@garage.freebsd.pl> In-Reply-To: <20080922142452.GC6797@garage.freebsd.pl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Max Laier , Roman Kurakin , freebsd-net@freebsd.org Subject: Re: Firewall redirect doesn't work any more... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 17:26:43 -0000 Pawel Jakub Dawidek wrote: >> And what about ipfw variant? > > For the first (bridge) case ipfw didn't work at all. No packets were > redirected. I haven't tried for the gateway case, because pf works > there. ipfw forwarding is disabled for bridge and L2 cases. (I think the man page says so.) At Ironport we added some small patche sto allow this to occur. it is relatively simple.. (less than 10 lines) When ipfw returns that a packet to the bridge, that has been marked as 'redirected', then you accept it to the IP stack as if it was addressed to the local machine. You then make sure that in L3 ipfe processing, you hit the same fwd rule, and this time it is sent to the right place. It does require that ipfw see the packet twice, but it works. A further hack would be to add code in the IP stack so that a packet tagged as redirected from the bridge would skip ipfw in the IP stack and go direct to the redirection. (but that may open security issues). From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 18:13:30 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DACD51065674 for ; Mon, 22 Sep 2008 18:13:30 +0000 (UTC) (envelope-from max@love2party.net) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.171]) by mx1.freebsd.org (Postfix) with ESMTP id 7F40E8FC28 for ; Mon, 22 Sep 2008 18:13:30 +0000 (UTC) (envelope-from max@love2party.net) Received: from vampire.homelinux.org (dslb-088-066-030-029.pools.arcor-ip.net [88.66.30.29]) by mrelayeu.kundenserver.de (node=mrelayeu3) with ESMTP (Nemesis) id 0MKxQS-1Khpub0BOJ-0000Mp; Mon, 22 Sep 2008 20:13:29 +0200 Received: (qmail 56071 invoked from network); 22 Sep 2008 18:13:27 -0000 Received: from fbsd8.laiers.local (192.168.4.151) by laiers.local with SMTP; 22 Sep 2008 18:13:27 -0000 From: Max Laier Organization: FreeBSD To: Pawel Jakub Dawidek Date: Mon, 22 Sep 2008 20:13:27 +0200 User-Agent: KMail/1.10.1 (FreeBSD/8.0-CURRENT; KDE/4.1.1; i386; ; ) References: <20080919075633.GA4333@garage.freebsd.pl> <200809191538.02698.max@love2party.net> <20080922102209.GB2468@garage.freebsd.pl> In-Reply-To: <20080922102209.GB2468@garage.freebsd.pl> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200809222013.27553.max@love2party.net> X-Provags-ID: V01U2FsdGVkX1+Fcw4ctPLPLeEuEc2SZIJBoBBay9NSOza3fix gBOWnkXwpVtv6XPnMAi6TWCmaMvYjZ4yKJx4Bwt9ZOTCDkJ/ML RtE/C3D1vmFIq3eTXV+ug== Cc: freebsd-net@freebsd.org Subject: Re: Firewall redirect doesn't work any more... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 18:13:31 -0000 On Monday 22 September 2008 12:22:09 Pawel Jakub Dawidek wrote: > On Fri, Sep 19, 2008 at 03:38:02PM +0200, Max Laier wrote: > > I might be wrong, but I don't think we ever supported rdr without > > net.inet.ip.forwarding enabled. Maybe to a different local address, but > > even then you'd need net.inet.ip.check_interface=0. Looking at the code, > > I don't see where IPFW forwarding fails (as it has its own ip_forward() > > call), though. > > Ok, I did some more tests. I'm running bridge in there and trying to > redirect packets that goes through my bridge to a local daemon. > UDP redirect seems to work with PF: > > rdr on bridge0 proto udp from 10.0.1.1 to 10.0.0.2 port 12345 -> 10.0.5.123 > port 12345 > > Between 10.0.1.1 and 10.0.0.2 there is my bridging machine. Now when I > call 'nc -u -l 12345' on 10.0.5.123 and call 'nc -u 10.0.0.2 12345' on > 10.0.1.1 machine I can receive packets on my nc daemon just fine, I can > even send packets back and they are send with source address set to > 10.0.0.2 - this is exactly what I'm looking for. > > Unfortunately it doesn't work for TCP. I see packets beeing redirected to > 10.0.5.123, but my local daemon never accepts the connection and nc client > keeps resending SYN packets. > > I also see weird messages in the logs: > > TCP: [10.0.1.1]:36973 to [10.0.5.123]:12345 tcpflags 0x4; > syncache_chkrst: Spurious RST without matching syncache entry (possibly > syncookie only), segment ignored (Both tcps_badrst and tcps_sc_dropped are > increased on every connection attempt.) > > Any ideas how to make it work with TCP? > > PS. The same functionality doesn't work at all with ipfw(8) (because of > if_bridge(4)?). The problem is that the packet is still subject to bridge's L2 processing and thus will make it's way to the original MAC receiver that will bark on it. What you could try is a pf route-to rule to lo0 and 127.0.0.1 and then rdr on lo0. In contrast to rdr, a route-to rule will consume the packet and reinject it into the IP-processing path. This way it won't be forwarded by the bridge and there should not be problems. That being said, it's rather difficult to write firewall rules for a bridge as there is no clear concept of direction (in/out). In scenarios like this I usually suggest filtering on the member interfaces only: net.link.bridge.pfil_member: 1 net.link.bridge.pfil_bridge: 0 -- /"\ Best regards, | mlaier@freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News From owner-freebsd-net@FreeBSD.ORG Mon Sep 22 21:40:39 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5E7E106567A; Mon, 22 Sep 2008 21:40:39 +0000 (UTC) (envelope-from marcus@marcuscom.com) Received: from creme-brulee.marcuscom.com (unknown [IPv6:2001:470:1f00:ffff::1279]) by mx1.freebsd.org (Postfix) with ESMTP id 38FEA8FC08; Mon, 22 Sep 2008 21:40:39 +0000 (UTC) (envelope-from marcus@marcuscom.com) Received: from [IPv6:2001:470:1f00:2464::4] (shumai.marcuscom.com [IPv6:2001:470:1f00:2464::4]) by creme-brulee.marcuscom.com (8.14.3/8.14.3) with ESMTP id m8MLesVm041177; Mon, 22 Sep 2008 17:40:54 -0400 (EDT) (envelope-from marcus@marcuscom.com) From: Joe Marcus Clarke To: Ashish Shukla =?UTF-8?Q?=E0=A4=86=E0=A4=B6=E0=A5=80=E0=A4=B7_?= =?UTF-8?Q?=E0=A4=B6=E0=A5=81=E0=A4=95=E0=A5=8D=E0=A4=B2?= In-Reply-To: <87prmw682t.fsf@chateau.d.lf> References: <87ej3e32iz.fsf@chateau.d.lf> <1221968342.74421.4.camel@shumai.marcuscom.com> <87prmw682t.fsf@chateau.d.lf> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-tS8rsUwVFSeI4vUAch8G" Organization: MarcusCom, Inc. Date: Mon, 22 Sep 2008 17:40:43 -0400 Message-Id: <1222119643.52357.88.camel@shumai.marcuscom.com> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 FreeBSD GNOME Team Port X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,NO_RELAYS autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on creme-brulee.marcuscom.com Cc: freebsd-net@freebsd.org, freebsd-gnome@freebsd.org Subject: Re: [X-POST] Anyone porting NetworkManager to FreeBSD ? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Sep 2008 21:40:39 -0000 --=-tS8rsUwVFSeI4vUAch8G Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, 2008-09-22 at 11:22 +0530, Ashish Shukla =E0=A4=86=E0=A4=B6=E0=A5= =80=E0=A4=B7 =E0=A4=B6=E0=A5=81=E0=A4=95=E0=A5=8D=E0=A4=B2 wrote: > Joe Marcus Clarke writes: > > On Sun, 2008-09-21 at 03:26 +0530, Ashish Shukla =E0=A4=86=E0=A4=B6=E0= =A5=80=E0=A4=B7 =E0=A4=B6=E0=A5=81=E0=A4=95=E0=A5=8D=E0=A4=B2 wrote: > >> Hi all, > >>=20 > >> Is there anyone, who is porting NetworkManager[1] to FreeBSD ? If yes,= I > >> would like to be a tester or contributor to the effort. >=20 > > It's been on our ideas list for a while, and I think someone mentioned > > they were working on it a few months ago (check the archives). I held = a > > desktop discussion at the last BSDCan, and Kris Moore of PC-BSD > > suggested it may be easier to port their network manager > > (http://svn.pcbsd.org/browser/pcbsd/trunk/NetworkManager) from KDE to > > GTK+/GNOME >=20 > > In the meantime, I did a GNOME PBI for PC-BSD, and added hooks to make > > use of some of PC-BSD's admin tools. The result was positive. However= , > > it would be great to have working GTK+/GNOME native tools. >=20 > Thanks for the reply. >=20 > But, that looks like a static network configuration tool. Sorry, wrong link. There are a few network admin tools in PC-BSD (including a task tray application). Here is their wireless config app: http://svn.pcbsd.org/browser/pcbsd/trunk/wificonfi . The advantage of using the PC-BSD code is that the FreeBSD internal stuff is done already. That could could be used as a model for creating a GTK+/GNOME frontend. On the other hand, porting NM would require adapting it to your net80211 stack. Joe >=20 > Ashish --=20 PGP Key : http://www.marcuscom.com/pgp.asc --=-tS8rsUwVFSeI4vUAch8G Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAkjYENkACgkQb2iPiv4Uz4fomgCcCFegDk/ONKBRY9msrPBcli+B RAMAoLCVRjDUySMppvcTTEkYB1RGqQNT =pJkd -----END PGP SIGNATURE----- --=-tS8rsUwVFSeI4vUAch8G-- From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 06:22:36 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B9F32106566B for ; Tue, 23 Sep 2008 06:22:36 +0000 (UTC) (envelope-from igor4ml@gmail.com) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.191]) by mx1.freebsd.org (Postfix) with ESMTP id 4AD388FC12 for ; Tue, 23 Sep 2008 06:22:35 +0000 (UTC) (envelope-from igor4ml@gmail.com) Received: by nf-out-0910.google.com with SMTP id h3so697424nfh.33 for ; Mon, 22 Sep 2008 23:22:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type:content-transfer-encoding :content-disposition; bh=3ZPTfKhyv4HzGXm8U8iB+rbvy/TIQoycYofuZK+QxYs=; b=Ttn5wdNOYAU6hbuN6Wxv51U4X4SoAyn733heGgujFiENZt8mQEz06hYyEmHRY4D+7k WOIVuh83Cgy8VqBD0M3771cJf6ju+6ZaYcuzBUrBbRouOsfdR6Ru1MhilB/E8vEHN2NV vwNjZrZq2UmzhFAUQbukiI4/D2sOZTiaL6pWQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type :content-transfer-encoding:content-disposition; b=PLUPzljsMHLXk6p038jN7cuXsCxtgdpOeMzV+/Su0NbCo+pGzObccmvxNVcUtIEQ3F V74AHxckTyTSl6skJMP75Pah8KAiMdErqotE919E45d4Q6pgQ/XGznWS0vKUaUjq12cJ N5PEnq8npKd7HiKtxCmFpDsGiDxXOzLEf22Cs= Received: by 10.210.16.17 with SMTP id 17mr6135646ebp.46.1222148958169; Mon, 22 Sep 2008 22:49:18 -0700 (PDT) Received: by 10.210.30.15 with HTTP; Mon, 22 Sep 2008 22:49:18 -0700 (PDT) Message-ID: Date: Tue, 23 Sep 2008 09:49:18 +0400 From: "Igor R" To: freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Multiple routing tables (setfib) trouble X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 06:22:36 -0000 Hello! I'm using FreeBSD 7.0-STABLE (Jul 25) and I have two Internet connections. Both are ethernet based, but one requires PPTP (2) while another is direct with external IP address. Trouble is that provider (1) of connection with external address is limiting number of outgoing TCP connections (this was reason I got another provider). So now my setup is 1) On boot I have default route to provider (1) 2) After MPD (PPTP) is up I replace default route with route to provider (2) 3) I use "route-to" and "reply-to" in /etc/pf.rules to route incoming SSH and HTTP and outgoing HTTP via provider (1), also I use these rules to provide routing to internal network of this provider 4) All other traffic (BitTorrent :-) ) is going via provider (2) via ng0 (PPTP) interface All works fine, but ... Provider with PPTP is less reliable and when PPTP connection fails I have trouble connecting to my SSH server (because DNS stops working) So, after FreeBSD got multiple routing tables I tried this: 1) On boot I have default route to provider (1) 2) After MPD (PPTP) is up I do 2a) setfib 1 route add default PPTP_DEFAULT_GATEWAY 2b) setfib 1 /usr/local/etc/rc.d/tranmission restart And here are problems: 1) All outgoing traffic with fib==1 goes through provider (2) as expected, answers are received 2) BUT ... incoming traffic looks strange: answers are sent through default gateway with fib==0 I made simple test: setfib 1 netcat -l 8000 and then from outside: telnet my_ip 8000 I see (with tcpdump) incoming packets on ng0 (PPTP) inteface, but no answers. If I start tcpdump on other provider interface I see packets with answers. But if I try setfib 1 traceroute some_host then routing works via correct gateway So, is it possible to have bittorrent daemon with FIB=1 :-)? From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 07:42:32 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 397A31065672 for ; Tue, 23 Sep 2008 07:42:32 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outZ.internet-mail-service.net (outz.internet-mail-service.net [216.240.47.249]) by mx1.freebsd.org (Postfix) with ESMTP id 202E68FC1E for ; Tue, 23 Sep 2008 07:42:32 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id 01AF32408; Tue, 23 Sep 2008 00:42:32 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id 6761D2D600D; Tue, 23 Sep 2008 00:42:31 -0700 (PDT) Message-ID: <48D89DE6.6090606@elischer.org> Date: Tue, 23 Sep 2008 00:42:30 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 To: Igor R References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: Multiple routing tables (setfib) trouble X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 07:42:32 -0000 Igor R wrote: > Hello! > > I'm using FreeBSD 7.0-STABLE (Jul 25) and I have two Internet > connections. Both are ethernet based, but one requires PPTP (2) while > another is direct with external IP address. > Trouble is that provider (1) of connection with external address is > limiting number of outgoing TCP connections (this was reason I got > another provider). So now my setup is > 1) On boot I have default route to provider (1) > 2) After MPD (PPTP) is up I replace default route with route to provider (2) > 3) I use "route-to" and "reply-to" in /etc/pf.rules to route incoming > SSH and HTTP and outgoing HTTP via provider (1), also I use these > rules to provide routing to internal network of this provider > 4) All other traffic (BitTorrent :-) ) is going via provider (2) via > ng0 (PPTP) interface > All works fine, but ... Provider with PPTP is less reliable and when > PPTP connection fails I have trouble connecting to my SSH server > (because DNS stops working) > > So, after FreeBSD got multiple routing tables I tried this: > > 1) On boot I have default route to provider (1) > 2) After MPD (PPTP) is up I do > 2a) setfib 1 route add default PPTP_DEFAULT_GATEWAY > 2b) setfib 1 /usr/local/etc/rc.d/tranmission restart > > And here are problems: > 1) All outgoing traffic with fib==1 goes through provider (2) as > expected, answers are received > 2) BUT ... incoming traffic looks strange: answers are sent through > default gateway with fib==0 > > I made simple test: > > setfib 1 netcat -l 8000 > and then from outside: > telnet my_ip 8000 > I see (with tcpdump) incoming packets on ng0 (PPTP) inteface, but no > answers. If I start tcpdump on other provider interface I see packets > with answers. But if I try > setfib 1 traceroute some_host > then routing works via correct gateway > > So, is it possible to have bittorrent daemon with FIB=1 :-)? can you sendme teh output of: setfib -0 netstat -rn setfib -1 netstat -rn > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 07:49:25 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0B81A1065678 for ; Tue, 23 Sep 2008 07:49:25 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outN.internet-mail-service.net (outn.internet-mail-service.net [216.240.47.237]) by mx1.freebsd.org (Postfix) with ESMTP id D0A378FC35 for ; Tue, 23 Sep 2008 07:49:24 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id 076402350; Tue, 23 Sep 2008 00:49:25 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id 358832D601A; Tue, 23 Sep 2008 00:49:24 -0700 (PDT) Message-ID: <48D89F83.9020002@elischer.org> Date: Tue, 23 Sep 2008 00:49:23 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 To: Igor R References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: Multiple routing tables (setfib) trouble X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 07:49:25 -0000 Igor R wrote: > Hello! > > I'm using FreeBSD 7.0-STABLE (Jul 25) and I have two Internet > connections. Both are ethernet based, but one requires PPTP (2) while > another is direct with external IP address. > Trouble is that provider (1) of connection with external address is > limiting number of outgoing TCP connections (this was reason I got > another provider). So now my setup is > 1) On boot I have default route to provider (1) > 2) After MPD (PPTP) is up I replace default route with route to provider (2) > 3) I use "route-to" and "reply-to" in /etc/pf.rules to route incoming > SSH and HTTP and outgoing HTTP via provider (1), also I use these > rules to provide routing to internal network of this provider > 4) All other traffic (BitTorrent :-) ) is going via provider (2) via > ng0 (PPTP) interface > All works fine, but ... Provider with PPTP is less reliable and when > PPTP connection fails I have trouble connecting to my SSH server > (because DNS stops working) > > So, after FreeBSD got multiple routing tables I tried this: > > 1) On boot I have default route to provider (1) > 2) After MPD (PPTP) is up I do > 2a) setfib 1 route add default PPTP_DEFAULT_GATEWAY > 2b) setfib 1 /usr/local/etc/rc.d/tranmission restart > > And here are problems: > 1) All outgoing traffic with fib==1 goes through provider (2) as > expected, answers are received > 2) BUT ... incoming traffic looks strange: answers are sent through > default gateway with fib==0 > > I made simple test: > > setfib 1 netcat -l 8000 > and then from outside: > telnet my_ip 8000 > I see (with tcpdump) incoming packets on ng0 (PPTP) inteface, but no > answers. which address is the source address for the outgoing packets? is it possible the socket has been bound to the address of the other interface? hmm now THEORETICALLY you can figure out which packets have which fib by using the 'fib' qualifier in ipfw.. i.e. ipfw add 100 count log ip from any to any fib 1 to > If I start tcpdump on other provider interface I see packets > with answers. But if I try > setfib 1 traceroute some_host > then routing works via correct gateway > > So, is it possible to have bittorrent daemon with FIB=1 :-)? > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 08:17:08 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CDADE106564A for ; Tue, 23 Sep 2008 08:17:08 +0000 (UTC) (envelope-from auryn@zirakzigil.org) Received: from mail.giulioferro.it (mail.giulioferro.it [85.18.102.52]) by mx1.freebsd.org (Postfix) with ESMTP id 8C6F68FC08 for ; Tue, 23 Sep 2008 08:17:08 +0000 (UTC) (envelope-from auryn@zirakzigil.org) Received: from localhost (localhost [127.0.0.1]) by mail.giulioferro.it (Postfix) with ESMTP id 3C46D33C37 for ; Tue, 23 Sep 2008 10:02:08 +0200 (CEST) X-Virus-Scanned: amavisd-new at giulioferro.it Received: from mail.giulioferro.it ([127.0.0.1]) by localhost (aurynwork1sv1.giulioferro.it [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id w0YTMKjJUZiL for ; Tue, 23 Sep 2008 10:02:05 +0200 (CEST) Received: from [192.168.10.81] (localhost [127.0.0.1]) (Authenticated sender: gferro@giulioferro.it) by mail.giulioferro.it (Postfix) with ESMTP id 9A5F933C39 for ; Tue, 23 Sep 2008 10:02:05 +0200 (CEST) Message-ID: <48D8A232.600@zirakzigil.org> Date: Tue, 23 Sep 2008 10:00:50 +0200 From: Giulio Ferro User-Agent: Thunderbird 2.0.0.16 (X11/20080724) MIME-Version: 1.0 To: freebsd-net@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: lost routes X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 08:17:08 -0000 I think this is a very old freebsd problem, dating back to freebsd5 or even before. Every now and again static routes are lost by freebsd. In my fw/router/vpn box (average traffic about 10Mb/s) with a lot of interfaces, physical, vlan and virtual, once every x weeks (x very variable) one of the routes get lost. Just yesterday night I updated the system with the last 7 stable (amd64). This morning one of the route has disappeared. Since I believe I'm not the only one to experience this, can the network developers report on the status of this bug? Thanks. From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 08:52:51 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 97D911065753 for ; Tue, 23 Sep 2008 08:52:51 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) Received: from 0.mx.codelabs.ru (0.mx.codelabs.ru [144.206.177.45]) by mx1.freebsd.org (Postfix) with ESMTP id CAFD28FC08 for ; Tue, 23 Sep 2008 08:52:45 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) DomainKey-Signature: a=rsa-sha1; q=dns; c=simple; s=one; d=codelabs.ru; h=Received:Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:Content-Type:Content-Disposition:In-Reply-To:Sender; b=d5sQTfcOCqcOtRYAff9s8oClc7PEH/Rs/i1/LQWXCoBRr3vJdMVTq2R5IUPl4NmKzwKlexPmgkbZyh0AjuJF9gfygu1fMNBOmDlGhybhKVqbSBesV1qnvupClZdygXPB31y7PRrKJ7EX3Ey94PA+5ei9/1O0ZKqiVil2m0XxRQ8=; Received: from void.codelabs.ru (void.codelabs.ru [144.206.177.25]) by 0.mx.codelabs.ru with esmtpsa (TLSv1:AES256-SHA:256) id 1Ki3Rh-00019h-II; Tue, 23 Sep 2008 12:40:33 +0400 Date: Tue, 23 Sep 2008 12:40:32 +0400 From: Eygene Ryabinkin To: Giulio Ferro Message-ID: References: <48D8A232.600@zirakzigil.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="9AazSAFPVKSPmRXK" Content-Disposition: inline In-Reply-To: <48D8A232.600@zirakzigil.org> Sender: rea-fbsd@codelabs.ru Cc: freebsd-net@freebsd.org Subject: Re: lost routes X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 08:52:51 -0000 --9AazSAFPVKSPmRXK Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Giulio, good day. Tue, Sep 23, 2008 at 10:00:50AM +0200, Giulio Ferro wrote: > Every now and again static routes are lost by freebsd. > In my fw/router/vpn box (average traffic about 10Mb/s) with a lot > of interfaces, physical, vlan and virtual, once every x weeks (x very > variable) one of the routes get lost. >=20 > Just yesterday night I updated the system with the last 7 stable > (amd64). This morning one of the route has disappeared. >=20 > Since I believe I'm not the only one to experience this, can the > network developers report on the status of this bug? Was the problem described in some PR? Can it be so that the interface goes down and then it is resurrected by the sequence that is more-or-less identical to /etc/rc.d/netif restart? This can lead to the route loss. Do you have some kernel messages that are related to the interface on which routes are lost? --=20 Eygene _ ___ _.--. # \`.|\..----...-'` `-._.-'_.-'` # Remember that it is hard / ' ` , __.--' # to read the on-line manual =20 )/' _/ \ `-_, / # while single-stepping the kernel. `-'" `"\_ ,_.-;_.-\_ ', fsc/as # _.-'_./ {_.' ; / # -- FreeBSD Developers handbook=20 {_.-``-' {_/ # --9AazSAFPVKSPmRXK Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (FreeBSD) iEYEARECAAYFAkjYq4AACgkQthUKNsbL7Yi9MgCgs28XSY5PannLGwLDOUF/E+2c hhoAoI8QhAbowslcKLF8UfLaMloMGr2u =htob -----END PGP SIGNATURE----- --9AazSAFPVKSPmRXK-- From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 08:57:58 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F849106564A for ; Tue, 23 Sep 2008 08:57:58 +0000 (UTC) (envelope-from auryn@zirakzigil.org) Received: from mail.giulioferro.it (mail.giulioferro.it [85.18.102.52]) by mx1.freebsd.org (Postfix) with ESMTP id 2D32D8FC1E for ; Tue, 23 Sep 2008 08:57:58 +0000 (UTC) (envelope-from auryn@zirakzigil.org) Received: from localhost (localhost [127.0.0.1]) by mail.giulioferro.it (Postfix) with ESMTP id 98C1A33C37; Tue, 23 Sep 2008 10:59:11 +0200 (CEST) X-Virus-Scanned: amavisd-new at giulioferro.it Received: from mail.giulioferro.it ([127.0.0.1]) by localhost (aurynwork1sv1.giulioferro.it [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r006ctnXG2Ie; Tue, 23 Sep 2008 10:59:04 +0200 (CEST) Received: from [192.168.10.81] (localhost [127.0.0.1]) (Authenticated sender: gferro@giulioferro.it) by mail.giulioferro.it (Postfix) with ESMTP id 7C0F333C35; Tue, 23 Sep 2008 10:59:04 +0200 (CEST) Message-ID: <48D8AF8E.6080507@zirakzigil.org> Date: Tue, 23 Sep 2008 10:57:50 +0200 From: Giulio Ferro User-Agent: Thunderbird 2.0.0.16 (X11/20080724) MIME-Version: 1.0 To: Eygene Ryabinkin , freebsd-net@freebsd.org References: <48D8A232.600@zirakzigil.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: Re: lost routes X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 08:57:58 -0000 Eygene Ryabinkin wrote: > Giulio, good day. > > Good day to you. > Was the problem described in some PR? > I don't know, really. I heard about it in the past (some years ago) from another guy, and it has happened to me for at least 2-3 years. This is just the first time I've decided to report it (my bad)... > Can it be so that the interface goes down and then it is resurrected by > the sequence that is more-or-less identical to /etc/rc.d/netif restart? > This can lead to the route loss. Do you have some kernel messages that > are related to the interface on which routes are lost? > Nope. There are no messages in the logs, and no interface has been touched. Anyway, since there are a lot of routes and only one gets deleted I don't think it depends on interface changing (it would delete them all, wouldn't it?) Interestingly enough, one of the routes that is erased has the same gateway as several others which aren't deleted. Hope it rings some bell... Bye. From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 09:04:14 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33621106567A for ; Tue, 23 Sep 2008 09:04:14 +0000 (UTC) (envelope-from michal@myserver.cz) Received: from 84.209.forpsi.net (84.209.forpsi.net [81.2.209.84]) by mx1.freebsd.org (Postfix) with SMTP id 8781B8FC1D for ; Tue, 23 Sep 2008 09:04:13 +0000 (UTC) (envelope-from michal@myserver.cz) Received: (qmail 87971 invoked by uid 98); 23 Sep 2008 08:37:28 -0000 Received: from 90.177.97.246 by myserver.cz (envelope-from , uid 0) with qmail-scanner-2.01 (clamdscan: 0.93/7954. spamassassin: 3.2.4. Clear:RC:1(90.177.97.246):. Processed in 0.016158 secs); 23 Sep 2008 08:37:28 -0000 Received: from 246.97.broadband10.iol.cz (HELO ?192.168.2.99?) (90.177.97.246) by 84.209.forpsi.net with SMTP; 23 Sep 2008 08:37:27 -0000 From: Michal Sviba To: Giulio Ferro In-Reply-To: <48D8A232.600@zirakzigil.org> References: <48D8A232.600@zirakzigil.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-y1dLkk/Buyw7/8aUEOwf" Organization: CLOWN.CZ - MyServer.cz Date: Tue, 23 Sep 2008 10:37:29 +0200 Message-Id: <1222159049.5256.34.camel@michal-desktop> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Cc: freebsd-net@freebsd.org Subject: Re: lost routes X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 09:04:14 -0000 --=-y1dLkk/Buyw7/8aUEOwf Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, i've seen a bit similar problem with routes. I have two interfaces (em0, iwi0) on laptop. Problem is, after this command # ifconfig em0 down I expected, that every routes to this interface should be deleted (included default gw). But route "dest: default netif: em0" is stil present in # netstat -f inet -r I have 7.1-PRERELEASE, but same case is on 7.0. Michal Giulio Ferro p=C3=AD=C5=A1e v =C3=9At 23. 09. 2008 v 10:00 +0200: > I think this is a very old freebsd problem, dating back to freebsd5 > or even before. >=20 > Every now and again static routes are lost by freebsd. > In my fw/router/vpn box (average traffic about 10Mb/s) with a lot > of interfaces, physical, vlan and virtual, once every x weeks (x very > variable) one of the routes get lost. >=20 > Just yesterday night I updated the system with the last 7 stable > (amd64). This morning one of the route has disappeared. >=20 > Since I believe I'm not the only one to experience this, can the > network developers report on the status of this bug? >=20 > Thanks. > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" --=20 Michal Sviba --=-y1dLkk/Buyw7/8aUEOwf Content-Type: application/pgp-signature; name=signature.asc Content-Description: Toto je =?UTF-8?Q?digit=C3=A1ln=C4=9B?= =?ISO-8859-1?Q?_podepsan=E1?= =?UTF-8?Q?_=C4=8D=C3=A1st?= =?ISO-8859-1?Q?_zpr=E1vy?= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQBI2KrJZNufSPwGbs0RAiADAJ443JeEu5wsxfa0RS+F/7dh0vJJNgCeOK4M c7FFXaajutbUEjxUk1uHruk= =JFQj -----END PGP SIGNATURE----- --=-y1dLkk/Buyw7/8aUEOwf-- From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 10:35:06 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB160106567B for ; Tue, 23 Sep 2008 10:35:06 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) Received: from 0.mx.codelabs.ru (0.mx.codelabs.ru [144.206.177.45]) by mx1.freebsd.org (Postfix) with ESMTP id 7D74D8FC15 for ; Tue, 23 Sep 2008 10:35:06 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) DomainKey-Signature: a=rsa-sha1; q=dns; c=simple; s=one; d=codelabs.ru; h=Received:Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:Content-Type:Content-Disposition:In-Reply-To:Sender; b=BUymv1z5z5qPBFnc4w1Q5PXKGkgkXnJzP1n/t+1jCVrtFglpYcd8nat09bNqv6QkFTtlOjfO79JKZy0o7J0uwAhwyhuwuNy7GCPVQREVQQinKkA1Q9SGLygpd+0U48viaNA7ZVPNcSIWh7tZLtRd2nZEwAlvzHmSt/YV/ZyvezU=; Received: from void.codelabs.ru (void.codelabs.ru [144.206.177.25]) by 0.mx.codelabs.ru with esmtpsa (TLSv1:AES256-SHA:256) id 1Ki5EX-0009yt-4M; Tue, 23 Sep 2008 14:35:05 +0400 Date: Tue, 23 Sep 2008 14:35:04 +0400 From: Eygene Ryabinkin To: Giulio Ferro Message-ID: References: <48D8A232.600@zirakzigil.org> <48D8AF8E.6080507@zirakzigil.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="GPJrCs/72TxItFYR" Content-Disposition: inline In-Reply-To: <48D8AF8E.6080507@zirakzigil.org> Sender: rea-fbsd@codelabs.ru Cc: freebsd-net@freebsd.org Subject: Re: lost routes X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 10:35:06 -0000 --GPJrCs/72TxItFYR Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Giulio, Tue, Sep 23, 2008 at 10:57:50AM +0200, Giulio Ferro wrote: > > Was the problem described in some PR? > > =20 > I don't know, really. I heard about it in the past (some years ago) > from another guy, and it has happened to me for at least 2-3 years. > > This is just the first time I've decided to report it (my bad)... Then it will be good to open PR about this: it will allow other people to see this issue and may be this won't be lost in the mailing lists. It will be rather hard to do something with this issue if it won't be reproducible, so it will be great if you (or other people who sees the simular problems) will find a way to reproduce the problem in some setup. > > Can it be so that the interface goes down and then it is resurrected by > > the sequence that is more-or-less identical to /etc/rc.d/netif restart? > > This can lead to the route loss. Do you have some kernel messages that > > are related to the interface on which routes are lost? > > =20 >=20 > Nope. > There are no messages in the logs, and no interface has been > touched. Anyway, since there are a lot of routes and only one > gets deleted I don't think it depends on interface changing > (it would delete them all, wouldn't it?) Yes, in theory, it should delete all routes having this interface. > Interestingly enough, one of the routes that is erased has the > same gateway as several others which aren't deleted. Hope it > rings some bell... OK, so, please, file PR, provide as many details as possible, try to find a way to reproduce this problem (but even if you'll not be able to do it "just now", post PR anyway) and post a link to the PR here. May be Someone (tm) will be able to help you. My $0.02. --=20 Eygene _ ___ _.--. # \`.|\..----...-'` `-._.-'_.-'` # Remember that it is hard / ' ` , __.--' # to read the on-line manual =20 )/' _/ \ `-_, / # while single-stepping the kernel. `-'" `"\_ ,_.-;_.-\_ ', fsc/as # _.-'_./ {_.' ; / # -- FreeBSD Developers handbook=20 {_.-``-' {_/ # --GPJrCs/72TxItFYR Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (FreeBSD) iEYEARECAAYFAkjYxlgACgkQthUKNsbL7YhqRQCfUV5YadwcTsDWEY/2gw+Kmzqm /80An0Y6kYCNstEnMc/3E/5FCSKXcVLJ =iTBt -----END PGP SIGNATURE----- --GPJrCs/72TxItFYR-- From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 19:30:01 2008 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B639A1065671 for ; Tue, 23 Sep 2008 19:30:01 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from proxy.meer.net (proxy.meer.net [64.13.141.13]) by mx1.freebsd.org (Postfix) with ESMTP id 959788FC14 for ; Tue, 23 Sep 2008 19:30:01 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from mail.meer.net (mail.meer.net [64.13.141.3]) by proxy.meer.net (8.14.2/8.14.2) with ESMTP id m8NJU07H013994 for ; Tue, 23 Sep 2008 12:30:00 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from mail2.meer.net (mail2.meer.net [64.13.141.16]) by mail.meer.net (8.13.3/8.13.3/meer) with ESMTP id m8NJT70J032621 for ; Tue, 23 Sep 2008 12:29:07 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from minion.local.neville-neil.com (209.249.190.254.available.above.net [209.249.190.254] (may be forged)) (authenticated bits=0) by mail2.meer.net (8.14.1/8.14.1) with ESMTP id m8NJT7xV043034 for ; Tue, 23 Sep 2008 12:29:07 -0700 (PDT) (envelope-from gnn@neville-neil.com) Date: Tue, 23 Sep 2008 15:29:06 -0400 Message-ID: From: gnn@freebsd.org To: net@freebsd.org User-Agent: Wanderlust/2.15.5 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.7 Emacs/22.2.50 (i386-apple-darwin9.4.0) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Canit-CHI2: 0.50 X-Bayes-Prob: 0.5 (Score 0, tokens from: ) X-Spam-Score: 0.10 () [Tag at 5.00] COMBINED_FROM X-CanItPRO-Stream: default X-Canit-Stats-ID: 1655230 - 4a266562b318 X-Scanned-By: CanIt (www . roaringpenguin . com) on 64.13.141.13 Cc: Subject: Proposed patch, convert IFQ_MAXLEN to kernel tunable... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 19:30:01 -0000 Hi, It turns out that the last time anyone looked at this constant was before 1994 and it's very likely time to turn it into a kernel tunable. On hosts that have a high rate of packet transmission packets can be dropped at the interface queue because this value is too small. Rather than make a sweeping code change I propose the following change to the macro and updating a couple of places in the IP and IPv6 stacks that were using this macro to set their own global variables. I have tested this in my test lab at work, it is not as yet in production at my day job, but will be soon. Best, George Index: netinet/ip_input.c =================================================================== --- netinet/ip_input.c (revision 183299) +++ netinet/ip_input.c (working copy) @@ -133,7 +133,6 @@ struct pfil_head inet_pfil_hook; /* Packet filter hooks */ static struct ifqueue ipintrq; -static int ipqmaxlen = IFQ_MAXLEN; extern struct domain inetdomain; extern struct protosw inetsw[]; @@ -265,7 +264,7 @@ /* Initialize various other remaining things. */ ip_id = time_second & 0xffff; - ipintrq.ifq_maxlen = ipqmaxlen; + ipintrq.ifq_maxlen = IFQ_MAXLEN; mtx_init(&ipintrq.ifq_mtx, "ip_inq", NULL, MTX_DEF); netisr_register(NETISR_IP, ip_input, &ipintrq, NETISR_MPSAFE); } Index: net/if.c =================================================================== --- net/if.c (revision 183299) +++ net/if.c (working copy) @@ -135,7 +135,14 @@ #endif int if_index = 0; -int ifqmaxlen = IFQ_MAXLEN; + +int ifqmaxlen = 50; +TUNABLE_INT("net.ifqmaxlen", &ifqmaxlen); + +SYSCTL_INT(_net, OID_AUTO, ifqmaxlen, CTLFLAG_RD, + &ifqmaxlen, 0, + "interface queue length"); + struct ifnethead ifnet; /* depend on static init XXX */ struct ifgrouphead ifg_head; struct mtx ifnet_lock; Index: net/if.h =================================================================== --- net/if.h (revision 183299) +++ net/if.h (working copy) @@ -221,7 +221,7 @@ #define IFCAP_WOL (IFCAP_WOL_UCAST | IFCAP_WOL_MCAST | IFCAP_WOL_MAGIC) #define IFCAP_TOE (IFCAP_TOE4 | IFCAP_TOE6) -#define IFQ_MAXLEN 50 +#define IFQ_MAXLEN ifqmaxlen #define IFNET_SLOWHZ 1 /* granularity is 1 second */ /* Index: netinet6/ip6_input.c =================================================================== --- netinet6/ip6_input.c (revision 183299) +++ netinet6/ip6_input.c (working copy) @@ -115,7 +115,6 @@ u_char ip6_protox[IPPROTO_MAX]; static struct ifqueue ip6intrq; -static int ip6qmaxlen = IFQ_MAXLEN; struct in6_ifaddr *in6_ifaddr; extern struct callout in6_tmpaddrtimer_ch; @@ -178,7 +177,7 @@ printf("%s: WARNING: unable to register pfil hook, " "error %d\n", __func__, i); - ip6intrq.ifq_maxlen = ip6qmaxlen; + ip6intrq.ifq_maxlen = IFQ_MAXLEN; mtx_init(&ip6intrq.ifq_mtx, "ip6_inq", NULL, MTX_DEF); netisr_register(NETISR_IPV6, ip6_input, &ip6intrq, 0); scope6_init(); From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 21:00:20 2008 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C8341065670; Tue, 23 Sep 2008 21:00:20 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from mail.vega.ru (infra.dev.vega.ru [90.156.167.14]) by mx1.freebsd.org (Postfix) with ESMTP id 14B428FC15; Tue, 23 Sep 2008 21:00:19 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from [87.242.97.68] (port=65477 helo=edoofus.dev.vega.ru) by mail.vega.ru with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68 (FreeBSD)) (envelope-from ) id 1KiEK5-000FZg-Hb; Tue, 23 Sep 2008 20:17:25 +0000 Date: Wed, 24 Sep 2008 00:17:18 +0400 From: Ruslan Ermilov To: gnn@freebsd.org Message-ID: <20080923201718.GA88008@edoofus.dev.vega.ru> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Cc: net@freebsd.org Subject: Re: Proposed patch, convert IFQ_MAXLEN to kernel tunable... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 21:00:20 -0000 Hi, On Tue, Sep 23, 2008 at 03:29:06PM -0400, gnn@freebsd.org wrote: > It turns out that the last time anyone looked at this constant was > before 1994 and it's very likely time to turn it into a kernel > tunable. On hosts that have a high rate of packet transmission > packets can be dropped at the interface queue because this value is > too small. Rather than make a sweeping code change I propose the > following change to the macro and updating a couple of places in the > IP and IPv6 stacks that were using this macro to set their own global > variables. > > I have tested this in my test lab at work, it is not as yet in > production at my day job, but will be soon. > It's not that bad -- most modern Ethernet drivers initialize interface input queues themselves, and don't depend on IFQ_MAXLEN. The IPv4 input queue is tunable via net.inet.ip.intr_queue_maxlen. The IPv6 queue can similarly be made tunable. I agree that ifqmaxlen can be made tunable because there's still a lot of (mostly for old hardware) drivers that use ifqmaxlen and IFQ_MAXLEN, but I'm against changing the definition of IFQ_MAXLEN. Imagine some code like this: void *x[IFQ_MAXLEN]; // here it's 50 And some function that does: for (i = 0; i < IFQ_MAXLEN; i++) { // not necessarily 50 x[i] = NULL; } Cheers, -- Ruslan Ermilov ru@FreeBSD.org FreeBSD committer From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 21:08:50 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F222E106567F for ; Tue, 23 Sep 2008 21:08:50 +0000 (UTC) (envelope-from 20080111.freebsd.org@ab.ote.we.lv) Received: from purple.the-7.net (purple.the-7.net [IPv6:2001:470:1f01:622:230:48ff:fe23:4c67]) by mx1.freebsd.org (Postfix) with ESMTP id BD7678FC13 for ; Tue, 23 Sep 2008 21:08:50 +0000 (UTC) (envelope-from 20080111.freebsd.org@ab.ote.we.lv) Received: from dhcp254.nttmcl.com ([IPv6:2001:418:200:0:21e:c2ff:fe1a:9b3c]) by purple.the-7.net (8.14.3/8.14.3) with ESMTP id m8NL8iIu036991 (version=TLSv1/SSLv3 cipher=DHE-DSS-CAMELLIA256-SHA bits=256 verify=NO) for ; Tue, 23 Sep 2008 14:08:44 -0700 (PDT) (envelope-from 20080111.freebsd.org@ab.ote.we.lv) Authentication-Results: purple.the-7.net; sender-id=none header.from=20080111.freebsd.org@ab.ote.we.lv; spf=none smtp.mfrom=20080111.freebsd.org@ab.ote.we.lv Message-ID: <48D95AD7.2070604@ab.ote.we.lv> Date: Tue, 23 Sep 2008 14:08:39 -0700 From: "Eugene M. Kim" <20080111.freebsd.org@ab.ote.we.lv> User-Agent: Thunderbird/3.0a2 (Macintosh; 2008072822) MIME-Version: 1.0 To: freebsd-net@freebsd.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=0.7 required=10.0 tests=FROM_STARTS_WITH_NUMS, NO_RELAYS autolearn=disabled version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on purple.the-7.net Subject: Request for review - PR bin/127951: spurious warning against DNAME RRs X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 21:08:51 -0000 Greetings, I just submitted a very simple PR/patch - http://www.freebsd.org/cgi/query-pr.cgi?pr=127591 - which fixes spurious but annoying warnings against DNAME RRs (annoying because they spam syslog at auth.notice level). The patch should not cause any regression, because it just suppresses the warning without altering any other control flow, but I am not entirely sure if there is a valid case where DNAMEs should trigger a strong security warning just as they currently do. Could someone please review and/or take care of this PR? Cheers, Eugene P.S. A bit of background information, for those who are not familiar with the subject: DNAME RRs, as defined in RFC 2672, provides a useful mechanism for mapping/aliasing an entire DNS tree. For (a real) example, given a primary domain "the-7.net" and a number of secondary domains such as the-7.com, the-7.org, the-seven.net and so on, instead of having to add CNAMEs for "www", "mail" and other subdomains to every single secondary domain, one can simply add "IN DNAME the-7.net." to the zone apex of those secondary domains, and the DNS server will take care of all possible - current /and/ future - subdomains automatically, by returning a synthesized CNAME: $ dig www.the-7.com IN A +noall +answer ; <<>> DiG 9.4.2-P1 <<>> www.the-7.com IN A +noall +answer ;; global options: printcmd the-7.com. 300 IN DNAME the-7.net. www.the-7.com. 0 IN CNAME www.the-7.net. www.the-7.net. 300 IN CNAME purple.the-7.net. purple.the-7.net. 300 IN A 64.71.156.34 $ From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 21:38:49 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ADC651065671 for ; Tue, 23 Sep 2008 21:38:49 +0000 (UTC) (envelope-from peterjeremy@optushome.com.au) Received: from fallbackmx10.syd.optusnet.com.au (fallbackmx10.syd.optusnet.com.au [211.29.132.251]) by mx1.freebsd.org (Postfix) with ESMTP id 7941F8FC22 for ; Tue, 23 Sep 2008 21:38:48 +0000 (UTC) (envelope-from peterjeremy@optushome.com.au) Received: from mail18.syd.optusnet.com.au (mail18.syd.optusnet.com.au [211.29.132.199]) by fallbackmx10.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id m8N9G4B6021743 for ; Tue, 23 Sep 2008 19:16:04 +1000 Received: from server.vk2pj.dyndns.org (c122-106-215-175.belrs3.nsw.optusnet.com.au [122.106.215.175]) by mail18.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id m8N9G1oR001158 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 23 Sep 2008 19:16:02 +1000 X-Bogosity: Ham, spamicity=0.000000 Received: from server.vk2pj.dyndns.org (localhost.vk2pj.dyndns.org [127.0.0.1]) by server.vk2pj.dyndns.org (8.14.2/8.14.2) with ESMTP id m8N9Fxg5015685; Tue, 23 Sep 2008 19:15:59 +1000 (EST) (envelope-from peter@server.vk2pj.dyndns.org) Received: (from peter@localhost) by server.vk2pj.dyndns.org (8.14.2/8.14.2/Submit) id m8N9FxGi015684; Tue, 23 Sep 2008 19:15:59 +1000 (EST) (envelope-from peter) Date: Tue, 23 Sep 2008 19:15:59 +1000 From: Peter Jeremy To: Giulio Ferro Message-ID: <20080923091559.GJ15376@server.vk2pj.dyndns.org> References: <48D8A232.600@zirakzigil.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="7yLcY/JGxB8a0rD4" Content-Disposition: inline In-Reply-To: <48D8A232.600@zirakzigil.org> X-PGP-Key: http://members.optusnet.com.au/peterjeremy/pubkey.asc User-Agent: Mutt/1.5.18 (2008-05-17) Cc: freebsd-net@freebsd.org Subject: Re: lost routes X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 21:38:49 -0000 --7yLcY/JGxB8a0rD4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2008-Sep-23 10:00:50 +0200, Giulio Ferro wrote: >I think this is a very old freebsd problem, dating back to freebsd5 >or even before. I don't recall seeing it, or previous references to this problem, so all I can offer is more questions. I presume you aren't running any sort of routing daemon or DHCP client. >Every now and again static routes are lost by freebsd. >In my fw/router/vpn box (average traffic about 10Mb/s) with a lot >of interfaces, physical, vlan and virtual, once every x weeks (x very >variable) one of the routes get lost. Is it a random route, or is it always the same route being lost? If it's different routes, is there anything in common between the routes that are lost? Are all your interfaces on disjoint subnets? --=20 Peter Jeremy Please excuse any delays as the result of my ISP's inability to implement an MTA that is either RFC2821-compliant or matches their claimed behaviour. --7yLcY/JGxB8a0rD4 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (FreeBSD) iEYEARECAAYFAkjYs88ACgkQ/opHv/APuIfpJgCdESVmNcMSqYpacIQ7unvtfU4d pE8AnRe3vq8bbHz1Zf56Mh1KCrEIWkQq =tRQy -----END PGP SIGNATURE----- --7yLcY/JGxB8a0rD4-- From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 22:09:21 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 945A11065677; Tue, 23 Sep 2008 22:09:21 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 69C168FC21; Tue, 23 Sep 2008 22:09:21 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8NM9L0O003880; Tue, 23 Sep 2008 22:09:21 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8NM9LOI003876; Tue, 23 Sep 2008 22:09:21 GMT (envelope-from linimon) Date: Tue, 23 Sep 2008 22:09:21 GMT Message-Id: <200809232209.m8NM9LOI003876@freefall.freebsd.org> To: nork@FreeBSD.org, linimon@FreeBSD.org, freebsd-bugs@FreeBSD.org, freebsd-net@FreeBSD.org From: linimon@FreeBSD.org Cc: Subject: Re: kern/127587: [if_bge] [request] if_bge(4) doesn't support BCM576X family X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 22:09:21 -0000 Old Synopsis: if_bge(4) doesn't support BCM576X family New Synopsis: [if_bge] [request] if_bge(4) doesn't support BCM576X family State-Changed-From-To: open->suspended State-Changed-By: linimon State-Changed-When: Tue Sep 23 22:08:30 UTC 2008 State-Changed-Why: Awaiting someone to implement the code. Responsible-Changed-From-To: freebsd-bugs->freebsd-net Responsible-Changed-By: linimon Responsible-Changed-When: Tue Sep 23 22:08:30 UTC 2008 Responsible-Changed-Why: http://www.freebsd.org/cgi/query-pr.cgi?pr=127587 From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 22:42:02 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89843106564A for ; Tue, 23 Sep 2008 22:42:02 +0000 (UTC) (envelope-from rumuru@gmail.com) Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.174]) by mx1.freebsd.org (Postfix) with ESMTP id 0DD8D8FC08 for ; Tue, 23 Sep 2008 22:42:01 +0000 (UTC) (envelope-from rumuru@gmail.com) Received: by wf-out-1314.google.com with SMTP id 24so2404694wfg.7 for ; Tue, 23 Sep 2008 15:42:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=LJzb0SNY6vs6fre5SFrfOsF1kRQSJLyqTXnahSYcV3Y=; b=Pa2LxX1FjpLr8ZT5t2RQaBS1OtW7GUk/1a1mwunQs3XnrXa3pQ547IJDxfXXK+urAW BdjKCuFyVHz4lTHCLOsRbKN0rQQe8EFM5jS0BwFfZOMjFpWXWMgBgV/A6UhY9PO2e9Gy WumQmavuaPMTrqAqgZQVWYt32k7T7jZgVSAsQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=JzmBWgSxEhhqkklnJREZoFqpInzEke0411SIf9XI3XVmUcb7/6EVNrMQAU0o56QCKh SiLi23K4rYrm3Ka8DoiMNdVw10iEdK7YW1rQbQuhkkpLO3aDjCV7TS9TuzRqrmr/P9gK L0atJVSi2iUZ4yyofnAMdxuApdnJHfA0jCCIs= Received: by 10.143.18.16 with SMTP id v16mr2231104wfi.41.1222207946624; Tue, 23 Sep 2008 15:12:26 -0700 (PDT) Received: by 10.143.1.20 with HTTP; Tue, 23 Sep 2008 15:12:26 -0700 (PDT) Message-ID: Date: Tue, 23 Sep 2008 18:12:26 -0400 From: "Mungyung Ryu" To: freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: ACE on FreeBSD? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 22:42:02 -0000 Hi freeBSD users, I've developed couple of server applications on Windows platform with ACE Proactor and it worked quite well. But, because of the expensive Windows Server, I wanna move to Linux or freeBSD. Recently, I'm considering to build a server application on freeBSD but the important issue is whether the freeBSD supports ACE Proactor framework. I googled about it and Linux doesn't support it well because Linux doesn't support AIO (asynchronous I/O) on socket. Moreover, most of the ACE professionals recommend to use Reactor framework on Linux. My questions is.. 1. freeBSD supports AIO on socket? 2. I can use ACE Proactor framework on freeBSD 7.0 without any problem? Is it stable? -- ****************************************************************************** Mungyung Ryu Ph.D. Student. College of Computing Georgia Institute of Technology, Atlanta ****************************************************************************** From owner-freebsd-net@FreeBSD.ORG Tue Sep 23 23:06:41 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E90D106564A for ; Tue, 23 Sep 2008 23:06:41 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outY.internet-mail-service.net (outy.internet-mail-service.net [216.240.47.248]) by mx1.freebsd.org (Postfix) with ESMTP id 04FDB8FC15 for ; Tue, 23 Sep 2008 23:06:40 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id 1570F248C; Tue, 23 Sep 2008 16:06:41 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id 9FD572D6006; Tue, 23 Sep 2008 16:06:40 -0700 (PDT) Message-ID: <48D9767F.2080207@elischer.org> Date: Tue, 23 Sep 2008 16:06:39 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 To: "Eugene M. Kim" <20080111.freebsd.org@ab.ote.we.lv> References: <48D95AD7.2070604@ab.ote.we.lv> In-Reply-To: <48D95AD7.2070604@ab.ote.we.lv> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: Request for review - PR bin/127951: spurious warning against DNAME RRs X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 23:06:41 -0000 Eugene M. Kim wrote: > Greetings, > > I just submitted a very simple PR/patch - > http://www.freebsd.org/cgi/query-pr.cgi?pr=127591 - which fixes spurious > but annoying warnings against DNAME RRs (annoying because they spam > syslog at auth.notice level). > > The patch should not cause any regression, because it just suppresses > the warning without altering any other control flow, but I am not > entirely sure if there is a valid case where DNAMEs should trigger a > strong security warning just as they currently do. > > Could someone please review and/or take care of this PR? > > Cheers, > Eugene > > P.S. A bit of background information, for those who are not familiar > with the subject: > > DNAME RRs, as defined in RFC 2672, provides a useful mechanism for > mapping/aliasing an entire DNS tree. For (a real) example, given a > primary domain "the-7.net" and a number of secondary domains such as > the-7.com, the-7.org, the-seven.net and so on, instead of having to add > CNAMEs for "www", "mail" and other subdomains to every single secondary > domain, one can simply add "IN DNAME the-7.net." to the zone apex of > those secondary domains, and the DNS server will take care of all > possible - current /and/ future - subdomains automatically, by returning > a synthesized CNAME: > > $ dig www.the-7.com IN A +noall +answer sigh, another DNS RR I have to add support for at $WORK.. > > ; <<>> DiG 9.4.2-P1 <<>> www.the-7.com IN A +noall +answer > ;; global options: printcmd > the-7.com. 300 IN DNAME the-7.net. > www.the-7.com. 0 IN CNAME www.the-7.net. > www.the-7.net. 300 IN CNAME purple.the-7.net. > purple.the-7.net. 300 IN A 64.71.156.34 > $ > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 03:37:07 2008 Return-Path: Delivered-To: net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 46506106567B for ; Wed, 24 Sep 2008 03:37:07 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from proxy.meer.net (proxy.meer.net [64.13.141.13]) by mx1.freebsd.org (Postfix) with ESMTP id 23D7E8FC21 for ; Wed, 24 Sep 2008 03:37:07 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from mail.meer.net (mail.meer.net [64.13.141.3]) by proxy.meer.net (8.14.2/8.14.2) with ESMTP id m8O3b6ob038074; Tue, 23 Sep 2008 20:37:06 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from mail2.meer.net (mail2.meer.net [64.13.141.16]) by mail.meer.net (8.13.3/8.13.3/meer) with ESMTP id m8O3Zw1Y073320; Tue, 23 Sep 2008 20:35:58 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from minion.local.neville-neil.com (cpe-68-175-68-135.nyc.res.rr.com [68.175.68.135]) (authenticated bits=0) by mail2.meer.net (8.14.1/8.14.1) with ESMTP id m8O3Zvd3020150; Tue, 23 Sep 2008 20:35:58 -0700 (PDT) (envelope-from gnn@neville-neil.com) Date: Tue, 23 Sep 2008 23:35:57 -0400 Message-ID: From: gnn@FreeBSD.org To: Ruslan Ermilov In-Reply-To: <20080923201718.GA88008@edoofus.dev.vega.ru> References: <20080923201718.GA88008@edoofus.dev.vega.ru> User-Agent: Wanderlust/2.15.5 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.7 Emacs/22.2.50 (i386-apple-darwin9.4.0) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Canit-CHI2: 0.50 X-Bayes-Prob: 0.5 (Score 0, tokens from: ) X-Spam-Score: 0.10 () [Tag at 5.00] COMBINED_FROM X-CanItPRO-Stream: default X-Canit-Stats-ID: 1659036 - d9fe76fee2d5 X-Scanned-By: CanIt (www . roaringpenguin . com) on 64.13.141.13 Cc: net@FreeBSD.org Subject: Re: Proposed patch, convert IFQ_MAXLEN to kernel tunable... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 03:37:07 -0000 At Wed, 24 Sep 2008 00:17:18 +0400, Ruslan Ermilov wrote: > > Hi, > > On Tue, Sep 23, 2008 at 03:29:06PM -0400, gnn@freebsd.org wrote: > > It turns out that the last time anyone looked at this constant was > > before 1994 and it's very likely time to turn it into a kernel > > tunable. On hosts that have a high rate of packet transmission > > packets can be dropped at the interface queue because this value is > > too small. Rather than make a sweeping code change I propose the > > following change to the macro and updating a couple of places in the > > IP and IPv6 stacks that were using this macro to set their own global > > variables. > > > > I have tested this in my test lab at work, it is not as yet in > > production at my day job, but will be soon. > > > It's not that bad -- most modern Ethernet drivers initialize interface > input queues themselves, and don't depend on IFQ_MAXLEN. The IPv4 > input queue is tunable via net.inet.ip.intr_queue_maxlen. The IPv6 > queue can similarly be made tunable. I agree that ifqmaxlen can be > made tunable because there's still a lot of (mostly for old hardware) > drivers that use ifqmaxlen and IFQ_MAXLEN, but I'm against changing > the definition of IFQ_MAXLEN. Imagine some code like this: > Sorry, this is about the output queue, not the input queue. Though there are both input and output queues that depend on this. > void *x[IFQ_MAXLEN]; // here it's 50 > > And some function that does: > > for (i = 0; i < IFQ_MAXLEN; i++) { // not necessarily 50 > x[i] = NULL; > } > I found no occurrences of the above in our code base. I used cscope to search all of src/sys. Are you aware of any occurrences of this? Best, George From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 10:50:17 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D600106567F; Wed, 24 Sep 2008 10:50:17 +0000 (UTC) (envelope-from ganbold@micom.mng.net) Received: from publicd.ub.mng.net (publicd.ub.mng.net [202.179.0.88]) by mx1.freebsd.org (Postfix) with ESMTP id C9F178FC1F; Wed, 24 Sep 2008 10:50:16 +0000 (UTC) (envelope-from ganbold@micom.mng.net) Received: from [202.179.21.135] (helo=devil.micom.mng.net) by publicd.ub.mng.net with esmtpa (Exim 4.69 (FreeBSD)) (envelope-from ) id 1KiRwk-000GkV-QA; Wed, 24 Sep 2008 18:50:14 +0800 Message-ID: <48DA1B65.8030106@micom.mng.net> Date: Wed, 24 Sep 2008 18:50:13 +0800 From: Ganbold User-Agent: Thunderbird 2.0.0.16 (X11/20080901) MIME-Version: 1.0 To: freebsd-ipfw@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, luigi@FreeBSD.org, julian@FreeBSD.org Subject: ipfw port lookup table patch for review X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 10:50:17 -0000 Hi, I thought it might be useful to have port lookup table similar to existing IP lookup table in ipfw and I have made patch for that. The downside of the patch so far I'm seeing is the port entries are in linked list (no limitation yet, memory overhead), not sorted and it uses linear search to match (could be slow when lot of entries). Just after I've made the patch I saw http://www.freebsd.org/cgi/query-pr.cgi?pr=121807&cat= . :( I agree with PR's reply however for small number of port entries I thought this functionality is quite useful. It gives benefit like no need to modify existing rule, adding/deleting port entries is easy. I did some small tests and it seems like working. Patches are at: http://people.freebsd.org/~ganbold/ipfw_port_table/ The output of some usage samples is at: http://people.freebsd.org/~ganbold/ipfw_port_table/ipfw_port_table_usage_sample.txt Patches can be successfully applied to CURRENT. Didn't test RELENG_7 due to no RELENG_7 PC :) Please let me know your thoughts. I'm happy to discuss to improve the patch. Correct me if I'm doing something wrong here. thanks, Ganbold From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 14:27:20 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A94571065678 for ; Wed, 24 Sep 2008 14:27:20 +0000 (UTC) (envelope-from kfl@xiplink.com) Received: from smtp231.iad.emailsrvr.com (smtp231.iad.emailsrvr.com [207.97.245.231]) by mx1.freebsd.org (Postfix) with ESMTP id 81C548FC1E for ; Wed, 24 Sep 2008 14:27:20 +0000 (UTC) (envelope-from kfl@xiplink.com) Received: from relay13.relay.iad.mlsrvr.com (localhost [127.0.0.1]) by relay13.relay.iad.mlsrvr.com (SMTP Server) with ESMTP id 3C5913B32EC; Wed, 24 Sep 2008 10:10:39 -0400 (EDT) Received: by relay13.relay.iad.mlsrvr.com (Authenticated sender: kfodil-lemelin-AT-xiplink.com) with ESMTP id 221C63B30DB; Wed, 24 Sep 2008 10:10:39 -0400 (EDT) Message-ID: <48DA4AE3.7060907@xiplink.com> Date: Wed, 24 Sep 2008 10:12:51 -0400 From: Karim Fodil-Lemelin User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: Mungyung Ryu References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: ACE on FreeBSD? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 14:27:20 -0000 Mungyung Ryu wrote: > Hi freeBSD users, > > I've developed couple of server applications on Windows platform with ACE > Proactor > and it worked quite well. But, because of the expensive Windows Server, > I wanna move to Linux or freeBSD. > > Recently, I'm considering to build a server application on freeBSD but the > important issue > is whether the freeBSD supports ACE Proactor framework. > I googled about it and Linux doesn't support it well because Linux doesn't > support AIO (asynchronous I/O) on socket. > Moreover, most of the ACE professionals recommend to use Reactor framework > on Linux. > > My questions is.. > > 1. freeBSD supports AIO on socket? > Yes > 2. I can use ACE Proactor framework on freeBSD 7.0 without any problem? Is > it stable? > It works, although the same Linux recommendation stands for FreeBSD. Reactor had much more love then the Proactor on Unices. From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 14:43:20 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71E37106567C for ; Wed, 24 Sep 2008 14:43:20 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id 495CD8FC1B for ; Wed, 24 Sep 2008 14:43:20 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 5E5C6166E2B; Wed, 24 Sep 2008 10:43:18 -0400 (EDT) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute1.internal (MEProxy); Wed, 24 Sep 2008 10:43:18 -0400 X-Sasl-enc: sVxetKO/gqyXjMcZyDRzx4kxBDi5UDoTIse6Ca+uBGGP 1222267398 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id D48BD2E8E0; Wed, 24 Sep 2008 10:43:17 -0400 (EDT) Message-ID: <48DA5204.3030803@FreeBSD.org> Date: Wed, 24 Sep 2008 15:43:16 +0100 From: "Bruce M. Simpson" User-Agent: Thunderbird 2.0.0.14 (X11/20080514) MIME-Version: 1.0 To: Mungyung Ryu References: In-Reply-To: X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: ACE on FreeBSD? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 14:43:20 -0000 Hi, I looked at ACE years and years ago (~1997) when Doug Schmidt was first promoting the ideas behind it. The whole Reactor/Proactor split pretty much hangs on the event dispatch which your particular OS supports. The key observation is whether your target OS implements events in an edge-triggered or level-triggered way; I am borrowing definitions from electronic engineering here. You could do a straight port with Proactor, but performance will probably suck, because both FreeBSD (and Linux, I believe) need to emulate POSIX asynchronous I/O operations. Reactor will generally "fare better" on UNIX derived systems such as FreeBSD and Linux, because its event handling primitives are geared towards the level-triggered facilities provided by select(). In Windows, Winsock events use asynchronous notifications which may be tied to Win32 EVENT objects, and the usual Kernel32.DLL thread primitives are used around this. This makes Proactor more appropriate in that environment. XORP does some similar stuff to ACE under the hood to support the native socket facilities of both Windows and FreeBSD/Linux. It's hybridized but it behaves more like Reactor because we run in a single thread, and you have to force Winsock's helper thread to run, by preempting you, using some file handle and socket tricks. I don't currently know about stability of ACE on FreeBSD. cheers BMS From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 14:50:34 2008 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A64E81065681; Wed, 24 Sep 2008 14:50:34 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id 7B9148FC26; Wed, 24 Sep 2008 14:50:34 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 1951F167432; Wed, 24 Sep 2008 10:50:34 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute1.internal (MEProxy); Wed, 24 Sep 2008 10:50:34 -0400 X-Sasl-enc: p2i1TMHZ5Gd0kvnMH1CsHXgN+IrZ3XyHTONCopQ1Rvg/ 1222267833 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 8E0A5594E; Wed, 24 Sep 2008 10:50:33 -0400 (EDT) Message-ID: <48DA53B8.3030407@FreeBSD.org> Date: Wed, 24 Sep 2008 15:50:32 +0100 From: "Bruce M. Simpson" User-Agent: Thunderbird 2.0.0.14 (X11/20080514) MIME-Version: 1.0 To: gnn@freebsd.org References: In-Reply-To: X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: net@freebsd.org Subject: Re: Proposed patch, convert IFQ_MAXLEN to kernel tunable... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 14:50:34 -0000 Hi, I agree with the intent of the change that IPv4 and IPv6 input queues should have a tunable queue length. However, the change provided is going to make the definition of IFQ_MAXLEN global and dependent upon a variable. gnn@freebsd.org wrote: > Hi, > > It turns out that the last time anyone looked at this constant was > before 1994 and it's very likely time to turn it into a kernel > tunable. On hosts that have a high rate of packet transmission > packets can be dropped at the interface queue because this value is > too small. Rather than make a sweeping code change I propose the > following change to the macro and updating a couple of places in the > IP and IPv6 stacks that were using this macro to set their own global > variables. > This isn't appropriate for many uses of ifq's which might be internal to a given driver or subsystem, and which may use IFQ_MAXLEN for convenience, as Ruslan has pointed out. I have code elsewhere which does this. Can you please do this on a per-protocol stack basis? i.e. give IPv4 and IPv6 their own TUNABLE queue length. thanks BMS From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 14:52:53 2008 Return-Path: Delivered-To: net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D4689106566B; Wed, 24 Sep 2008 14:52:53 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id A45ED8FC15; Wed, 24 Sep 2008 14:52:53 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 3306F166FB6; Wed, 24 Sep 2008 10:52:53 -0400 (EDT) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute1.internal (MEProxy); Wed, 24 Sep 2008 10:52:53 -0400 X-Sasl-enc: UAlfO5ovfTpLxg9OzGgZNtoVtH69H1AVp3O9cKU1Dpct 1222267972 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 8EEE423B2D; Wed, 24 Sep 2008 10:52:52 -0400 (EDT) Message-ID: <48DA5443.3070903@FreeBSD.org> Date: Wed, 24 Sep 2008 15:52:51 +0100 From: "Bruce M. Simpson" User-Agent: Thunderbird 2.0.0.14 (X11/20080514) MIME-Version: 1.0 To: gnn@FreeBSD.org References: <20080923201718.GA88008@edoofus.dev.vega.ru> In-Reply-To: X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Ruslan Ermilov , net@FreeBSD.org Subject: Re: Proposed patch, convert IFQ_MAXLEN to kernel tunable... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 14:52:53 -0000 gnn@FreeBSD.org wrote: > ... > I found no occurrences of the above in our code base. I used cscope > to search all of src/sys. Are you aware of any occurrences of this? > I have been using IFQ_MAXLEN to size buffer queues internal to some IGMPv3 stuff. I don't feel comfortable with a change which sizes the queues for both IPv4 and IPv6 stacks, from a variable which is obscured by a macro. thanks BMS From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 14:55:24 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2EE210656AB for ; Wed, 24 Sep 2008 14:55:24 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id B87328FC1B for ; Wed, 24 Sep 2008 14:55:24 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 4E485167468; Wed, 24 Sep 2008 10:55:24 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute1.internal (MEProxy); Wed, 24 Sep 2008 10:55:24 -0400 X-Sasl-enc: rHP/eF4IZBSeGDhZDHszqH+7Bw5cKSrkKm0c1VN2g0Wn 1222268123 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 9D0FC3E54; Wed, 24 Sep 2008 10:55:23 -0400 (EDT) Message-ID: <48DA54DA.8070102@FreeBSD.org> Date: Wed, 24 Sep 2008 15:55:22 +0100 From: "Bruce M. Simpson" User-Agent: Thunderbird 2.0.0.14 (X11/20080514) MIME-Version: 1.0 To: Giulio Ferro References: <48D8A232.600@zirakzigil.org> <48D8AF8E.6080507@zirakzigil.org> In-Reply-To: <48D8AF8E.6080507@zirakzigil.org> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, Eygene Ryabinkin Subject: Re: lost routes X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 14:55:25 -0000 Giulio Ferro wrote: > > There are no messages in the logs, and no interface has been > touched. Anyway, since there are a lot of routes and only one > gets deleted I don't think it depends on interface changing > (it would delete them all, wouldn't it?) Normally static routes only get touched if the state of the underlying ifp/ifa changes. There are paths in netinet which will cause routes to be deleted in this situation. Occasionally the idea of a floating static re-surfaces... look in the PR database with this term for possibly related reports. cheers BMS From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 19:45:57 2008 Return-Path: Delivered-To: net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5139F1065678; Wed, 24 Sep 2008 19:45:57 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from proxy.meer.net (proxy.meer.net [64.13.141.13]) by mx1.freebsd.org (Postfix) with ESMTP id 2D4ED8FC0A; Wed, 24 Sep 2008 19:45:57 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from mail.meer.net (mail.meer.net [64.13.141.3]) by proxy.meer.net (8.14.2/8.14.2) with ESMTP id m8OJjnZq092077; Wed, 24 Sep 2008 12:45:56 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from mail2.meer.net (mail2.meer.net [64.13.141.16]) by mail.meer.net (8.13.3/8.13.3/meer) with ESMTP id m8OJgh7P061197; Wed, 24 Sep 2008 12:42:43 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from minion.local.neville-neil.com (209.249.190.254.available.above.net [209.249.190.254] (may be forged)) (authenticated bits=0) by mail2.meer.net (8.14.1/8.14.1) with ESMTP id m8OJggqi085487; Wed, 24 Sep 2008 12:42:43 -0700 (PDT) (envelope-from gnn@neville-neil.com) Date: Wed, 24 Sep 2008 15:42:42 -0400 Message-ID: From: gnn@FreeBSD.org To: "Bruce M. Simpson" In-Reply-To: <48DA53B8.3030407@FreeBSD.org> References: <48DA53B8.3030407@FreeBSD.org> User-Agent: Wanderlust/2.15.5 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.7 Emacs/22.2.50 (i386-apple-darwin9.4.0) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Canit-CHI2: 0.50 X-Bayes-Prob: 0.5 (Score 0, tokens from: ) X-Spam-Score: 0.10 () [Tag at 5.00] COMBINED_FROM X-CanItPRO-Stream: default X-Canit-Stats-ID: 1667734 - d568d6f2ce34 X-Scanned-By: CanIt (www . roaringpenguin . com) on 64.13.141.13 Cc: net@FreeBSD.org Subject: Re: Proposed patch, convert IFQ_MAXLEN to kernel tunable... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 19:45:57 -0000 At Wed, 24 Sep 2008 15:50:32 +0100, Bruce M. Simpson wrote: > > Hi, > > I agree with the intent of the change that IPv4 and IPv6 input queues > should have a tunable queue length. However, the change provided is > going to make the definition of IFQ_MAXLEN global and dependent upon a > variable. > > gnn@freebsd.org wrote: > > Hi, > > > > It turns out that the last time anyone looked at this constant was > > before 1994 and it's very likely time to turn it into a kernel > > tunable. On hosts that have a high rate of packet transmission > > packets can be dropped at the interface queue because this value is > > too small. Rather than make a sweeping code change I propose the > > following change to the macro and updating a couple of places in the > > IP and IPv6 stacks that were using this macro to set their own global > > variables. > > > > This isn't appropriate for many uses of ifq's which might be internal to > a given driver or subsystem, and which may use IFQ_MAXLEN for > convenience, as Ruslan has pointed out. I have code elsewhere which does > this. > > Can you please do this on a per-protocol stack basis? i.e. give IPv4 and > IPv6 their own TUNABLE queue length. > Actually what we'd need is N of these, since my target is actually the send queue, not the input queue. Let me look at this some more. Best, George From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 20:15:42 2008 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 59DB2106564A; Wed, 24 Sep 2008 20:15:42 +0000 (UTC) (envelope-from jmg@hydrogen.funkthat.com) Received: from hydrogen.funkthat.com (gate.funkthat.com [69.17.45.168]) by mx1.freebsd.org (Postfix) with ESMTP id 2CC4E8FC16; Wed, 24 Sep 2008 20:15:41 +0000 (UTC) (envelope-from jmg@hydrogen.funkthat.com) Received: from hydrogen.funkthat.com (q9vdbeh3hy4bg8gk@localhost.funkthat.com [127.0.0.1]) by hydrogen.funkthat.com (8.13.6/8.13.3) with ESMTP id m8OJrVM0083313; Wed, 24 Sep 2008 12:53:31 -0700 (PDT) (envelope-from jmg@hydrogen.funkthat.com) Received: (from jmg@localhost) by hydrogen.funkthat.com (8.13.6/8.13.3/Submit) id m8OJrV1T083312; Wed, 24 Sep 2008 12:53:31 -0700 (PDT) (envelope-from jmg) Date: Wed, 24 Sep 2008 12:53:31 -0700 From: John-Mark Gurney To: gnn@freebsd.org Message-ID: <20080924195331.GQ783@funkthat.com> Mail-Followup-To: gnn@freebsd.org, net@freebsd.org References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.1i X-Operating-System: FreeBSD 5.4-RELEASE-p6 i386 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (hydrogen.funkthat.com [127.0.0.1]); Wed, 24 Sep 2008 12:53:31 -0700 (PDT) Cc: net@freebsd.org Subject: Re: Proposed patch, convert IFQ_MAXLEN to kernel tunable... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 20:15:42 -0000 George V. Neville-Neil wrote this message on Tue, Sep 23, 2008 at 15:29 -0400: > It turns out that the last time anyone looked at this constant was > before 1994 and it's very likely time to turn it into a kernel > tunable. On hosts that have a high rate of packet transmission > packets can be dropped at the interface queue because this value is > too small. Rather than make a sweeping code change I propose the > following change to the macro and updating a couple of places in the > IP and IPv6 stacks that were using this macro to set their own global > variables. The better solution is to resurrect rwatson's patch that eliminates the interface queue, and does direct dispatch to the ethernet driver.. Usually the driver has a queue of 512 or more packets already, so putting them into a second queue doesn't provide much benefit besides increasing the amount of locking necessary to deliver packets... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not." From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 20:36:11 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1D00106568A for ; Wed, 24 Sep 2008 20:36:11 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outG.internet-mail-service.net (outg.internet-mail-service.net [216.240.47.230]) by mx1.freebsd.org (Postfix) with ESMTP id B73238FC1B for ; Wed, 24 Sep 2008 20:36:11 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id CAA6D247D; Wed, 24 Sep 2008 13:36:29 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id 328AF2D600E; Wed, 24 Sep 2008 13:36:11 -0700 (PDT) Message-ID: <48DAA4BB.7080907@elischer.org> Date: Wed, 24 Sep 2008 13:36:11 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 To: "Bruce M. Simpson" References: <48DA5204.3030803@FreeBSD.org> In-Reply-To: <48DA5204.3030803@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, Mungyung Ryu Subject: Re: ACE on FreeBSD? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 20:36:11 -0000 Bruce M. Simpson wrote: > Hi, > > I looked at ACE years and years ago (~1997) when Doug Schmidt was first > promoting the ideas behind it. The whole Reactor/Proactor split pretty > much hangs on the event dispatch which your particular OS supports. > > The key observation is whether your target OS implements events in an > edge-triggered or level-triggered way; I am borrowing definitions from > electronic engineering here. > > You could do a straight port with Proactor, but performance will > probably suck, because both FreeBSD (and Linux, I believe) need to > emulate POSIX asynchronous I/O operations. > > Reactor will generally "fare better" on UNIX derived systems such as > FreeBSD and Linux, because its event handling primitives are geared > towards the level-triggered facilities provided by select(). A true FreeBSD port would use kevent with AIO. At Cisco/ironport we use AIO with the build in kevent trigering to great effect. Certainly for sockets it works VERY well. > > In Windows, Winsock events use asynchronous notifications which may be > tied to Win32 EVENT objects, and the usual Kernel32.DLL thread > primitives are used around this. This makes Proactor more appropriate in > that environment. > > XORP does some similar stuff to ACE under the hood to support the native > socket facilities of both Windows and FreeBSD/Linux. It's hybridized but > it behaves more like Reactor because we run in a single thread, and you > have to force Winsock's helper thread to run, by preempting you, using > some file handle and socket tricks. > > I don't currently know about stability of ACE on FreeBSD. > > cheers > BMS > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 20:38:12 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00260106568E for ; Wed, 24 Sep 2008 20:38:11 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outR.internet-mail-service.net (outr.internet-mail-service.net [216.240.47.241]) by mx1.freebsd.org (Postfix) with ESMTP id D68A38FC17 for ; Wed, 24 Sep 2008 20:38:11 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id B71FF247D; Wed, 24 Sep 2008 13:38:59 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id 2C0F52D6006; Wed, 24 Sep 2008 13:38:11 -0700 (PDT) Message-ID: <48DAA533.3080607@elischer.org> Date: Wed, 24 Sep 2008 13:38:11 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 To: "Bruce M. Simpson" References: <48DA5204.3030803@FreeBSD.org> <48DAA4BB.7080907@elischer.org> In-Reply-To: <48DAA4BB.7080907@elischer.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, Mungyung Ryu Subject: Re: ACE on FreeBSD? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 20:38:12 -0000 Julian Elischer wrote: > Bruce M. Simpson wrote: >> Hi, >> >> I looked at ACE years and years ago (~1997) when Doug Schmidt was >> first promoting the ideas behind it. The whole Reactor/Proactor split >> pretty much hangs on the event dispatch which your particular OS >> supports. >> >> The key observation is whether your target OS implements events in an >> edge-triggered or level-triggered way; I am borrowing definitions from >> electronic engineering here. >> >> You could do a straight port with Proactor, but performance will >> probably suck, because both FreeBSD (and Linux, I believe) need to >> emulate POSIX asynchronous I/O operations. >> >> Reactor will generally "fare better" on UNIX derived systems such as >> FreeBSD and Linux, because its event handling primitives are geared >> towards the level-triggered facilities provided by select(). > > A true FreeBSD port would use kevent with AIO. > At Cisco/ironport we use AIO with the build in kevent trigering to > great effect. Certainly for sockets it works VERY well. sorry I meant for sockets and raw devices.. (what we use them for) sockets don't need AIO to work well with kevent but raw devices do. Luckily it works as advertised. > >> >> In Windows, Winsock events use asynchronous notifications which may be >> tied to Win32 EVENT objects, and the usual Kernel32.DLL thread >> primitives are used around this. This makes Proactor more appropriate >> in that environment. >> >> XORP does some similar stuff to ACE under the hood to support the >> native socket facilities of both Windows and FreeBSD/Linux. It's >> hybridized but it behaves more like Reactor because we run in a single >> thread, and you have to force Winsock's helper thread to run, by >> preempting you, using some file handle and socket tricks. >> >> I don't currently know about stability of ACE on FreeBSD. >> >> cheers >> BMS >> _______________________________________________ >> freebsd-net@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 20:42:37 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A70331065699 for ; Wed, 24 Sep 2008 20:42:37 +0000 (UTC) (envelope-from debarshi.ray@gmail.com) Received: from fk-out-0910.google.com (fk-out-0910.google.com [209.85.128.190]) by mx1.freebsd.org (Postfix) with ESMTP id 2E09C8FC0A for ; Wed, 24 Sep 2008 20:42:36 +0000 (UTC) (envelope-from debarshi.ray@gmail.com) Received: by fk-out-0910.google.com with SMTP id k31so93529fkk.11 for ; Wed, 24 Sep 2008 13:42:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:reply-to :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=HbriVpzR45gkmPbHRlotQJlYE3eFvM2nu66W0TZCS+w=; b=uteS1BQZgxCZEjrd0cIohqFx8VWEP4FC/nMoyKy7EupZLDNh3hoLbTpKypGMRGwWJL 4ib+U8c1dQty6r7Lwaztj9D/N2PJQqfPD0CvYr6jwwjcuEd+KnbEnIwWrqwOp1htBv5C nnxWSmfQpY3S7kciz3vctjapKSgOcoDQDndBM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:to:subject:cc:in-reply-to :mime-version:content-type:content-transfer-encoding :content-disposition:references; b=C1QhWIKTZVJ6AalL+GMC6/0+pW/d9ATP9Mjk2hG92fnSJQOYgp1bE4L4WEp0sg2zhy 4zBajdEgyQievs+61FyJEbwHeDOUIJbGkgA0s7bU3i8VzpDLGKxRvnu27O0qi8YbOgHb 2zvPMvBXNU2LQZfSvQe19KvpIPq3SmNSbI+cE= Received: by 10.187.251.11 with SMTP id d11mr1972960fas.104.1222288955445; Wed, 24 Sep 2008 13:42:35 -0700 (PDT) Received: by 10.187.177.19 with HTTP; Wed, 24 Sep 2008 13:42:35 -0700 (PDT) Message-ID: <3170f42f0809241342q422439b7oe72f60cf45ba53f8@mail.gmail.com> Date: Thu, 25 Sep 2008 02:12:35 +0530 From: "Debarshi Ray" To: "Mikhail Gorbulev" In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <87ej3e32iz.fsf@chateau.d.lf> <1221968342.74421.4.camel@shumai.marcuscom.com> Cc: Joe Marcus Clarke , FreeBSD networking and TCP/IP list Subject: Re: [X-POST] Anyone porting NetworkManager to FreeBSD ? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: debarshi.ray@gmail.com List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 20:42:37 -0000 > I was thinking about porting it, because I really need this thing on > my laptop and to have some programming experience. I just wanted to > have a companion, because I'm not sure I can handle this by myself and > because I'm pretty lazy these days, so I need to feel responsibility Myself and Ashish are working on a library (libroute) that basically abstracts out the various interfaces offered by different kernels to interact with routing tables, etc.. Currently NetworkManager uses libnl [1], which is a wrapper over the Linux kernel's PF_NETLINK socket interface, but its entirely Linux specific. So libroute will have a backend for PF_NETLINK (using libnl), one for PF_ROUTE, and so on. Once we have the required functionality, we intend to modify NetworkManager so that it calls libroute instead of libnl. The initial code is available here: git://bombadil.infradead.org/~rishi/inetutils.git (see libroute/ and route/) I must say that libroute is still in the initial stages of developement. :-) Interested? Happy hacking, Debarshi [1] http://people.suug.ch/~tgr/libnl From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 20:49:34 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7694D1065687 for ; Wed, 24 Sep 2008 20:49:34 +0000 (UTC) (envelope-from debarshi.ray@gmail.com) Received: from mu-out-0910.google.com (mu-out-0910.google.com [209.85.134.187]) by mx1.freebsd.org (Postfix) with ESMTP id EF19E8FC12 for ; Wed, 24 Sep 2008 20:49:33 +0000 (UTC) (envelope-from debarshi.ray@gmail.com) Received: by mu-out-0910.google.com with SMTP id i2so70185mue.3 for ; Wed, 24 Sep 2008 13:49:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:reply-to :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=heKwrdAQVz4NUIyq2Wt93rkOIGiJU4+yijdblPdcPG4=; b=lM/Xv6o83OkR+tNPGrwtzS31E6N0CrGPNJUIyRIlDlWNtJY6/1zskWpLzwCqvB5IGJ gy0vM4q8BuVCglc5CIws8+k0aRxuL5E/NYDrARDhGmJnublTLOUPN2+RWPouvFCsLC3b h2VOsaDltygP1CpjzxMKaCkBx95elmamqtcDM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:to:subject:cc:in-reply-to :mime-version:content-type:content-transfer-encoding :content-disposition:references; b=WFYfC8casv6iDsAU4Bk4HWK0zMec4Po4p23Bad8DQkS4PI7A6bcfxNGxGo9jUkh8KD CL29Jy3gzItDs3DGUqDVWs3cxfhcRpdkrXubu6lmRdRKLKmKVKKTf7lJhnJZcdpznZxX 747kZMzRi5m3SH31v+JzXOhec6Y+i9EbXY1E8= Received: by 10.187.246.10 with SMTP id y10mr1983157far.58.1222289372574; Wed, 24 Sep 2008 13:49:32 -0700 (PDT) Received: by 10.187.177.19 with HTTP; Wed, 24 Sep 2008 13:49:32 -0700 (PDT) Message-ID: <3170f42f0809241349v13700daeme5ca5f0618b17f0b@mail.gmail.com> Date: Thu, 25 Sep 2008 02:19:32 +0530 From: "Debarshi Ray" To: "Mikhail Gorbulev" In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <87ej3e32iz.fsf@chateau.d.lf> <1221968342.74421.4.camel@shumai.marcuscom.com> <3170f42f0809241342q422439b7oe72f60cf45ba53f8@mail.gmail.com> Cc: FreeBSD networking and TCP/IP list Subject: Re: [X-POST] Anyone porting NetworkManager to FreeBSD ? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: debarshi.ray@gmail.com List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 20:49:34 -0000 > Yep, I'm interested. :) Awesome. Clone the Git tree start hacking. Ashish is working on a patch to add IPv6 support to BSD's show function (see bsd_show.c), while I am reworking the Linux backend to use libnl instead of mucking with PF_NETLINK directly. The immediate TODO items are to implement 'add' and 'delete' support for BSD. Happy hacking, Debarshi From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 22:04:51 2008 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CDD4D1065688 for ; Wed, 24 Sep 2008 22:04:51 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from proxy.meer.net (proxy.meer.net [64.13.141.13]) by mx1.freebsd.org (Postfix) with ESMTP id A6D8E8FC13 for ; Wed, 24 Sep 2008 22:04:51 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from mail.meer.net (mail.meer.net [64.13.141.3]) by proxy.meer.net (8.14.2/8.14.2) with ESMTP id m8OM4lYO001554; Wed, 24 Sep 2008 15:04:51 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from mail2.meer.net (mail2.meer.net [64.13.141.16]) by mail.meer.net (8.13.3/8.13.3/meer) with ESMTP id m8OM1tit013731; Wed, 24 Sep 2008 15:01:55 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from minion.local.neville-neil.com (209.249.190.254.available.above.net [209.249.190.254] (may be forged)) (authenticated bits=0) by mail2.meer.net (8.14.1/8.14.1) with ESMTP id m8OM1sgS014561; Wed, 24 Sep 2008 15:01:55 -0700 (PDT) (envelope-from gnn@neville-neil.com) Date: Wed, 24 Sep 2008 18:01:53 -0400 Message-ID: From: gnn@freebsd.org To: gnn@freebsd.org, net@freebsd.org In-Reply-To: <20080924195331.GQ783@funkthat.com> References: <20080924195331.GQ783@funkthat.com> User-Agent: Wanderlust/2.15.5 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.7 Emacs/22.2.50 (i386-apple-darwin9.4.0) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Canit-CHI2: 0.50 X-Bayes-Prob: 0.5 (Score 0, tokens from: ) X-Spam-Score: 0.10 () [Tag at 5.00] COMBINED_FROM X-CanItPRO-Stream: default X-Canit-Stats-ID: 1669417 - b9d9db906f29 X-Scanned-By: CanIt (www . roaringpenguin . com) on 64.13.141.13 Cc: Subject: Re: Proposed patch, convert IFQ_MAXLEN to kernel tunable... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 22:04:51 -0000 At Wed, 24 Sep 2008 12:53:31 -0700, John-Mark Gurney wrote: > > George V. Neville-Neil wrote this message on Tue, Sep 23, 2008 at 15:29 -0400: > > It turns out that the last time anyone looked at this constant was > > before 1994 and it's very likely time to turn it into a kernel > > tunable. On hosts that have a high rate of packet transmission > > packets can be dropped at the interface queue because this value is > > too small. Rather than make a sweeping code change I propose the > > following change to the macro and updating a couple of places in the > > IP and IPv6 stacks that were using this macro to set their own global > > variables. > > The better solution is to resurrect rwatson's patch that eliminates the > interface queue, and does direct dispatch to the ethernet driver.. > Usually the driver has a queue of 512 or more packets already, so putting > them into a second queue doesn't provide much benefit besides increasing > the amount of locking necessary to deliver packets... Actually I am making this change because I found on 10G hardware the queue is too small. Also, there are many systems where you might want to up this, usually ones that are highly biased towards transmit only, like a multicast repeater of some sort. Best, George From owner-freebsd-net@FreeBSD.ORG Wed Sep 24 23:45:54 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DCAB106569B; Wed, 24 Sep 2008 23:45:54 +0000 (UTC) (envelope-from emax@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 01BCF8FC0C; Wed, 24 Sep 2008 23:45:54 +0000 (UTC) (envelope-from emax@FreeBSD.org) Received: from freefall.freebsd.org (emax@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8ONjrpM068755; Wed, 24 Sep 2008 23:45:53 GMT (envelope-from emax@freefall.freebsd.org) Received: (from emax@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8ONjrDO068751; Wed, 24 Sep 2008 23:45:53 GMT (envelope-from emax) Date: Wed, 24 Sep 2008 23:45:53 GMT Message-Id: <200809242345.m8ONjrDO068751@freefall.freebsd.org> To: emax@FreeBSD.org, freebsd-net@FreeBSD.org, emax@FreeBSD.org From: emax@FreeBSD.org Cc: Subject: Re: kern/126742: [panic] kernel panic when sending file via ng_ubt(4) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2008 23:45:54 -0000 Synopsis: [panic] kernel panic when sending file via ng_ubt(4) Responsible-Changed-From-To: freebsd-net->emax Responsible-Changed-By: emax Responsible-Changed-When: Wed Sep 24 23:45:40 UTC 2008 Responsible-Changed-Why: over to me http://www.freebsd.org/cgi/query-pr.cgi?pr=126742 From owner-freebsd-net@FreeBSD.ORG Thu Sep 25 00:47:14 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E3FFD1065691 for ; Thu, 25 Sep 2008 00:47:14 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id D25A68FC36 for ; Thu, 25 Sep 2008 00:47:14 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: by elvis.mu.org (Postfix, from userid 1192) id A66111A3C40; Wed, 24 Sep 2008 17:31:46 -0700 (PDT) Date: Wed, 24 Sep 2008 17:31:46 -0700 From: Alfred Perlstein To: Adam Stylinski Message-ID: <20080925003146.GI36572@elvis.mu.org> References: <96af083b0809181644o6136af1fybf0110f227f04f3b@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <96af083b0809181644o6136af1fybf0110f227f04f3b@mail.gmail.com> User-Agent: Mutt/1.4.2.3i Cc: freebsd-net@freebsd.org Subject: Re: Question regarding NFS X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2008 00:47:15 -0000 * Adam Stylinski [080918 17:15] wrote: > Hello, > I am running an IPCop firewall for my entire network. I have a > wireless network device on the blue subnet which must access a freebsd NFS > server. In order to do this, I need to open a DMZ pinhole on a few select > ports. It's my understanding that NFS chooses random ports and I was > wondering if there was a way I could fix this. There is a good reason that > the subnet for the wireless is separate from the wired and I'd rather not > configure this thing over a VPN. The client connecting to the NFS server is > a voyage computer (pretty much a small debian). Also, if at all possible, > I'd like to keep performance reasonably high when large volumes of clients > are connecting to the NFS server, I'm not sure if binding to one port may or > may not make this impossible. I apologize for my stupidity and lack of > understanding when it comes to NFS. Any help would be gladly appreciated, > guys. _usually_ NFS uses port 2049 on the server side. I think the client may bind to a random low port, this would be annoying to change, but could be done with a kernel hack relatively easily. Look at the code in src/sys/nfsclient/nfs_socket.c, there's some code that that deals with binding sockets that you can play with. -- - Alfred Perlstein From owner-freebsd-net@FreeBSD.ORG Thu Sep 25 04:05:41 2008 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D82BD106568C for ; Thu, 25 Sep 2008 04:05:41 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outB.internet-mail-service.net (outb.internet-mail-service.net [216.240.47.225]) by mx1.freebsd.org (Postfix) with ESMTP id C3FDF8FC13 for ; Thu, 25 Sep 2008 04:05:41 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id 7AE6D2490; Wed, 24 Sep 2008 21:05:42 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id 476082D6017; Wed, 24 Sep 2008 21:05:41 -0700 (PDT) Message-ID: <48DB0E14.6030607@elischer.org> Date: Wed, 24 Sep 2008 21:05:40 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 To: gnn@freebsd.org References: <20080924195331.GQ783@funkthat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: net@freebsd.org Subject: Re: Proposed patch, convert IFQ_MAXLEN to kernel tunable... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2008 04:05:41 -0000 gnn@freebsd.org wrote: > At Wed, 24 Sep 2008 12:53:31 -0700, > John-Mark Gurney wrote: >> George V. Neville-Neil wrote this message on Tue, Sep 23, 2008 at 15:29 -0400: >>> It turns out that the last time anyone looked at this constant was >>> before 1994 and it's very likely time to turn it into a kernel >>> tunable. On hosts that have a high rate of packet transmission >>> packets can be dropped at the interface queue because this value is >>> too small. Rather than make a sweeping code change I propose the >>> following change to the macro and updating a couple of places in the >>> IP and IPv6 stacks that were using this macro to set their own global >>> variables. >> The better solution is to resurrect rwatson's patch that eliminates the >> interface queue, and does direct dispatch to the ethernet driver.. >> Usually the driver has a queue of 512 or more packets already, so putting >> them into a second queue doesn't provide much benefit besides increasing >> the amount of locking necessary to deliver packets... > > Actually I am making this change because I found on 10G hardware the > queue is too small. Also, there are many systems where you might want > to up this, usually ones that are highly biased towards transmit only, > like a multicast repeater of some sort. > One system I have seen, that I thought made sense used to define queue length globally in msecs and each interface interpretted that to a different length. > Best, > George > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" From owner-freebsd-net@FreeBSD.ORG Thu Sep 25 14:01:37 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 16B441065696; Thu, 25 Sep 2008 14:01:37 +0000 (UTC) (envelope-from raffaele.delorenzo@libero.it) Received: from cp-out3.libero.it (cp-out3.libero.it [212.52.84.103]) by mx1.freebsd.org (Postfix) with ESMTP id 086E08FC27; Thu, 25 Sep 2008 14:01:34 +0000 (UTC) (envelope-from raffaele.delorenzo@libero.it) Received: from libero.it (192.168.17.10) by cp-out3.libero.it (8.5.014) id 4832F78508EECDC8; Thu, 25 Sep 2008 15:49:18 +0200 Date: Thu, 25 Sep 2008 15:49:18 +0200 Message-Id: MIME-Version: 1.0 X-Sensitivity: 3 Content-Type: multipart/mixed; boundary="_=__=_XaM3_.1222350558.2A.232919.42.5702.52.42.007.1620566560" From: "raffaele\.delorenzo\@libero\.it" To: "freebsd-ipfw" , "freebsd-net" X-XaM3-API-Version: 4.3 (R1) (B3pl25) X-SenderIP: 62.110.192.228 Cc: "raffaele.delorenzo" Subject: [IPFW add ARP support] - Request for testing X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2008 14:01:37 -0000 --_=__=_XaM3_.1222350558.2A.232919.42.5702.52.42.007.1620566560 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Hi all, In the last 2 weeks i implemented a new filter method inside the ipfw fir= ewall for ARP protocols. My idea for the new method was to create a new "proto" microinstruction e= xclusively for ARP protocol named "arp". This method permits filter terin= g from/to particular MAC address to be restricted to ARP protocol. Example: ipfw add deny arp from 52:54:00:12:34:56 to 00:11:43:cd:87:6t // De= ny all ARP packets generated by "from" and destinated to "to". The wildcard "any" and "me" are supported; the semantic is the same for a= ll old protocol rules: ipfw add deny arp from 00:11:43:cd:87:6t to any Moreover, I implemented some filter methods that restrict the filtering t= o some ARP header fields: 1) Source MAC address (srcmac-arp) 2) Source IP address (srcip-arp) 3) Destination MAC address (dstmac-arp) 4) Destination IP address (dstip-arp) Example: ./ipfw add deny arp from 00:11:43:cd:87:6e to 52:54:00:12:34:56 src= mac-arp 52:54:00:12:34:56 dstip-arp 192.9.217.29 To work properly, the ARP implementation requires that ipfw receives pac= kets from Layer 2, In other words, you must set the sysctl variable "net= .link.ether.ipfw=3D1". I attached the new sources and all diffs with reference to FreeBSD 7.0 Re= lease source Tree. Please let me know what you think about this work and = if possible eventually test it. Ciao Ciao Raffaele --_=__=_XaM3_.1222350558.2A.232919.42.5702.52.42.007.1620566560 Content-Type: application/octet-stream; name="=?iso-8859-1?Q?ipfw=5Farp=5Fext.tar.bz2?=" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?iso-8859-1?Q?ipfw=5Farp=5Fext.tar.bz2?=" QlpoOTFBWSZTWdicjrgA9Uz/////////////////////////////////////////////4cYz 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 --_=__=_XaM3_.1222350558.2A.232919.42.5702.52.42.007.1620566560-- From owner-freebsd-net@FreeBSD.ORG Thu Sep 25 17:47:24 2008 Return-Path: Delivered-To: net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A74C71065695; Thu, 25 Sep 2008 17:47:24 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from fallbackmx06.syd.optusnet.com.au (fallbackmx06.syd.optusnet.com.au [211.29.132.8]) by mx1.freebsd.org (Postfix) with ESMTP id 342318FC12; Thu, 25 Sep 2008 17:47:23 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail10.syd.optusnet.com.au (mail10.syd.optusnet.com.au [211.29.132.191]) by fallbackmx06.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id m8P61YJX015946; Thu, 25 Sep 2008 16:01:34 +1000 Received: from c220-239-252-11.carlnfd3.nsw.optusnet.com.au (c220-239-252-11.carlnfd3.nsw.optusnet.com.au [220.239.252.11]) by mail10.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id m8P61SKw027907 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 25 Sep 2008 16:01:30 +1000 Date: Thu, 25 Sep 2008 16:01:28 +1000 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: gnn@FreeBSD.org In-Reply-To: Message-ID: <20080925150227.L33284@delplex.bde.org> References: <20080924195331.GQ783@funkthat.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: net@FreeBSD.org Subject: Re: Proposed patch, convert IFQ_MAXLEN to kernel tunable... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2008 17:47:24 -0000 On Wed, 24 Sep 2008 gnn@FreeBSD.org wrote: > At Wed, 24 Sep 2008 12:53:31 -0700, > John-Mark Gurney wrote: >> >> George V. Neville-Neil wrote this message on Tue, Sep 23, 2008 at 15:29 -0400: >>> It turns out that the last time anyone looked at this constant was >>> before 1994 and it's very likely time to turn it into a kernel >>> tunable. On hosts that have a high rate of packet transmission >>> packets can be dropped at the interface queue because this value is >>> too small. Rather than make a sweeping code change I propose the >>> following change to the macro and updating a couple of places in the >>> IP and IPv6 stacks that were using this macro to set their own global >>> variables. The global value is rarely used (except by low-end and/or 10 Mbps hardware where it doesn't matter). One important place where it is used (that you changed) is for ipintrq, but this should have a different default anyway and already has its own sysctl to fix up the broken default. >> The better solution is to resurrect rwatson's patch that eliminates the >> interface queue, and does direct dispatch to the ethernet driver.. If this were really better, then rwatson would have committed it. >> Usually the driver has a queue of 512 or more packets already, so putting >> them into a second queue doesn't provide much benefit besides increasing >> the amount of locking necessary to deliver packets... No, the second queue provides the fairly large benefit of doing watermark processing via double buffering. Most or all network drivers do no watermark processing except accidentally via the second queue. Even with watermarks in the driver queue, it still takes a fairly large external queue to prevent the transmitter running dry under load. E.g., in my version of the bge driver, there is essentially a watermark at 112 descriptors before the end of the driver tx queue. Under load, the driver tx queue is normally filled with 496 descriptors on every output interrupt. The driver enters state IFF_DRV_OACTIVE and upper layers stop trying to transfer packets to the driver queue. The next output interrupt occurs after 384 of the 496 descriptors have been handled, so that 112 remain. Then IFF_DRV_OACTIVE is cleared and upper layers resume transferring packets to the driver queue. For output to stream, and for efficiency, it is essential for upper layers to have plenty of packets to transfer at this point, but without the double buffering they would have none. When things are working right, the upper layers produce more than 384 descriptors by transferring at this point so that the driver queue fills again. For output to stream, it is essential to produce 1 new descriptor faster than the hardware can handle the 112 remaining ones and then keep producing new descriptors faster than the hardware can handle the previous new ones. With my hardware, the 112 descriptors take about 150 usec to handle. Buffering in userland is too far away to deliver new packets within this time in many cases (though syscalls are fast enough, scheduling delays are usually too long). > Actually I am making this change because I found on 10G hardware the > queue is too small. Also, there are many systems where you might want > to up this, usually ones that are highly biased towards transmit only, > like a multicast repeater of some sort. You would rarely want the globabl default to apply to all interfaces. Anywyay, interfaces with a hardware queue length (er, ring count) of 512 normally don't use the default, but use their ring count (bogusly less 1) for the software queue length too. This can be too small too. In some cases, since select() for writing on sockets attached to hardware doesn't work (it should block if all queues are full and return soon IFF_DRV_ACTIVE transitions from set to clear and the queues become non-full, but it only unerstands the socket buffer and doesn't look at the queues), context switches to the application producing the packets is delayed until at least the next scheduling tick or two, which happens 2-20 msec later. I use sendq lengths of ~20000 for bge and em to prevent the queues running dry with a scheduling latency of 20 msec. (10 Gbps would require prepostorous queue lengths of ~200000 for the same result.) However, even a queue length of (512+512-1) is bad for performance. Cycling through mbufs in a circular way ensures busting of caches once the queue length is large enough for the memory to exceed the cache size[s]. With a queue length of 50 and today's cache sizes, it is almost possible to fit everything into the L1 cache. Bruce From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 08:51:46 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E11571065686 for ; Fri, 26 Sep 2008 08:51:45 +0000 (UTC) (envelope-from gleb.kurtsou@gmail.com) Received: from mail-gx0-f17.google.com (mail-gx0-f17.google.com [209.85.217.17]) by mx1.freebsd.org (Postfix) with ESMTP id 88DE08FC1A for ; Fri, 26 Sep 2008 08:51:45 +0000 (UTC) (envelope-from gleb.kurtsou@gmail.com) Received: by gxk10 with SMTP id 10so7981516gxk.19 for ; Fri, 26 Sep 2008 01:51:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=MxMrj49ElJ89mla42N1OJddAbfKB9PXlG1/L31fknf4=; b=mHLLarZueTkeNp4zIkRUPFmEgK8SbIIzqBJrg2/k+jISUNEOQSLAl8MGPRP2FYwOcd ExvnSoEFauBQwCIBunxV/MJTSNGcz0c3eFlxvDjflM0dM6eopt1no8OrUtgcK1EWCzDs 8/fxjbBLAYgeHZUdxW9G0XvBh6v4O2vrW+2Fo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=nG1kHcQT8AoFsdft83acjuVwJpCziEJZw9ZCG1HXho737prkuSq77ug2HkrnVGa5KH ouxr7QdgG4dAAwcgU/wJl3M+Oy+izJV8DYnf5HPsaiVxkye8faO0+sKE8lxrNoDIFspH Czz7vcKKUv5Azi9CowzPZACKt/uRgfeZ13waI= Received: by 10.100.251.5 with SMTP id y5mr774336anh.60.1222419104504; Fri, 26 Sep 2008 01:51:44 -0700 (PDT) Received: by 10.100.34.12 with HTTP; Fri, 26 Sep 2008 01:51:44 -0700 (PDT) Message-ID: <4c1d27f20809260151u4e44bb8epee482eb0eafebd0a@mail.gmail.com> Date: Fri, 26 Sep 2008 11:51:44 +0300 From: "Gleb Kurtsou" To: "raffaele.delorenzo@libero.it" In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: Cc: freebsd-ipfw , freebsd-net Subject: Re: [IPFW add ARP support] - Request for testing X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 08:51:46 -0000 On Thu, Sep 25, 2008 at 4:49 PM, raffaele.delorenzo@libero.it wrote: > Hi all, > In the last 2 weeks i implemented a new filter method inside the ipfw firewall for ARP protocols. > My idea for the new method was to create a new "proto" microinstruction exclusively for ARP protocol named "arp". This method permits filter tering from/to particular MAC address to be restricted to ARP protocol. > > Example: > > ipfw add deny arp from 52:54:00:12:34:56 to 00:11:43:cd:87:6t // Deny all ARP packets generated by "from" and destinated to "to". > > The wildcard "any" and "me" are supported; the semantic is the same for all old protocol rules: > > ipfw add deny arp from 00:11:43:cd:87:6t to any > > > Moreover, I implemented some filter methods that restrict the filtering to some ARP header fields: > > 1) Source MAC address (srcmac-arp) > 2) Source IP address (srcip-arp) > 3) Destination MAC address (dstmac-arp) > 4) Destination IP address (dstip-arp) > > Example: > > ./ipfw add deny arp from 00:11:43:cd:87:6e to 52:54:00:12:34:56 srcmac-arp 52:54:00:12:34:56 dstip-arp 192.9.217.29 > > To work properly, the ARP implementation requires that ipfw receives packets from Layer 2, In other words, you must set the sysctl variable "net.link.ether.ipfw=1". > > I attached the new sources and all diffs with reference to FreeBSD 7.0 Release source Tree. Please let me know what you think about this work and if possible eventually test it. > > Ciao Ciao > Raffaele > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > Just my 2 cents. There is another implementation of ARP filtering with IPFW available. It was implemented as a part of Google Summer of Code'2008. I'm still waiting for a review by Max Laier Original message containing path to freebsd-net@: http://lists.freebsd.org/pipermail/freebsd-net/2008-September/019458.html From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 06:29:13 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 35CFA1065689 for ; Fri, 26 Sep 2008 06:29:13 +0000 (UTC) (envelope-from waynehendricks@gmail.com) Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.183]) by mx1.freebsd.org (Postfix) with ESMTP id 0A4498FC25 for ; Fri, 26 Sep 2008 06:29:12 +0000 (UTC) (envelope-from waynehendricks@gmail.com) Received: by wa-out-1112.google.com with SMTP id n4so424364wag.27 for ; Thu, 25 Sep 2008 23:29:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=SyCLn/g++qpGWpW9s5Sj8ajHmpL88eqmWUwxb/zK3nU=; b=aMUWW8YxYQ/4h92LR2W7kWVGnep9Qc+hkAKA65IqJq762jk7Ol7+ow1AAR2HKB8PZx aYscDI5JnnaFhgL0j0GAh9SxZCeiaDwuokDMmnMsfV5k7sTj7JNqjHrcVZW0LyE+KYSa HDNzuvLmiuhu0fUO7zTctMQDU+iZQfS8Sh+BA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=Uw3LI1yvbYe424zJjN+9jbEpz7dPQ1E83xDCn+3EGJSl6cDOMqVWvZ4qwWPNNmeB/d +ji9LB9f6ErH8QH8ka6kxSFpS+Lk0Ro6zO4XkF6ERBqMGukryrxZ1FGN9AX1in++Gl79 3z4LfLwZ7ghPpuILEEYLuteo2mFflvpVJ6cVI= Received: by 10.114.160.17 with SMTP id i17mr865991wae.48.1222408719128; Thu, 25 Sep 2008 22:58:39 -0700 (PDT) Received: by 10.114.190.16 with HTTP; Thu, 25 Sep 2008 22:58:39 -0700 (PDT) Message-ID: <3b965dec0809252258t15722eecn29494431bced3061@mail.gmail.com> Date: Fri, 26 Sep 2008 00:58:39 -0500 From: "Wayne Hendricks" To: freebsd-net@freebsd.org MIME-Version: 1.0 X-Mailman-Approved-At: Fri, 26 Sep 2008 11:23:15 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Hostapd network issue X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 06:29:13 -0000 I have been trying to make hostapd work with wifi card in my gateway box. WPA stays working for only a short time before hostapd locks up and needs to be restarted. I believe the hosapd config is fine, shows no errors. Running 7.0-RELEASE-p4 amd64 with mini-pci Atheros 5212 chipset. I have included the hostapd debug output below. What is this ioctl[SIOCS80211] weirdness? Configuration file: /etc/hostapd.conf ctrl_interface_group=0 (from group name 'wheel') bsd_set_iface_flags: dev_up=0 BSS count 1, BSSID mask ff:ff:ff:ff:ff:ff (0 bits) ath0: IEEE 802.11 Fetching hardware channel/rate support not supported. Flushing old station entries bsd_sta_deauth: addr=ff:ff:ff:ff:ff:ff reason_code=3 Deauthenticate all stations bsd_set_privacy: enabled=0 Mode: IEEE 802.11g Channel: 11 Frequency: 0 MHz bsd_del_key: addr=00:00:00:00:00:00 key_idx=0 bsd_del_key: addr=00:00:00:00:00:00 key_idx=1 bsd_del_key: addr=00:00:00:00:00:00 key_idx=2 bsd_del_key: addr=00:00:00:00:00:00 key_idx=3 bsd_get_ssid: ssid="bsdap" Using interface ath0 with hwaddr 00:90:96:6b:0f:c6 and ssid 'bsdap' SSID - hexdump_ascii(len=9): 52 4e 73 65 63 75 72 65 47 bsdap PSK (ASCII passphrase) - hexdump_ascii(len=12): 65 74 68 65 72 61 70 65 31 31 31 36 mypassphrase PSK (from passphrase) - hexdump(len=32): 17 ae 54 6a a7 c4 fc ce e2 d4 2e 07 0d 08 09 56 41 d3 a4 6a d2 18 26 d1 36 22 56 fe a0 af 26 43 bsd_set_ieee8021x: enabled=1 bsd_configure_wpa: group key cipher=TKIP (1) bsd_configure_wpa: pairwise key ciphers=0xa bsd_configure_wpa: key management algorithms=0x2 bsd_configure_wpa: rsn capabilities=0x0 bsd_configure_wpa: enable WPA= 0x1 bsd_set_iface_flags: dev_up=1 WPA: group state machine entering state GTK_INIT (VLAN-ID 0) GMK - hexdump(len=32): [REMOVED] GTK - hexdump(len=32): [REMOVED] WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 bsd_set_privacy: enabled=1 ath0: Setup of interface done. ath0: STA 00:1e:c2:bf:74:60 IEEE 802.11: associated New STA ath0: STA 00:1e:c2:bf:74:60 WPA: event 1 notification bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 ath0: STA 00:1e:c2:bf:74:60 WPA: start authentication WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITIALIZE bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=0 ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: unauthorizing port WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state AUTHENTICATION WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state AUTHENTICATION2 WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITPSK WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKSTART ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/4 msg of 4-Way Handshake WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 keyidx=0 encr=0) TX EAPOL - hexdump(len=113): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 03 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 9f 2b fa 4e 6e 00 d2 a0 fd 9e f0 c1 fd be 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 IEEE 802.1X: 123 bytes from 00:1e:c2:bf:74:60 IEEE 802.1X: version=1 type=3 length=119 ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/4 Pairwise) WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKCALCNEGOTIATING PMK - hexdump(len=32): [REMOVED] PTK - hexdump(len=64): [REMOVED] WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKCALCNEGOTIATING2 WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKINITNEGOTIATING bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 ath0: STA 00:1e:c2:bf:74:60 WPA: sending 3/4 msg of 4-Way Handshake WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 keyidx=0 encr=0) TX EAPOL - hexdump(len=141): 00 1e c2 bf 74 60 00 00 96 6b 0f c6 88 8e 02 03 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd be 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cf 86 6a 87 74 59 72 dc 2f 01 f9 8b b4 20 51 1f 00 1c dd 1a 00 50 f2 0 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2 02 IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 IEEE 802.1X: version=1 type=3 length=95 ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (4/4 Pairwise) WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKINITDONE bsd_set_key: alg=CCMP addr=00:1e:c2:bf:74:60 key_idx=0 bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=1 ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: authorizing port bsd_sta_clear_stats: addr=00:1e:c2:bf:74:60 ath0: STA 00:1e:c2:bf:74:60 WPA: pairwise key handshake completed (WPA) WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=1 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 3b 0f c6 88 8e 02 03 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 d8 ba b9 34 15 fd ae 04 7c 59 05 d4 08 70 4c 00 28 36 25 48 ae 3c 8 d ad 9b 27 20 45 68 36 d7 57 ba 57 49 0f 7d e9 2b 1d 6b b5 21 c1 a4 e5 77 fc 57 fd 57 c1 90 be a2 50 a4 ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=1 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 46 6b 0f c6 88 8e 02 03 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 04 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0 3a d0 8a fd 74 2d 9a cf ba eb 75 56 26 71 63 00 28 36 25 48 ae 3c 8 d ad 9b 27 20 45 68 36 d7 57 ba 57 49 0f 7d e9 2b 1d 6b b5 21 c1 a4 e5 77 fc 37 fd 57 c1 00 be a2 50 a4 IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 IEEE 802.1X: version=1 type=3 length=95 ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE Checking STA 00:1e:c2:bf:74:60 inactivity: Station has been active ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: associated New STA ath0: STA 00:21:e9:6e:98:d0 WPA: event 1 notification bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 ath0: STA 00:21:e9:6e:98:d0 WPA: start authentication WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION2 WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITPSK WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKSTART ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/4 msg of 4-Way Handshake WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 keyidx=0 encr=0) TX EAPOL - hexdump(len=113): 00 21 e9 6e 68 d0 00 90 96 6b 0f c6 58 8e 02 03 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd bf 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 IEEE 802.1X: 123 bytes from 00:21:e9:6e:98:d0 IEEE 802.1X: version=1 type=3 length=119 ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/4 Pairwise) WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING PMK - hexdump(len=32): [REMOVED] PTK - hexdump(len=64): [REMOVED] WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING2 WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITNEGOTIATING bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 ath0: STA 00:21:e9:6e:98:d0 WPA: sending 3/4 msg of 4-Way Handshake WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 keyidx=0 encr=0) TX EAPOL - hexdump(len=141): 00 21 e9 6e 98 d0 00 90 96 6b 0f c5 88 8e 02 03 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd bf 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e2 55 c7 5a e3 2d 7a 54 f2 6d f0 7b 9f cc ca b3 00 1c dd 1a 00 50 f2 0 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2 02 IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 IEEE 802.1X: version=1 type=3 length=95 ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (4/4 Pairwise) WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITDONE bsd_set_key: alg=CCMP addr=00:21:e9:6e:98:d0 key_idx=0 bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=1 ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: authorizing port bsd_sta_clear_stats: addr=00:21:e9:6e:98:d0 ath0: STA 00:21:e9:6e:98:d0 WPA: pairwise key handshake completed (WPA) WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=1 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 21 e9 6e 98 d0 00 90 96 6b 0f c6 68 8e 02 03 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bb 76 69 1b 31 76 d5 81 87 d1 fb f5 ac 85 f1 d7 00 28 f6 9f 0d ca 6e 4 b 9c 54 56 98 09 75 79 a1 35 b0 90 a2 77 33 48 3e 5c 5d 03 cc 8e 6b 1c 10 cd af a5 66 58 5f d2 fb 3d 48 ath0: STA 00:21:e9:6e:98:d0 WPA: EAPOL-Key timeout WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=1 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 21 e9 6e 98 d0 00 90 96 6b 0f c6 88 8e 02 03 00 47 fe 03 92 00 20 00 00 00 00 00 00 00 04 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ec 85 4f 9e d0 f7 89 9c a5 aa da f7 94 32 96 1b 00 28 f6 9f 0d ca 6e 4 b 9c 54 56 98 09 75 79 a1 35 b0 90 a2 77 33 48 3e 5c 5d 03 cc 3e 6b 1c 10 cd af a5 96 58 5f d2 fb 3d 48 IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 IEEE 802.1X: version=1 type=3 length=95 ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/2 Group) WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYESTABLISHED ath0: STA 00:21:e9:6e:98:d0 WPA: group key handshake completed (WPA) WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: deassociated ath0: STA 00:21:e9:6e:98:d0 WPA: event 2 notification bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state DISCONNECTED WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port Could not set station 00:21:e9:6e:98:d0 flags for kernel driver (errno=22). ath0: WPA rekeying GTK WPA: group state machine entering state SETKEYS (VLAN-ID 0) GMK - hexdump(len=32): [REMOVED] GTK - hexdump(len=32): [REMOVED] WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=2 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 3b 0f c6 88 8e 02 03 00 87 fe 03 a2 00 20 00 00 00 00 00 00 00 05 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 21 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2e 4a 9b 73 a4 2a 85 58 43 ea 4b 26 39 52 da 0b 00 28 97 d8 b5 38 1a 9 9 dc 43 65 b5 bd ac 8c 7e 35 2c 12 7c 55 d4 79 0a 54 68 4c 5c 59 36 5b f6 69 31 ad 4a 90 ff 81 be c6 4f IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 IEEE 802.1X: version=1 type=3 length=95 ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE Checking STA 00:1e:c2:bf:74:60 inactivity: Station has been active Checking STA 00:1e:c2:bf:74:60 inactivity: Station has been active ath0: WPA rekeying GTK WPA: group state machine entering state SETKEYS (VLAN-ID 0) GMK - hexdump(len=32): [REMOVED] GTK - hexdump(len=32): [REMOVED] WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=1 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 76 6b 0f c6 88 8e 02 03 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 06 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd c1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 16 82 a2 6d 95 4d 6b 3c ce 5b 05 47 76 55 00 28 7a a2 9a 85 ef a f a9 be 86 56 94 45 a3 ab b8 a5 b3 d5 44 3b a4 d3 9f 7b 3d ea 97 e6 c3 ed 9e 42 da 4b 91 2d fd 7f 1e 8d IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 IEEE 802.1X: version=1 type=3 length=95 ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE Checking STA 00:1e:c2:bf:74:60 inactivity: Station has been active ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: associated New STA ath0: STA 00:21:e9:6e:98:d0 WPA: event 1 notification bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 ath0: STA 00:21:e9:6e:98:d0 WPA: start authentication WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION2 WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITPSK WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKSTART ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/4 msg of 4-Way Handshake WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 keyidx=0 encr=0) TX EAPOL - hexdump(len=113): 00 21 e9 6e 98 d0 00 30 96 6b 0f c6 88 8e 02 03 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 3b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd c2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 IEEE 802.1X: 123 bytes from 00:21:e9:6e:98:d0 IEEE 802.1X: version=1 type=3 length=119 ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/4 Pairwise) WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING PMK - hexdump(len=32): [REMOVED] PTK - hexdump(len=64): [REMOVED] WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING2 WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITNEGOTIATING bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 ath0: STA 00:21:e9:6e:98:d0 WPA: sending 3/4 msg of 4-Way Handshake WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 keyidx=0 encr=0) TX EAPOL - hexdump(len=141): 00 21 e9 6e 78 d0 00 90 96 6b 0f c6 88 8e 02 03 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd c2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 19 95 a0 4e 64 c6 43 6c e9 8c 02 ef 75 27 f9 e5 00 1c dd 1a 00 50 f2 0 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 40 f2 02 IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 IEEE 802.1X: version=1 type=3 length=95 ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (4/4 Pairwise) WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITDONE bsd_set_key: alg=CCMP addr=00:21:e9:6e:98:d0 key_idx=0 bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=1 ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: authorizing port bsd_sta_clear_stats: addr=00:21:e9:6e:98:d0 ath0: STA 00:21:e9:6e:98:d0 WPA: pairwise key handshake completed (WPA) WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=1 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 21 e9 6e 08 d0 00 90 96 6b 0f c6 88 5e 02 03 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd c1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 dc 19 fc 24 e2 56 37 16 14 5a 0b 00 25 c2 47 00 28 78 92 48 df 3b e f 3c d7 25 82 34 d2 32 7d 1f cc 12 d1 4e c0 89 dc 29 80 88 45 95 27 13 49 b0 da ef f9 c9 fd f0 52 a9 b5 IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 IEEE 802.1X: version=1 type=3 length=95 ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/2 Group) WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYESTABLISHED ath0: STA 00:21:e9:6e:98:d0 WPA: group key handshake completed (WPA) WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: deassociated ath0: STA 00:21:e9:6e:98:d0 WPA: event 2 notification bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state DISCONNECTED WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port Could not set station 00:21:e9:6e:98:d0 flags for kernel driver (errno=22). Checking STA 00:1e:c2:bf:74:60 inactivity: Station has been active ath0: WPA rekeying GTK WPA: group state machine entering state SETKEYS (VLAN-ID 0) GMK - hexdump(len=32): [REMOVED] GTK - hexdump(len=32): [REMOVED] WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=2 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 78 8e 02 03 00 87 fe 03 a2 00 20 00 00 00 00 00 00 00 07 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd c3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0 00 be eb 48 36 b5 ad 1f 17 bc 64 ca 6b c8 ca 00 28 8a 2b 24 9f ee 4 4 0f e7 4a ad a8 55 62 cd b9 d0 69 cc af e4 94 01 aa d8 e9 cf cc a7 ed 6e e0 90 b5 3c 35 1a ae 2e 32 d7 IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 IEEE 802.1X: version=1 type=3 length=95 ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE Checking STA 00:1e:c2:bf:74:60 inactivity: Station has been active Checking STA 00:1e:c2:bf:74:60 inactivity: Station has been active ath0: WPA rekeying GTK WPA: group state machine entering state SETKEYS (VLAN-ID 0) GMK - hexdump(len=32): [REMOVED] GTK - hexdump(len=32): [REMOVED] WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=1 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 40 00 90 96 6b 0f c6 88 8e 02 03 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 08 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c1 50 c3 fa 32 83 f8 05 c4 c3 78 e5 cf 48 25 79 00 28 10 4a c3 91 12 2 f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec 97 54 a3 60 a9 d7 73 20 6d f1 ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=1 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 03 00 87 fe 03 92 00 10 00 00 00 00 00 00 00 09 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 b1 39 72 aa d0 25 02 a4 5b 01 55 a9 c6 5b cf 00 28 10 4a c3 91 12 2 f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec 57 54 a3 60 a9 d7 73 20 6d f1 ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=1 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 98 8e 02 03 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 0a 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 79 9c 20 34 dd 26 28 c7 c2 6f a3 1c a4 03 44 00 28 10 4a c3 91 12 2 f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec 57 54 a3 60 a9 d7 73 20 6d f1 ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 keyidx=1 encr=1) Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 03 00 87 fe 03 02 00 20 00 00 00 00 00 00 00 0b 1c c4 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 91 86 ea b0 4b 7f c5 2b 2c 9c b2 94 67 d4 e6 14 00 28 10 4a c3 91 12 2 f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec 57 54 a3 60 a8 d7 73 20 6d f1 WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state KEYERROR WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state DISCONNECT hostapd_wpa_auth_disconnect: WPA authenticator requests disconnect: STA 00:1e:c2:bf:74:60 reason 2 bsd_sta_deauth: addr=00:1e:c2:bf:74:60 reason_code=2 WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state DISCONNECTED WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITIALIZE bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=0 ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: unauthorizing port Could not set station 00:1e:c2:bf:74:60 flags for kernel driver (errno=22). ath0: STA 00:1e:c2:bf:74:60 IEEE 802.11: deauthenticated due to local deauth request GMK - hexdump(len=32): [REMOVED] GTK - hexdump(len=32): [REMOVED] WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 ath0: WPA rekeying GTK WPA: group state machine entering state SETKEYS (VLAN-ID 0) WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 ath0: WPA rekeying GTK WPA: group state machine entering state SETKEYS (VLAN-ID 0) GMK - hexdump(len=32): [REMOVED] GTK - hexdump(len=32): [REMOVED] WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 ath0: WPA rekeying GTK WPA: group state machine entering state SETKEYS (VLAN-ID 0) GMK - hexdump(len=32): [REMOVED] GTK - hexdump(len=32): [REMOVED] WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 ath0: WPA rekeying GTK WPA: group state machine entering state SETKEYS (VLAN-ID 0) GMK - hexdump(len=32): [REMOVED] GTK - hexdump(len=32): [REMOVED] WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 ioctl[SIOCS80211]: No such file or directory ioctl[SIOCS80211]: No such file or directory ioctl[SIOCS80211]: Invalid argument ioctl[SIOCS80211]: No such file or directory ioctl[SIOCS80211]: No such file or directory ioctl[SIOCS80211]: Invalid argument ioctl[SIOCS80211]: No such file or directory ioctl[SIOCS80211]: Invalid argument Signal 2 received - terminating Flushing old station entries bsd_sta_deauth: addr=ff:ff:ff:ff:ff:ff reason_code=3 Deauthenticate all stations bsd_set_privacy: enabled=0 bsd_set_ieee8021x: enabled=0 bsd_set_iface_flags: dev_up=0 From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 12:44:01 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF0A410656A1; Fri, 26 Sep 2008 12:44:01 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 9536F8FC1D; Fri, 26 Sep 2008 12:44:01 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8QCi1Cg030109; Fri, 26 Sep 2008 12:44:01 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8QCi1tO030105; Fri, 26 Sep 2008 12:44:01 GMT (envelope-from linimon) Date: Fri, 26 Sep 2008 12:44:01 GMT Message-Id: <200809261244.m8QCi1tO030105@freefall.freebsd.org> To: linimon@FreeBSD.org, freebsd-bugs@FreeBSD.org, freebsd-net@FreeBSD.org From: linimon@FreeBSD.org Cc: Subject: Re: kern/127644: [ndis] [panic] NDIS panic X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 12:44:01 -0000 Old Synopsis: NDIS panic New Synopsis: [ndis] [panic] NDIS panic Responsible-Changed-From-To: freebsd-bugs->freebsd-net Responsible-Changed-By: linimon Responsible-Changed-When: Fri Sep 26 12:43:46 UTC 2008 Responsible-Changed-Why: Over to maintainer(s). http://www.freebsd.org/cgi/query-pr.cgi?pr=127644 From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 13:05:16 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E2561065698 for ; Fri, 26 Sep 2008 13:05:16 +0000 (UTC) (envelope-from freebsd-net@m.gmane.org) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by mx1.freebsd.org (Postfix) with ESMTP id 979A68FC0C for ; Fri, 26 Sep 2008 13:05:15 +0000 (UTC) (envelope-from freebsd-net@m.gmane.org) Received: from list by ciao.gmane.org with local (Exim 4.43) id 1KjCof-00046e-1Q for freebsd-net@freebsd.org; Fri, 26 Sep 2008 12:53:01 +0000 Received: from lara.cc.fer.hr ([161.53.72.113]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 26 Sep 2008 12:53:01 +0000 Received: from ivoras by lara.cc.fer.hr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 26 Sep 2008 12:53:01 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-net@freebsd.org From: Ivan Voras Date: Fri, 26 Sep 2008 14:52:55 +0200 Lines: 64 Message-ID: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig9B9CEF8119C69A8A958451C9" X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: lara.cc.fer.hr User-Agent: Thunderbird 2.0.0.17 (X11/20080925) X-Enigmail-Version: 0.95.0 Sender: news Subject: Intel NIC ARP problem X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 13:05:16 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig9B9CEF8119C69A8A958451C9 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I have a strange problem with a PRO/1000 EB NIC (card=3D0x109615d9 chip=3D0x10968086) built into the motherboard (5000X chipset) that manife= sts itself in NIC stopping responding to ARP packets requesting its address while in Windows XP, after being rebooted from FreeBSD (dual-boot). The sequence is: ** cold boot (after the power has been disconnected from the PSU) into WinXP: NIC works on WinXP ** reboot into FreeBSD: NIC works ** reboot into WinXP: NIC doesn't respond to ARP ** reboot into FreeBSD: NIC works ** reboot into WinXP: NIC doesn't respond to ARP ** cold boot into WinXP: NIC starts working again I found the cold boot resolution by searching the net, apparently it's a semi-known problem: http://www.supermicro.com/support/faqs/faq.cfm?faq=3D7837 - my motherboard isn't the one mentioned on this page but they share the same chipset (Intel 5000X - this is a Xeon-based workstation). I confirmed that it's an ARP issue by two things: - computers with a large ARP timeout can access the machine while the ARP entry is cached at their side - connecting a laptop via crossover to the machine and using arping clearly shows that ARP is responding until reboot from FreeBSD to WinXP. This is a workstation for developing and testing cross-platform software so rebooting between operating systems is common. Any ideas? Software involved: - FreeBSD 8-CURRENT amd64 - WinXP SP3 i386 - For WinXP, tried both the drivers from the motherboard maker (12.4) and the newest available on Intel's web site (13.2.8) dmesg, etc. are available. --------------enig9B9CEF8119C69A8A958451C9 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFI3NsnldnAQVacBcgRAgBvAKDWtiZqtqWxCzi5ThRsQyycA8nCDQCfR2u+ MEQKOA/tapwQRGiHyvSInnU= =YVhd -----END PGP SIGNATURE----- --------------enig9B9CEF8119C69A8A958451C9-- From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 14:05:42 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6488C10656E2 for ; Fri, 26 Sep 2008 14:05:42 +0000 (UTC) (envelope-from steve@ibctech.ca) Received: from ibctech.ca (v6.ibctech.ca [IPv6:2607:f118::b6]) by mx1.freebsd.org (Postfix) with SMTP id 01E4E8FC27 for ; Fri, 26 Sep 2008 14:05:41 +0000 (UTC) (envelope-from steve@ibctech.ca) Received: (qmail 5645 invoked by uid 89); 26 Sep 2008 14:06:21 -0000 Received: from unknown (HELO ?IPv6:2607:f118::5?) (steve@ibctech.ca@2607:f118::5) by 2607:f118::b6 with ESMTPA; 26 Sep 2008 14:06:20 -0000 Message-ID: <48DCEC3E.70303@ibctech.ca> Date: Fri, 26 Sep 2008 10:05:50 -0400 From: Steve Bertrand User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: FreeBSD Net X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: netstat byte/bit confusion X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 14:05:42 -0000 Hey all, I'm experiencing conflicting information on throughput numbers when comparing information garnered via MRTG on a 1000Mbps HP Procurve, and netstat -h -w1 on a server connected to the switch. What I want to know is if netstat in the below case is actually displaying the info in bits, even though it is telling me the result is in bytes: amanda# netstat -h -w1 input (Total) output packets errs bytes packets errs bytes colls 109K 0 90M 200 0 14K 0 104K 0 88M 201 0 14K 0 ^C On a different server running MRTG (FBSD 7.0-STABLE), I have configured it to display in bits/s, and it is showing ~90Mbps. Which one is accurate? I'm trying to evaluate the difference between Cisco Cat 29xx 100Mb switches and this ProCurve GigE 2848 switch. So far, my results are that the 100Mb Cisco can peak and sustain a 98Mbps throughput. The Procurve, unless MRTG is wrong, and netstat output should be 90M*8, I'm far less than impressed. ...or could it be that MRTG is broken/capped at ~100Mbps calculations? Thanks for any insight, Steve From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 16:12:00 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE8481065686 for ; Fri, 26 Sep 2008 16:12:00 +0000 (UTC) (envelope-from jfvogel@gmail.com) Received: from mu-out-0910.google.com (mu-out-0910.google.com [209.85.134.186]) by mx1.freebsd.org (Postfix) with ESMTP id 4A2698FC14 for ; Fri, 26 Sep 2008 16:12:00 +0000 (UTC) (envelope-from jfvogel@gmail.com) Received: by mu-out-0910.google.com with SMTP id i2so849773mue.3 for ; Fri, 26 Sep 2008 09:11:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=1J085nE0PmAZeaDkeswuHSH1YL4WYXKzyDYVyhuThwg=; b=wXYepweoVwyvpw97YoX5qiL6gBBov99G4XDbyeaQW6x2FgffrNimRQ/2GSuTIPNfwY 6k28+Coc4Me0wml+WRhwlGmlGkK9vvCoUAR1D2wmKFycdzGRJjR+aUAPUwAFY+sLV0s4 7zXMvchiQkU232GTz2/ckXIIqmvfhxK3lG3eo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=Okfg5Z3QTUWNdvKI/X8OJZ+toPGXWOce2yjW1yU+8icyXgRFVz/5mSbFUdvoen9DV/ mXQk2fvYUlgD5IxxCwV96c5iW21WRy+hCXLqnfLIIgf7sUIujSRaYp5DWspFKzvjUU+m VEYiMyeLrDV8ElukcoSf4qR2YVd79fnj8t/+E= Received: by 10.180.212.1 with SMTP id k1mr714350bkg.58.1222443548546; Fri, 26 Sep 2008 08:39:08 -0700 (PDT) Received: by 10.180.208.16 with HTTP; Fri, 26 Sep 2008 08:39:08 -0700 (PDT) Message-ID: <2a41acea0809260839m72ee76f6m3e6671c4f0d67f0e@mail.gmail.com> Date: Fri, 26 Sep 2008 08:39:08 -0700 From: "Jack Vogel" To: "Ivan Voras" In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: Cc: freebsd-net@freebsd.org Subject: Re: Intel NIC ARP problem X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 16:12:00 -0000 So, distilling down the data, the problem is booting from FreeBSD into Windows, right? The underlying problem is that the management system is eatting the ARP I believe. It looks like my driver does not clean up something properly on exit, hmmm, I'll have to look into it Ivan. Thanks for the report. Jack On Fri, Sep 26, 2008 at 5:52 AM, Ivan Voras wrote: > I have a strange problem with a PRO/1000 EB NIC (card=0x109615d9 > chip=0x10968086) built into the motherboard (5000X chipset) that manifests > itself in NIC stopping responding to ARP packets requesting its > address while in Windows XP, after being rebooted from FreeBSD > (dual-boot). > > The sequence is: > > ** cold boot (after the power has been disconnected from the PSU) into > WinXP: NIC works on WinXP > ** reboot into FreeBSD: NIC works > ** reboot into WinXP: NIC doesn't respond to ARP > ** reboot into FreeBSD: NIC works > ** reboot into WinXP: NIC doesn't respond to ARP > ** cold boot into WinXP: NIC starts working again > > I found the cold boot resolution by searching the net, apparently it's > a semi-known problem: > http://www.supermicro.com/support/faqs/faq.cfm?faq=7837 - my > motherboard isn't the one mentioned on this page but they share the > same chipset (Intel 5000X - this is a Xeon-based workstation). > > I confirmed that it's an ARP issue by two things: > > - computers with a large ARP timeout can access the machine while > the ARP entry is cached at their side > - connecting a laptop via crossover to the machine and using arping > clearly shows that ARP is responding until reboot from FreeBSD to > WinXP. > > This is a workstation for developing and testing cross-platform > software so rebooting between operating systems is common. Any ideas? > > Software involved: > > - FreeBSD 8-CURRENT amd64 > - WinXP SP3 i386 > - For WinXP, tried both the drivers from the motherboard maker (12.4) > and the newest available on Intel's web site (13.2.8) > > dmesg, etc. are available. > > From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 16:58:52 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09FC11065687 for ; Fri, 26 Sep 2008 16:58:52 +0000 (UTC) (envelope-from 000.fbsd@quip.cz) Received: from elsa.codelab.cz (elsa.codelab.cz [91.103.162.4]) by mx1.freebsd.org (Postfix) with ESMTP id BAD638FC08 for ; Fri, 26 Sep 2008 16:58:51 +0000 (UTC) (envelope-from 000.fbsd@quip.cz) Received: from localhost (localhost.codelab.cz [127.0.0.1]) by elsa.codelab.cz (Postfix) with ESMTP id 6DC6219E027; Fri, 26 Sep 2008 18:40:31 +0200 (CEST) Received: from [192.168.1.2] (r5bb235.net.upc.cz [86.49.61.235]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by elsa.codelab.cz (Postfix) with ESMTPSA id 4061519E02E; Fri, 26 Sep 2008 18:40:29 +0200 (CEST) Message-ID: <48DD109E.9040900@quip.cz> Date: Fri, 26 Sep 2008 18:41:02 +0200 From: Miroslav Lachman <000.fbsd@quip.cz> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 X-Accept-Language: cz, cs, en, en-us MIME-Version: 1.0 To: Steve Bertrand References: <48DCEC3E.70303@ibctech.ca> In-Reply-To: <48DCEC3E.70303@ibctech.ca> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: FreeBSD Net Subject: Re: netstat byte/bit confusion X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 16:58:52 -0000 Steve Bertrand wrote: > Hey all, > > I'm experiencing conflicting information on throughput numbers when > comparing information garnered via MRTG on a 1000Mbps HP Procurve, and > netstat -h -w1 on a server connected to the switch. > > What I want to know is if netstat in the below case is actually > displaying the info in bits, even though it is telling me the result is > in bytes: > > amanda# netstat -h -w1 > input (Total) output > packets errs bytes packets errs bytes colls > 109K 0 90M 200 0 14K 0 > 104K 0 88M 201 0 14K 0 > ^C > > On a different server running MRTG (FBSD 7.0-STABLE), I have configured > it to display in bits/s, and it is showing ~90Mbps. > > Which one is accurate? I'm trying to evaluate the difference between > Cisco Cat 29xx 100Mb switches and this ProCurve GigE 2848 switch. So > far, my results are that the 100Mb Cisco can peak and sustain a 98Mbps > throughput. > > The Procurve, unless MRTG is wrong, and netstat output should be 90M*8, > I'm far less than impressed. > > ...or could it be that MRTG is broken/capped at ~100Mbps calculations? > > Thanks for any insight, If you are using MRTG with SNMP info from switch, be aware of 32 bit counters. If you have high network load on the switch, the counter overflows between two five minutes intervals of MRTG and then MRTG shows inacurate results. (for example 60Mbps instead of 250Mbps peak) Some devices have 64 bit counters and MRTG can be configured to use these. netstat is in bytes AFAIK. Miroslav Lachman From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 17:24:09 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 715AC10656A7 for ; Fri, 26 Sep 2008 17:24:09 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.225]) by mx1.freebsd.org (Postfix) with ESMTP id 41F188FC13 for ; Fri, 26 Sep 2008 17:24:09 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: by rv-out-0506.google.com with SMTP id b25so955733rvf.43 for ; Fri, 26 Sep 2008 10:24:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=tPxBB/0K7oLRf/hp2k+riuQ+kzYQZu5ikyYgh7rLQ/I=; b=uHqEoAU9FWAOAZIhu3+B2/c/2xsRurjBHclQOs28Tq39Jrscw/hr+cFLD15t8tSr/8 VEuUSKdZ/K0Xa8r+jiGV+5j9CSUeXIGsOsCMjc49AP46wKDyZZMnpbePVcHpeBlpNqPk 125uOeKPgXaGkOX9m2i+jI/w7TYzazHmo0b0k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=rOjeJRXvygBjVMf9P3dtMLVYpaPVWdm9EIBboEEwP8Oj+1342UZLjP9msiO/xFnd8h UyU9pGdjYoBInogY4+RMAUoEHZDTrCVHwvEI2CXar0UPfUY5ki237ggyPMHCnH0suYzC Nv8cGgvQgVk6WlfLFuvZjKEiuZ9nY7guqYMGA= Received: by 10.141.1.2 with SMTP id d2mr825426rvi.129.1222448303269; Fri, 26 Sep 2008 09:58:23 -0700 (PDT) Received: by 10.141.159.2 with HTTP; Fri, 26 Sep 2008 09:58:23 -0700 (PDT) Message-ID: <9bbcef730809260958r73927e8et1adf9b0fcd010095@mail.gmail.com> Date: Fri, 26 Sep 2008 18:58:23 +0200 From: "Ivan Voras" Sender: ivoras@gmail.com To: "Jack Vogel" In-Reply-To: <2a41acea0809260839m72ee76f6m3e6671c4f0d67f0e@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <2a41acea0809260839m72ee76f6m3e6671c4f0d67f0e@mail.gmail.com> X-Google-Sender-Auth: f26a2d8618d25522 Cc: freebsd-net@freebsd.org Subject: Re: Intel NIC ARP problem X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 17:24:09 -0000 2008/9/26 Jack Vogel : > So, distilling down the data, the problem is booting from > FreeBSD into Windows, right? > > The underlying problem is that the management system > is eatting the ARP I believe. It looks like my driver does > not clean up something properly on exit, hmmm, I'll have > to look into it Ivan. Thanks for the report. Thank you for your quick response! As far as I know there's no management board installed (or at least none that I recognize - IPMI and the like), if it helps you somehow. From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 17:46:34 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6C651065691 for ; Fri, 26 Sep 2008 17:46:34 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id BA6648FC1B for ; Fri, 26 Sep 2008 17:46:33 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id m8QHkV5Y094266 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 26 Sep 2008 10:46:33 -0700 (PDT) (envelope-from sam@freebsd.org) Message-ID: <48DD1FF6.6010608@freebsd.org> Date: Fri, 26 Sep 2008 10:46:30 -0700 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.9 (X11/20071125) MIME-Version: 1.0 To: Wayne Hendricks References: <3b965dec0809252258t15722eecn29494431bced3061@mail.gmail.com> In-Reply-To: <3b965dec0809252258t15722eecn29494431bced3061@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC--Metrics: ebb.errno.com; whitelist Cc: freebsd-net@freebsd.org Subject: Re: Hostapd network issue X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 17:46:34 -0000 Wayne Hendricks wrote: > I have been trying to make hostapd work with wifi card in my gateway box. > WPA stays working for only a short time before hostapd locks up and needs to > be restarted. I believe the hosapd config is fine, shows no errors. > Running 7.0-RELEASE-p4 amd64 with mini-pci Atheros 5212 chipset. I have > included the hostapd debug output below. What is this ioctl[SIOCS80211] > weirdness? > > Configuration file: /etc/hostapd.conf > ctrl_interface_group=0 (from group name 'wheel') > bsd_set_iface_flags: dev_up=0 > BSS count 1, BSSID mask ff:ff:ff:ff:ff:ff (0 bits) > ath0: IEEE 802.11 Fetching hardware channel/rate support not supported. > Flushing old station entries > bsd_sta_deauth: addr=ff:ff:ff:ff:ff:ff reason_code=3 > Deauthenticate all stations > bsd_set_privacy: enabled=0 > Mode: IEEE 802.11g Channel: 11 Frequency: 0 MHz > bsd_del_key: addr=00:00:00:00:00:00 key_idx=0 > bsd_del_key: addr=00:00:00:00:00:00 key_idx=1 > bsd_del_key: addr=00:00:00:00:00:00 key_idx=2 > bsd_del_key: addr=00:00:00:00:00:00 key_idx=3 > bsd_get_ssid: ssid="bsdap" > Using interface ath0 with hwaddr 00:90:96:6b:0f:c6 and ssid 'bsdap' > SSID - hexdump_ascii(len=9): > 52 4e 73 65 63 75 72 65 47 bsdap > PSK (ASCII passphrase) - hexdump_ascii(len=12): > 65 74 68 65 72 61 70 65 31 31 31 36 mypassphrase > PSK (from passphrase) - hexdump(len=32): 17 ae 54 6a a7 c4 fc ce e2 d4 2e 07 > 0d 08 09 56 41 d3 a4 6a d2 18 26 d1 36 22 56 fe a0 > af 26 43 > bsd_set_ieee8021x: enabled=1 > bsd_configure_wpa: group key cipher=TKIP (1) > bsd_configure_wpa: pairwise key ciphers=0xa > bsd_configure_wpa: key management algorithms=0x2 > bsd_configure_wpa: rsn capabilities=0x0 > bsd_configure_wpa: enable WPA= 0x1 > bsd_set_iface_flags: dev_up=1 > WPA: group state machine entering state GTK_INIT (VLAN-ID 0) > GMK - hexdump(len=32): [REMOVED] > GTK - hexdump(len=32): [REMOVED] > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) > bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 > bsd_set_privacy: enabled=1 > ath0: Setup of interface done. > ath0: STA 00:1e:c2:bf:74:60 IEEE 802.11: associated > New STA > ath0: STA 00:1e:c2:bf:74:60 WPA: event 1 notification > bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 > ath0: STA 00:1e:c2:bf:74:60 WPA: start authentication > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITIALIZE > bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 > bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=0 > ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: unauthorizing port > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state AUTHENTICATION > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state AUTHENTICATION2 > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITPSK > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKSTART > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/4 msg of 4-Way Handshake > WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 keyidx=0 > encr=0) > TX EAPOL - hexdump(len=113): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 03 > 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 9f 2b fa 4e 6e 00 d2 a0 fd > 9e f0 c1 fd be 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 > IEEE 802.1X: 123 bytes from 00:1e:c2:bf:74:60 > IEEE 802.1X: version=1 type=3 length=119 > ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/4 Pairwise) > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKCALCNEGOTIATING > PMK - hexdump(len=32): [REMOVED] > PTK - hexdump(len=64): [REMOVED] > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKCALCNEGOTIATING2 > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKINITNEGOTIATING > bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 3/4 msg of 4-Way Handshake > WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 > keyidx=0 encr=0) > TX EAPOL - hexdump(len=141): 00 1e c2 bf 74 60 00 00 96 6b 0f c6 88 8e 02 03 > 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd be 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cf 86 6a 87 74 59 > 72 dc 2f 01 f9 8b b4 20 51 1f 00 1c dd 1a 00 50 f2 0 > 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2 02 > IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 > IEEE 802.1X: version=1 type=3 length=95 > ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (4/4 Pairwise) > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKINITDONE > bsd_set_key: alg=CCMP addr=00:1e:c2:bf:74:60 key_idx=0 > bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=1 > ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: authorizing port > bsd_sta_clear_stats: addr=00:1e:c2:bf:74:60 > ath0: STA 00:1e:c2:bf:74:60 WPA: pairwise key handshake completed (WPA) > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING > bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=1 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 3b 0f c6 88 8e 02 03 > 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 d8 ba b9 34 15 > fd ae 04 7c 59 05 d4 08 70 4c 00 28 36 25 48 ae 3c 8 > d ad 9b 27 20 45 68 36 d7 57 ba 57 49 0f 7d e9 2b 1d 6b b5 21 c1 a4 e5 77 fc > 57 fd 57 c1 90 be a2 50 a4 > ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING > bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=1 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 46 6b 0f c6 88 8e 02 03 > 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 04 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0 3a d0 8a fd 74 > 2d 9a cf ba eb 75 56 26 71 63 00 28 36 25 48 ae 3c 8 > d ad 9b 27 20 45 68 36 d7 57 ba 57 49 0f 7d e9 2b 1d 6b b5 21 c1 a4 e5 77 fc > 37 fd 57 c1 00 be a2 50 a4 > IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 > IEEE 802.1X: version=1 type=3 length=95 > ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED > ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE > Checking STA 00:1e:c2:bf:74:60 inactivity: > Station has been active > ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: associated > New STA > ath0: STA 00:21:e9:6e:98:d0 WPA: event 1 notification > bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 > ath0: STA 00:21:e9:6e:98:d0 WPA: start authentication > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE > bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 > bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 > ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port > WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION2 > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITPSK > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKSTART > ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/4 msg of 4-Way Handshake > WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 keyidx=0 > encr=0) > TX EAPOL - hexdump(len=113): 00 21 e9 6e 68 d0 00 90 96 6b 0f c6 58 8e 02 03 > 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd bf 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 > IEEE 802.1X: 123 bytes from 00:21:e9:6e:98:d0 > IEEE 802.1X: version=1 type=3 length=119 > ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/4 Pairwise) > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING > PMK - hexdump(len=32): [REMOVED] > PTK - hexdump(len=64): [REMOVED] > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING2 > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITNEGOTIATING > bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 > ath0: STA 00:21:e9:6e:98:d0 WPA: sending 3/4 msg of 4-Way Handshake > WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 > keyidx=0 encr=0) > TX EAPOL - hexdump(len=141): 00 21 e9 6e 98 d0 00 90 96 6b 0f c5 88 8e 02 03 > 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd bf 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e2 55 c7 5a e3 2d > 7a 54 f2 6d f0 7b 9f cc ca b3 00 1c dd 1a 00 50 f2 0 > 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2 02 > IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 > IEEE 802.1X: version=1 type=3 length=95 > ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (4/4 Pairwise) > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITDONE > bsd_set_key: alg=CCMP addr=00:21:e9:6e:98:d0 key_idx=0 > bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=1 > ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: authorizing port > bsd_sta_clear_stats: addr=00:21:e9:6e:98:d0 > ath0: STA 00:21:e9:6e:98:d0 WPA: pairwise key handshake completed (WPA) > WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING > bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 > ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=1 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 21 e9 6e 98 d0 00 90 96 6b 0f c6 68 8e 02 03 > 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bb 76 69 1b 31 76 > d5 81 87 d1 fb f5 ac 85 f1 d7 00 28 f6 9f 0d ca 6e 4 > b 9c 54 56 98 09 75 79 a1 35 b0 90 a2 77 33 48 3e 5c 5d 03 cc 8e 6b 1c 10 cd > af a5 66 58 5f d2 fb 3d 48 > ath0: STA 00:21:e9:6e:98:d0 WPA: EAPOL-Key timeout > WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING > bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 > ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=1 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 21 e9 6e 98 d0 00 90 96 6b 0f c6 88 8e 02 03 > 00 47 fe 03 92 00 20 00 00 00 00 00 00 00 04 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ec 85 4f 9e d0 f7 > 89 9c a5 aa da f7 94 32 96 1b 00 28 f6 9f 0d ca 6e 4 > b 9c 54 56 98 09 75 79 a1 35 b0 90 a2 77 33 48 3e 5c 5d 03 cc 3e 6b 1c 10 cd > af a5 96 58 5f d2 fb 3d 48 > IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 > IEEE 802.1X: version=1 type=3 length=95 > ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/2 Group) > WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYESTABLISHED > ath0: STA 00:21:e9:6e:98:d0 WPA: group key handshake completed (WPA) > WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE > ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: deassociated > ath0: STA 00:21:e9:6e:98:d0 WPA: event 2 notification > bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state DISCONNECTED > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE > bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 > bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 > ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port > Could not set station 00:21:e9:6e:98:d0 flags for kernel driver (errno=22). > ath0: WPA rekeying GTK > WPA: group state machine entering state SETKEYS (VLAN-ID 0) > GMK - hexdump(len=32): [REMOVED] > GTK - hexdump(len=32): [REMOVED] > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=2 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 3b 0f c6 88 8e 02 03 > 00 87 fe 03 a2 00 20 00 00 00 00 00 00 00 05 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 21 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd c0 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2e 4a 9b 73 a4 2a > 85 58 43 ea 4b 26 39 52 da 0b 00 28 97 d8 b5 38 1a 9 > 9 dc 43 65 b5 bd ac 8c 7e 35 2c 12 7c 55 d4 79 0a 54 68 4c 5c 59 36 5b f6 69 > 31 ad 4a 90 ff 81 be c6 4f > IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 > IEEE 802.1X: version=1 type=3 length=95 > ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED > ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) > bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE > Checking STA 00:1e:c2:bf:74:60 inactivity: > Station has been active > Checking STA 00:1e:c2:bf:74:60 inactivity: > Station has been active > ath0: WPA rekeying GTK > WPA: group state machine entering state SETKEYS (VLAN-ID 0) > GMK - hexdump(len=32): [REMOVED] > GTK - hexdump(len=32): [REMOVED] > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=1 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 76 6b 0f c6 88 8e 02 03 > 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 06 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd c1 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 16 82 a2 6d > 95 4d 6b 3c ce 5b 05 47 76 55 00 28 7a a2 9a 85 ef a > f a9 be 86 56 94 45 a3 ab b8 a5 b3 d5 44 3b a4 d3 9f 7b 3d ea 97 e6 c3 ed 9e > 42 da 4b 91 2d fd 7f 1e 8d > IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 > IEEE 802.1X: version=1 type=3 length=95 > ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED > ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) > bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE > Checking STA 00:1e:c2:bf:74:60 inactivity: > Station has been active > ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: associated > New STA > ath0: STA 00:21:e9:6e:98:d0 WPA: event 1 notification > bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 > ath0: STA 00:21:e9:6e:98:d0 WPA: start authentication > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE > bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 > bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 > ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port > WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION2 > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITPSK > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKSTART > ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/4 msg of 4-Way Handshake > WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 keyidx=0 > encr=0) > TX EAPOL - hexdump(len=113): 00 21 e9 6e 98 d0 00 30 96 6b 0f c6 88 8e 02 03 > 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 3b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd c2 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 > IEEE 802.1X: 123 bytes from 00:21:e9:6e:98:d0 > IEEE 802.1X: version=1 type=3 length=119 > ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/4 Pairwise) > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING > PMK - hexdump(len=32): [REMOVED] > PTK - hexdump(len=64): [REMOVED] > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING2 > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITNEGOTIATING > bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 > ath0: STA 00:21:e9:6e:98:d0 WPA: sending 3/4 msg of 4-Way Handshake > WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 > keyidx=0 encr=0) > TX EAPOL - hexdump(len=141): 00 21 e9 6e 78 d0 00 90 96 6b 0f c6 88 8e 02 03 > 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd c2 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 19 95 a0 4e 64 c6 > 43 6c e9 8c 02 ef 75 27 f9 e5 00 1c dd 1a 00 50 f2 0 > 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 40 f2 02 > IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 > IEEE 802.1X: version=1 type=3 length=95 > ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (4/4 Pairwise) > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITDONE > bsd_set_key: alg=CCMP addr=00:21:e9:6e:98:d0 key_idx=0 > bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=1 > ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: authorizing port > bsd_sta_clear_stats: addr=00:21:e9:6e:98:d0 > ath0: STA 00:21:e9:6e:98:d0 WPA: pairwise key handshake completed (WPA) > WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING > bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 > ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=1 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 21 e9 6e 08 d0 00 90 96 6b 0f c6 88 5e 02 03 > 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd c1 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 dc 19 fc 24 e2 > 56 37 16 14 5a 0b 00 25 c2 47 00 28 78 92 48 df 3b e > f 3c d7 25 82 34 d2 32 7d 1f cc 12 d1 4e c0 89 dc 29 80 88 45 95 27 13 49 b0 > da ef f9 c9 fd f0 52 a9 b5 > IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 > IEEE 802.1X: version=1 type=3 length=95 > ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/2 Group) > WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYESTABLISHED > ath0: STA 00:21:e9:6e:98:d0 WPA: group key handshake completed (WPA) > WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE > ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: deassociated > ath0: STA 00:21:e9:6e:98:d0 WPA: event 2 notification > bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state DISCONNECTED > WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE > bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 > bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 > ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port > Could not set station 00:21:e9:6e:98:d0 flags for kernel driver (errno=22). > Checking STA 00:1e:c2:bf:74:60 inactivity: > Station has been active > ath0: WPA rekeying GTK > WPA: group state machine entering state SETKEYS (VLAN-ID 0) > GMK - hexdump(len=32): [REMOVED] > GTK - hexdump(len=32): [REMOVED] > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=2 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 78 8e 02 03 > 00 87 fe 03 a2 00 20 00 00 00 00 00 00 00 07 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd c3 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0 00 be eb 48 36 > b5 ad 1f 17 bc 64 ca 6b c8 ca 00 28 8a 2b 24 9f ee 4 > 4 0f e7 4a ad a8 55 62 cd b9 d0 69 cc af e4 94 01 aa d8 e9 cf cc a7 ed 6e e0 > 90 b5 3c 35 1a ae 2e 32 d7 > IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 > IEEE 802.1X: version=1 type=3 length=95 > ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED > ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) > bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE > Checking STA 00:1e:c2:bf:74:60 inactivity: > Station has been active > Checking STA 00:1e:c2:bf:74:60 inactivity: > Station has been active > ath0: WPA rekeying GTK > WPA: group state machine entering state SETKEYS (VLAN-ID 0) > GMK - hexdump(len=32): [REMOVED] > GTK - hexdump(len=32): [REMOVED] > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=1 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 40 00 90 96 6b 0f c6 88 8e 02 03 > 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 08 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c1 50 c3 fa 32 83 > f8 05 c4 c3 78 e5 cf 48 25 79 00 28 10 4a c3 91 12 2 > f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec 97 > 54 a3 60 a9 d7 73 20 6d f1 > ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=1 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 03 > 00 87 fe 03 92 00 10 00 00 00 00 00 00 00 09 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 b1 39 72 aa d0 > 25 02 a4 5b 01 55 a9 c6 5b cf 00 28 10 4a c3 91 12 2 > f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec 57 > 54 a3 60 a9 d7 73 20 6d f1 > ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=1 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 98 8e 02 03 > 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 0a 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 79 9c 20 34 dd > 26 28 c7 c2 6f a3 1c a4 03 44 00 28 10 4a c3 91 12 2 > f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec 57 > 54 a3 60 a9 d7 73 20 6d f1 > ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING > ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake > WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 > keyidx=1 encr=1) > Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] > TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 03 > 00 87 fe 03 02 00 20 00 00 00 00 00 00 00 0b 1c c4 > 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd > 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 91 86 ea b0 4b 7f > c5 2b 2c 9c b2 94 67 d4 e6 14 00 28 10 4a c3 91 12 2 > f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec 57 > 54 a3 60 a8 d7 73 20 6d f1 > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state KEYERROR > The sta didn't complete the group key handshake. I don't see a timeout msg so not sure exactly why. > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) > bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state DISCONNECT > hostapd_wpa_auth_disconnect: WPA authenticator requests disconnect: STA > 00:1e:c2:bf:74:60 reason 2 > bsd_sta_deauth: addr=00:1e:c2:bf:74:60 reason_code=2 > hostapd dropped the station. > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state DISCONNECTED > WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITIALIZE > bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 > bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=0 > ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: unauthorizing port > Could not set station 00:1e:c2:bf:74:60 flags for kernel driver (errno=22). > ath0: STA 00:1e:c2:bf:74:60 IEEE 802.11: deauthenticated due to local deauth > request > GMK - hexdump(len=32): [REMOVED] > GTK - hexdump(len=32): [REMOVED] > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) > bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 > ath0: WPA rekeying GTK > WPA: group state machine entering state SETKEYS (VLAN-ID 0) > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) > bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 > ath0: WPA rekeying GTK > WPA: group state machine entering state SETKEYS (VLAN-ID 0) > GMK - hexdump(len=32): [REMOVED] > GTK - hexdump(len=32): [REMOVED] > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) > bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 > ath0: WPA rekeying GTK > WPA: group state machine entering state SETKEYS (VLAN-ID 0) > GMK - hexdump(len=32): [REMOVED] > GTK - hexdump(len=32): [REMOVED] > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) > bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 > ath0: WPA rekeying GTK > WPA: group state machine entering state SETKEYS (VLAN-ID 0) > GMK - hexdump(len=32): [REMOVED] > GTK - hexdump(len=32): [REMOVED] > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) > bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 > ioctl[SIOCS80211]: No such file or directory > ioctl[SIOCS80211]: No such file or directory > ioctl[SIOCS80211]: Invalid argument > ioctl[SIOCS80211]: No such file or directory > ioctl[SIOCS80211]: No such file or directory > ioctl[SIOCS80211]: Invalid argument > ioctl[SIOCS80211]: No such file or directory > ioctl[SIOCS80211]: Invalid argument > hostapd was notified by net80211 the station went away so it tried to purge any keys but state was already gone. This is normal and the msgs can be ignored. > Signal 2 received - terminating > You hit ^C and stopped hostapd. > Flushing old station entries > bsd_sta_deauth: addr=ff:ff:ff:ff:ff:ff reason_code=3 > Deauthenticate all stations > bsd_set_privacy: enabled=0 > bsd_set_ieee8021x: enabled=0 > bsd_set_iface_flags: dev_up=0 > _______________________________________________ > There is nothing unusual in the log. Your problems are likely lower; e.g. loss of communication between the ap and sta. Sam From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 17:58:22 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E6B010656A6 for ; Fri, 26 Sep 2008 17:58:22 +0000 (UTC) (envelope-from toasty@dragondata.com) Received: from tokyo01.jp.mail.your.org (tokyo01.jp.mail.your.org [204.9.54.5]) by mx1.freebsd.org (Postfix) with ESMTP id 600288FC4E for ; Fri, 26 Sep 2008 17:58:22 +0000 (UTC) (envelope-from toasty@dragondata.com) Received: from tokyo01.jp.mail.your.org (localhost.your.org [127.0.0.1]) by tokyo01.jp.mail.your.org (Postfix) with ESMTP id 4528C2AD57A1 for ; Fri, 26 Sep 2008 17:42:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=dragondata.com; h= message-id:from:to:content-type:content-transfer-encoding :mime-version:subject:date; s=selector1; bh=UBoyDPNCumHotktUO+Hz O2ODjAg=; b=5y5XyqYPFTKnNPyBzZImzVHp4k/QktqIkYHkBbsy9O9ZYA6AJGmA lfvbe4ogQQ+jmLW2OffAgv/AU1nSyqGNRsqCfePciqEVKuhLYOiG0stRY9rbwMqS +6ToVYLbed1Wh7FU7jJCF3+DM+GFthmSybFdh+rf8aH75YjhFHP0Fnc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=dragondata.com; h=message-id:from :to:content-type:content-transfer-encoding:mime-version:subject: date; q=dns; s=selector1; b=n4yC14w0xlnWG8ILhgV/LnLIer1Ry2kFcAhp r4XNRxpDKNWLrKKMkjVbAx+sivS57apgM5Y6JYDH6lyD4rvPN+j40vZFm1zk7aLQ JeikgGGGktDCud5bkEfF4IVTOr605rknUPM6+O6pxT+C3RXIEix0l825wJeH+WSb z5rqcHU= Received: from mail.your.org (server3-a.your.org [64.202.112.67]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by tokyo01.jp.mail.your.org (Postfix) with ESMTPS id 08ED82AD57A0 for ; Fri, 26 Sep 2008 17:42:03 +0000 (UTC) Received: from [216.14.99.244] (unknown [216.14.99.244]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.your.org (Postfix) with ESMTPSA id 7C51AA0A79E for ; Fri, 26 Sep 2008 17:42:01 +0000 (UTC) Message-Id: <81F28D26-4E90-4C6F-94DB-FB834F3B78F9@dragondata.com> From: Kevin Day To: freebsd-net@freebsd.org Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v929.2) Date: Fri, 26 Sep 2008 12:41:56 -0500 X-Mailer: Apple Mail (2.929.2) Subject: sfbufs on amd64? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 17:58:22 -0000 When using sendfile() on an amd64 box, are sfbufs still used/needed? The reason I ask: # netstat -m 0/0/0 sfbufs in use (current/peak/max) 0 requests for sfbufs denied 0 requests for sfbufs delayed 1334122 requests for I/O initiated by sendfile kern.ipc.nsfbufsused: 0 kern.ipc.nsfbufspeak: 0 kern.ipc.nsfbufs: 0 Does sendfile work differently on amd64 so that sfbufs aren't needed, or is this a statistics issue? This is in 7.0-RELEASE, btw. -- Kevin From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 18:10:07 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB73D106568C for ; Fri, 26 Sep 2008 18:10:07 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.delphij.net (delphij-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:2c9::2]) by mx1.freebsd.org (Postfix) with ESMTP id 627EE8FC1C for ; Fri, 26 Sep 2008 18:10:07 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.geekcn.org (tarsier.geekcn.org [211.166.10.233]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tarsier.delphij.net (Postfix) with ESMTPS id 89E0728449 for ; Sat, 27 Sep 2008 02:10:06 +0800 (CST) Received: from localhost (tarsier.geekcn.org [211.166.10.233]) by tarsier.geekcn.org (Postfix) with ESMTP id 1EBB2F67B70; Sat, 27 Sep 2008 02:10:06 +0800 (CST) X-Virus-Scanned: amavisd-new at geekcn.org Received: from tarsier.geekcn.org ([211.166.10.233]) by localhost (mail.geekcn.org [211.166.10.233]) (amavisd-new, port 10024) with ESMTP id ZAZndxgPoFkj; Sat, 27 Sep 2008 02:10:01 +0800 (CST) Received: from charlie.delphij.net (c-76-103-40-85.hsd1.ca.comcast.net [76.103.40.85]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tarsier.geekcn.org (Postfix) with ESMTPSA id D93CFEDCF78; Sat, 27 Sep 2008 02:09:58 +0800 (CST) DomainKey-Signature: a=rsa-sha1; s=default; d=delphij.net; c=nofws; q=dns; h=message-id:date:from:reply-to:organization:user-agent: mime-version:to:cc:subject:references:in-reply-to: x-enigmail-version:openpgp:content-type:content-transfer-encoding; b=HhF1P/Q5F7/8N3yLsD5tyREyKUqDFp+OFGeJkCb3s+6LhGbLPB+JwaoRFBLXc+6oU PQbwCXszOU/Gjnwg9/F2w== Message-ID: <48DD2572.4000001@delphij.net> Date: Fri, 26 Sep 2008 11:09:54 -0700 From: Xin LI Organization: The FreeBSD Project User-Agent: Thunderbird 2.0.0.16 (X11/20080725) MIME-Version: 1.0 To: Kevin Day References: <81F28D26-4E90-4C6F-94DB-FB834F3B78F9@dragondata.com> In-Reply-To: <81F28D26-4E90-4C6F-94DB-FB834F3B78F9@dragondata.com> X-Enigmail-Version: 0.95.7 OpenPGP: id=18EDEBA0; url=http://www.delphij.net/delphij.asc Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: sfbufs on amd64? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: d@delphij.net List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 18:10:07 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Kevin Day wrote: > > When using sendfile() on an amd64 box, are sfbufs still used/needed? The > reason I ask: > > # netstat -m > 0/0/0 sfbufs in use (current/peak/max) > 0 requests for sfbufs denied > 0 requests for sfbufs delayed > 1334122 requests for I/O initiated by sendfile > > kern.ipc.nsfbufsused: 0 > kern.ipc.nsfbufspeak: 0 > kern.ipc.nsfbufs: 0 > > > Does sendfile work differently on amd64 so that sfbufs aren't needed, or > is this a statistics issue? > > This is in 7.0-RELEASE, btw. - From FreeBSD 7.0-RELEASE, the system gets the ability to make use of amd64-specific technique that eliminates the need of allocating sfbufs and avoids the copying. That's say, sendfile would work without needing to separately allocating sfbufs and this would be much faster than the old approach. Cheers, - -- Xin LI http://www.delphij.net/ FreeBSD - The Power to Serve! -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (FreeBSD) iEYEARECAAYFAkjdJXIACgkQi+vbBBjt66AatQCdG2KI6HcG+S5k2n56ZwevjbM1 kY0AoKF0fGHZmOrWuwQvsS1mU8/QTzyS =7oMA -----END PGP SIGNATURE----- From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 19:45:39 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 22C671065692 for ; Fri, 26 Sep 2008 19:45:39 +0000 (UTC) (envelope-from waynehendricks@gmail.com) Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.177]) by mx1.freebsd.org (Postfix) with ESMTP id E5F7A8FC0A for ; Fri, 26 Sep 2008 19:45:38 +0000 (UTC) (envelope-from waynehendricks@gmail.com) Received: by wa-out-1112.google.com with SMTP id n4so575836wag.27 for ; Fri, 26 Sep 2008 12:45:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type:references; bh=aiY+Ss4uZIew59xvL5suS06rE/cVBDW28Ikj4X1QRj4=; b=Xgg8M/tFiAa3YRFuosc2ETmP+9hiqtyFPV+d9iqswdM1bxm3eNF/h5FtLXkUZz4Hoc pmWVWBcjczgmxs/EU322UwvnFC2keOLGwNxKwPKzwnLNI8pPah+40wq79wkjdLdHmpl4 8z6Gvm8XxhpEYwW/q8YqrumOS3rxQjbzOwTQ0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:references; b=QnGRcWZ/2iso9PMR59mx8YsPM+d5P4jKcABfuIXmrRK7JFIZw5DJFy8+nC4dZzpHlP TdOgeyKXCO5jMfOijaBR3bSTdhXwSD0C4dh7hC0Ib9wvxg1B1SKvM1TLBiBY/Usif3Sf yaVCOSVYgYU73tfB3kQj19vW0pqsRb7eF4khE= Received: by 10.115.107.5 with SMTP id j5mr1963127wam.193.1222458337987; Fri, 26 Sep 2008 12:45:37 -0700 (PDT) Received: by 10.114.190.16 with HTTP; Fri, 26 Sep 2008 12:45:37 -0700 (PDT) Message-ID: <3b965dec0809261245s332043ecm8c2abd42c76995ef@mail.gmail.com> Date: Fri, 26 Sep 2008 14:45:37 -0500 From: "Wayne Hendricks" To: "Sam Leffler" In-Reply-To: <48DD1FF6.6010608@freebsd.org> MIME-Version: 1.0 References: <3b965dec0809252258t15722eecn29494431bced3061@mail.gmail.com> <48DD1FF6.6010608@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-net@freebsd.org Subject: Re: Hostapd network issue X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 19:45:39 -0000 Well, the ap and sta are right next to each other. The sta is a MacBook Pro. After a few minutes, hostapd freezes and the sta will not reconnect at all. Odd. I think i may switch cards and see if it helps. On Fri, Sep 26, 2008 at 12:46 PM, Sam Leffler wrote: > Wayne Hendricks wrote: > >> I have been trying to make hostapd work with wifi card in my gateway box. >> WPA stays working for only a short time before hostapd locks up and needs >> to >> be restarted. I believe the hosapd config is fine, shows no errors. >> Running 7.0-RELEASE-p4 amd64 with mini-pci Atheros 5212 chipset. I have >> included the hostapd debug output below. What is this ioctl[SIOCS80211] >> weirdness? >> >> Configuration file: /etc/hostapd.conf >> ctrl_interface_group=0 (from group name 'wheel') >> bsd_set_iface_flags: dev_up=0 >> BSS count 1, BSSID mask ff:ff:ff:ff:ff:ff (0 bits) >> ath0: IEEE 802.11 Fetching hardware channel/rate support not supported. >> Flushing old station entries >> bsd_sta_deauth: addr=ff:ff:ff:ff:ff:ff reason_code=3 >> Deauthenticate all stations >> bsd_set_privacy: enabled=0 >> Mode: IEEE 802.11g Channel: 11 Frequency: 0 MHz >> bsd_del_key: addr=00:00:00:00:00:00 key_idx=0 >> bsd_del_key: addr=00:00:00:00:00:00 key_idx=1 >> bsd_del_key: addr=00:00:00:00:00:00 key_idx=2 >> bsd_del_key: addr=00:00:00:00:00:00 key_idx=3 >> bsd_get_ssid: ssid="bsdap" >> Using interface ath0 with hwaddr 00:90:96:6b:0f:c6 and ssid 'bsdap' >> SSID - hexdump_ascii(len=9): >> 52 4e 73 65 63 75 72 65 47 bsdap >> PSK (ASCII passphrase) - hexdump_ascii(len=12): >> 65 74 68 65 72 61 70 65 31 31 31 36 mypassphrase >> PSK (from passphrase) - hexdump(len=32): 17 ae 54 6a a7 c4 fc ce e2 d4 2e >> 07 >> 0d 08 09 56 41 d3 a4 6a d2 18 26 d1 36 22 56 fe a0 >> af 26 43 >> bsd_set_ieee8021x: enabled=1 >> bsd_configure_wpa: group key cipher=TKIP (1) >> bsd_configure_wpa: pairwise key ciphers=0xa >> bsd_configure_wpa: key management algorithms=0x2 >> bsd_configure_wpa: rsn capabilities=0x0 >> bsd_configure_wpa: enable WPA= 0x1 >> bsd_set_iface_flags: dev_up=1 >> WPA: group state machine entering state GTK_INIT (VLAN-ID 0) >> GMK - hexdump(len=32): [REMOVED] >> GTK - hexdump(len=32): [REMOVED] >> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >> bsd_set_privacy: enabled=1 >> ath0: Setup of interface done. >> ath0: STA 00:1e:c2:bf:74:60 IEEE 802.11: associated >> New STA >> ath0: STA 00:1e:c2:bf:74:60 WPA: event 1 notification >> bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 >> ath0: STA 00:1e:c2:bf:74:60 WPA: start authentication >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITIALIZE >> bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 >> bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=0 >> ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: unauthorizing port >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state AUTHENTICATION >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state AUTHENTICATION2 >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITPSK >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKSTART >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/4 msg of 4-Way Handshake >> WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 >> keyidx=0 >> encr=0) >> TX EAPOL - hexdump(len=113): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 >> 03 >> 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 9f 2b fa 4e 6e 00 d2 a0 fd >> 9e f0 c1 fd be 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 >> IEEE 802.1X: 123 bytes from 00:1e:c2:bf:74:60 >> IEEE 802.1X: version=1 type=3 length=119 >> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/4 Pairwise) >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKCALCNEGOTIATING >> PMK - hexdump(len=32): [REMOVED] >> PTK - hexdump(len=64): [REMOVED] >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKCALCNEGOTIATING2 >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKINITNEGOTIATING >> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 3/4 msg of 4-Way Handshake >> WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 >> keyidx=0 encr=0) >> TX EAPOL - hexdump(len=141): 00 1e c2 bf 74 60 00 00 96 6b 0f c6 88 8e 02 >> 03 >> 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd be 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cf 86 6a 87 74 >> 59 >> 72 dc 2f 01 f9 8b b4 20 51 1f 00 1c dd 1a 00 50 f2 0 >> 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2 02 >> IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 >> IEEE 802.1X: version=1 type=3 length=95 >> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (4/4 Pairwise) >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKINITDONE >> bsd_set_key: alg=CCMP addr=00:1e:c2:bf:74:60 key_idx=0 >> bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=1 >> ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: authorizing port >> bsd_sta_clear_stats: addr=00:1e:c2:bf:74:60 >> ath0: STA 00:1e:c2:bf:74:60 WPA: pairwise key handshake completed (WPA) >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=1 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 3b 0f c6 88 8e 02 >> 03 >> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 d8 ba b9 34 >> 15 >> fd ae 04 7c 59 05 d4 08 70 4c 00 28 36 25 48 ae 3c 8 >> d ad 9b 27 20 45 68 36 d7 57 ba 57 49 0f 7d e9 2b 1d 6b b5 21 c1 a4 e5 77 >> fc >> 57 fd 57 c1 90 be a2 50 a4 >> ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=1 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 46 6b 0f c6 88 8e 02 >> 03 >> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 04 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0 3a d0 8a fd >> 74 >> 2d 9a cf ba eb 75 56 26 71 63 00 28 36 25 48 ae 3c 8 >> d ad 9b 27 20 45 68 36 d7 57 ba 57 49 0f 7d e9 2b 1d 6b b5 21 c1 a4 e5 77 >> fc >> 37 fd 57 c1 00 be a2 50 a4 >> IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 >> IEEE 802.1X: version=1 type=3 length=95 >> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED >> ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >> Checking STA 00:1e:c2:bf:74:60 inactivity: >> Station has been active >> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: associated >> New STA >> ath0: STA 00:21:e9:6e:98:d0 WPA: event 1 notification >> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >> ath0: STA 00:21:e9:6e:98:d0 WPA: start authentication >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE >> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 >> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port >> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION2 >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITPSK >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKSTART >> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/4 msg of 4-Way Handshake >> WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 >> keyidx=0 >> encr=0) >> TX EAPOL - hexdump(len=113): 00 21 e9 6e 68 d0 00 90 96 6b 0f c6 58 8e 02 >> 03 >> 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd bf 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 >> IEEE 802.1X: 123 bytes from 00:21:e9:6e:98:d0 >> IEEE 802.1X: version=1 type=3 length=119 >> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/4 Pairwise) >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING >> PMK - hexdump(len=32): [REMOVED] >> PTK - hexdump(len=64): [REMOVED] >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING2 >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITNEGOTIATING >> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 3/4 msg of 4-Way Handshake >> WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 >> keyidx=0 encr=0) >> TX EAPOL - hexdump(len=141): 00 21 e9 6e 98 d0 00 90 96 6b 0f c5 88 8e 02 >> 03 >> 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd bf 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e2 55 c7 5a e3 >> 2d >> 7a 54 f2 6d f0 7b 9f cc ca b3 00 1c dd 1a 00 50 f2 0 >> 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2 02 >> IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 >> IEEE 802.1X: version=1 type=3 length=95 >> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (4/4 Pairwise) >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITDONE >> bsd_set_key: alg=CCMP addr=00:21:e9:6e:98:d0 key_idx=0 >> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=1 >> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: authorizing port >> bsd_sta_clear_stats: addr=00:21:e9:6e:98:d0 >> ath0: STA 00:21:e9:6e:98:d0 WPA: pairwise key handshake completed (WPA) >> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=1 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 21 e9 6e 98 d0 00 90 96 6b 0f c6 68 8e 02 >> 03 >> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bb 76 69 1b 31 >> 76 >> d5 81 87 d1 fb f5 ac 85 f1 d7 00 28 f6 9f 0d ca 6e 4 >> b 9c 54 56 98 09 75 79 a1 35 b0 90 a2 77 33 48 3e 5c 5d 03 cc 8e 6b 1c 10 >> cd >> af a5 66 58 5f d2 fb 3d 48 >> ath0: STA 00:21:e9:6e:98:d0 WPA: EAPOL-Key timeout >> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=1 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 21 e9 6e 98 d0 00 90 96 6b 0f c6 88 8e 02 >> 03 >> 00 47 fe 03 92 00 20 00 00 00 00 00 00 00 04 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ec 85 4f 9e d0 >> f7 >> 89 9c a5 aa da f7 94 32 96 1b 00 28 f6 9f 0d ca 6e 4 >> b 9c 54 56 98 09 75 79 a1 35 b0 90 a2 77 33 48 3e 5c 5d 03 cc 3e 6b 1c 10 >> cd >> af a5 96 58 5f d2 fb 3d 48 >> IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 >> IEEE 802.1X: version=1 type=3 length=95 >> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/2 Group) >> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYESTABLISHED >> ath0: STA 00:21:e9:6e:98:d0 WPA: group key handshake completed (WPA) >> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE >> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: deassociated >> ath0: STA 00:21:e9:6e:98:d0 WPA: event 2 notification >> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state DISCONNECTED >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE >> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 >> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port >> Could not set station 00:21:e9:6e:98:d0 flags for kernel driver >> (errno=22). >> ath0: WPA rekeying GTK >> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >> GMK - hexdump(len=32): [REMOVED] >> GTK - hexdump(len=32): [REMOVED] >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=2 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 3b 0f c6 88 8e 02 >> 03 >> 00 87 fe 03 a2 00 20 00 00 00 00 00 00 00 05 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 21 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd c0 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2e 4a 9b 73 a4 >> 2a >> 85 58 43 ea 4b 26 39 52 da 0b 00 28 97 d8 b5 38 1a 9 >> 9 dc 43 65 b5 bd ac 8c 7e 35 2c 12 7c 55 d4 79 0a 54 68 4c 5c 59 36 5b f6 >> 69 >> 31 ad 4a 90 ff 81 be c6 4f >> IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 >> IEEE 802.1X: version=1 type=3 length=95 >> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED >> ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) >> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >> Checking STA 00:1e:c2:bf:74:60 inactivity: >> Station has been active >> Checking STA 00:1e:c2:bf:74:60 inactivity: >> Station has been active >> ath0: WPA rekeying GTK >> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >> GMK - hexdump(len=32): [REMOVED] >> GTK - hexdump(len=32): [REMOVED] >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=1 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 76 6b 0f c6 88 8e 02 >> 03 >> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 06 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd c1 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 16 82 a2 >> 6d >> 95 4d 6b 3c ce 5b 05 47 76 55 00 28 7a a2 9a 85 ef a >> f a9 be 86 56 94 45 a3 ab b8 a5 b3 d5 44 3b a4 d3 9f 7b 3d ea 97 e6 c3 ed >> 9e >> 42 da 4b 91 2d fd 7f 1e 8d >> IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 >> IEEE 802.1X: version=1 type=3 length=95 >> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED >> ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) >> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >> Checking STA 00:1e:c2:bf:74:60 inactivity: >> Station has been active >> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: associated >> New STA >> ath0: STA 00:21:e9:6e:98:d0 WPA: event 1 notification >> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >> ath0: STA 00:21:e9:6e:98:d0 WPA: start authentication >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE >> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 >> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port >> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION2 >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITPSK >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKSTART >> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/4 msg of 4-Way Handshake >> WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 >> keyidx=0 >> encr=0) >> TX EAPOL - hexdump(len=113): 00 21 e9 6e 98 d0 00 30 96 6b 0f c6 88 8e 02 >> 03 >> 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 3b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd c2 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 >> IEEE 802.1X: 123 bytes from 00:21:e9:6e:98:d0 >> IEEE 802.1X: version=1 type=3 length=119 >> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/4 Pairwise) >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING >> PMK - hexdump(len=32): [REMOVED] >> PTK - hexdump(len=64): [REMOVED] >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING2 >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITNEGOTIATING >> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 3/4 msg of 4-Way Handshake >> WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 >> keyidx=0 encr=0) >> TX EAPOL - hexdump(len=141): 00 21 e9 6e 78 d0 00 90 96 6b 0f c6 88 8e 02 >> 03 >> 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd c2 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 19 95 a0 4e 64 >> c6 >> 43 6c e9 8c 02 ef 75 27 f9 e5 00 1c dd 1a 00 50 f2 0 >> 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 40 f2 02 >> IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 >> IEEE 802.1X: version=1 type=3 length=95 >> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (4/4 Pairwise) >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITDONE >> bsd_set_key: alg=CCMP addr=00:21:e9:6e:98:d0 key_idx=0 >> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=1 >> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: authorizing port >> bsd_sta_clear_stats: addr=00:21:e9:6e:98:d0 >> ath0: STA 00:21:e9:6e:98:d0 WPA: pairwise key handshake completed (WPA) >> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=1 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 21 e9 6e 08 d0 00 90 96 6b 0f c6 88 5e 02 >> 03 >> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd c1 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 dc 19 fc 24 >> e2 >> 56 37 16 14 5a 0b 00 25 c2 47 00 28 78 92 48 df 3b e >> f 3c d7 25 82 34 d2 32 7d 1f cc 12 d1 4e c0 89 dc 29 80 88 45 95 27 13 49 >> b0 >> da ef f9 c9 fd f0 52 a9 b5 >> IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 >> IEEE 802.1X: version=1 type=3 length=95 >> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/2 Group) >> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYESTABLISHED >> ath0: STA 00:21:e9:6e:98:d0 WPA: group key handshake completed (WPA) >> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE >> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: deassociated >> ath0: STA 00:21:e9:6e:98:d0 WPA: event 2 notification >> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state DISCONNECTED >> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE >> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 >> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port >> Could not set station 00:21:e9:6e:98:d0 flags for kernel driver >> (errno=22). >> Checking STA 00:1e:c2:bf:74:60 inactivity: >> Station has been active >> ath0: WPA rekeying GTK >> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >> GMK - hexdump(len=32): [REMOVED] >> GTK - hexdump(len=32): [REMOVED] >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=2 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 78 8e 02 >> 03 >> 00 87 fe 03 a2 00 20 00 00 00 00 00 00 00 07 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd c3 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0 00 be eb 48 >> 36 >> b5 ad 1f 17 bc 64 ca 6b c8 ca 00 28 8a 2b 24 9f ee 4 >> 4 0f e7 4a ad a8 55 62 cd b9 d0 69 cc af e4 94 01 aa d8 e9 cf cc a7 ed 6e >> e0 >> 90 b5 3c 35 1a ae 2e 32 d7 >> IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 >> IEEE 802.1X: version=1 type=3 length=95 >> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED >> ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) >> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >> Checking STA 00:1e:c2:bf:74:60 inactivity: >> Station has been active >> Checking STA 00:1e:c2:bf:74:60 inactivity: >> Station has been active >> ath0: WPA rekeying GTK >> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >> GMK - hexdump(len=32): [REMOVED] >> GTK - hexdump(len=32): [REMOVED] >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=1 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 40 00 90 96 6b 0f c6 88 8e 02 >> 03 >> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 08 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c1 50 c3 fa 32 >> 83 >> f8 05 c4 c3 78 e5 cf 48 25 79 00 28 10 4a c3 91 12 2 >> f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec >> 97 >> 54 a3 60 a9 d7 73 20 6d f1 >> ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=1 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 >> 03 >> 00 87 fe 03 92 00 10 00 00 00 00 00 00 00 09 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 b1 39 72 aa >> d0 >> 25 02 a4 5b 01 55 a9 c6 5b cf 00 28 10 4a c3 91 12 2 >> f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec >> 57 >> 54 a3 60 a9 d7 73 20 6d f1 >> ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=1 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 98 8e 02 >> 03 >> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 0a 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 79 9c 20 34 >> dd >> 26 28 c7 c2 6f a3 1c a4 03 44 00 28 10 4a c3 91 12 2 >> f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec >> 57 >> 54 a3 60 a9 d7 73 20 6d f1 >> ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >> keyidx=1 encr=1) >> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 >> 03 >> 00 87 fe 03 02 00 20 00 00 00 00 00 00 00 0b 1c c4 >> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 fd >> 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 91 86 ea b0 4b >> 7f >> c5 2b 2c 9c b2 94 67 d4 e6 14 00 28 10 4a c3 91 12 2 >> f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec >> 57 >> 54 a3 60 a8 d7 73 20 6d f1 >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state KEYERROR >> >> > > The sta didn't complete the group key handshake. I don't see a timeout msg > so not sure exactly why. > > WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state DISCONNECT >> hostapd_wpa_auth_disconnect: WPA authenticator requests disconnect: STA >> 00:1e:c2:bf:74:60 reason 2 >> bsd_sta_deauth: addr=00:1e:c2:bf:74:60 reason_code=2 >> >> > > hostapd dropped the station. > > > WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state DISCONNECTED >> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITIALIZE >> bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 >> bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=0 >> ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: unauthorizing port >> Could not set station 00:1e:c2:bf:74:60 flags for kernel driver >> (errno=22). >> ath0: STA 00:1e:c2:bf:74:60 IEEE 802.11: deauthenticated due to local >> deauth >> request >> GMK - hexdump(len=32): [REMOVED] >> GTK - hexdump(len=32): [REMOVED] >> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >> ath0: WPA rekeying GTK >> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 >> ath0: WPA rekeying GTK >> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >> GMK - hexdump(len=32): [REMOVED] >> GTK - hexdump(len=32): [REMOVED] >> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >> ath0: WPA rekeying GTK >> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >> GMK - hexdump(len=32): [REMOVED] >> GTK - hexdump(len=32): [REMOVED] >> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 >> ath0: WPA rekeying GTK >> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >> GMK - hexdump(len=32): [REMOVED] >> GTK - hexdump(len=32): [REMOVED] >> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >> ioctl[SIOCS80211]: No such file or directory >> ioctl[SIOCS80211]: No such file or directory >> ioctl[SIOCS80211]: Invalid argument >> ioctl[SIOCS80211]: No such file or directory >> ioctl[SIOCS80211]: No such file or directory >> ioctl[SIOCS80211]: Invalid argument >> ioctl[SIOCS80211]: No such file or directory >> ioctl[SIOCS80211]: Invalid argument >> >> > > hostapd was notified by net80211 the station went away so it tried to purge > any keys but state was already gone. This is normal and the msgs can be > ignored. > > Signal 2 received - terminating >> >> > > You hit ^C and stopped hostapd. > > Flushing old station entries >> bsd_sta_deauth: addr=ff:ff:ff:ff:ff:ff reason_code=3 >> Deauthenticate all stations >> bsd_set_privacy: enabled=0 >> bsd_set_ieee8021x: enabled=0 >> bsd_set_iface_flags: dev_up=0 >> _______________________________________________ >> >> > There is nothing unusual in the log. Your problems are likely lower; e.g. > loss of communication between the ap and sta. > > Sam > > From owner-freebsd-net@FreeBSD.ORG Fri Sep 26 22:01:25 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C733E106568B for ; Fri, 26 Sep 2008 22:01:25 +0000 (UTC) (envelope-from waynehendricks@gmail.com) Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.183]) by mx1.freebsd.org (Postfix) with ESMTP id 9585F8FC1F for ; Fri, 26 Sep 2008 22:01:25 +0000 (UTC) (envelope-from waynehendricks@gmail.com) Received: by wa-out-1112.google.com with SMTP id n4so600505wag.27 for ; Fri, 26 Sep 2008 15:01:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type:references; bh=YiIZmGLr66ed3J/uqlEL9vaVJ/wqLmiPPFzwP3fxpnU=; b=AlybQsGiYyWW0LbOIrh7l8YBBrAmU9fTPqVT1OJOeH1D0OI+yO+mpAUkDLdXb8NXuo w1IA+aKES4gyyAMTgHukwWVu41G1Eaf5CJN0u/MDHeYNbiUJ7ZfOpupYUjhJ7mH1DNkF dfwkQuhQR2OpAXxMl5P0kchTJEPG28kycBQP8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:references; b=JfeuAKyDTxIp+MAAlB8aIz6FMmFBXCw3owQGlv6gYUn1THA8JwIdG1vFAo838SERAZ BCAV/ZfuxirVbCpiunBu6iVbpriXv3q546cKcBNL/TS06vctf/L8WufUAFl5OVyimRlD NyRujTQRgD+84iAj3Y3UKnkEO2wbJs1RzzkAw= Received: by 10.114.176.1 with SMTP id y1mr2161582wae.118.1222466485180; Fri, 26 Sep 2008 15:01:25 -0700 (PDT) Received: by 10.114.190.16 with HTTP; Fri, 26 Sep 2008 15:01:25 -0700 (PDT) Message-ID: <3b965dec0809261501g1ef8eb7fh713d12bfc03e3f94@mail.gmail.com> Date: Fri, 26 Sep 2008 17:01:25 -0500 From: "Wayne Hendricks" To: "Sam Leffler" In-Reply-To: <3b965dec0809261245s332043ecm8c2abd42c76995ef@mail.gmail.com> MIME-Version: 1.0 References: <3b965dec0809252258t15722eecn29494431bced3061@mail.gmail.com> <48DD1FF6.6010608@freebsd.org> <3b965dec0809261245s332043ecm8c2abd42c76995ef@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-net@freebsd.org Subject: Re: Hostapd network issue X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 22:01:25 -0000 Well, I haven't had a chance to switch cards, but on an interesting side note, none of my other wireless clients will connect after hostapd freezes. =W= On Fri, Sep 26, 2008 at 2:45 PM, Wayne Hendricks wrote: > Well, the ap and sta are right next to each other. The sta is a MacBook > Pro. After a few minutes, hostapd freezes and the sta will not reconnect at > all. Odd. I think i may switch cards and see if it helps. > > On Fri, Sep 26, 2008 at 12:46 PM, Sam Leffler wrote: > >> Wayne Hendricks wrote: >> >>> I have been trying to make hostapd work with wifi card in my gateway box. >>> WPA stays working for only a short time before hostapd locks up and needs >>> to >>> be restarted. I believe the hosapd config is fine, shows no errors. >>> Running 7.0-RELEASE-p4 amd64 with mini-pci Atheros 5212 chipset. I have >>> included the hostapd debug output below. What is this ioctl[SIOCS80211] >>> weirdness? >>> >>> Configuration file: /etc/hostapd.conf >>> ctrl_interface_group=0 (from group name 'wheel') >>> bsd_set_iface_flags: dev_up=0 >>> BSS count 1, BSSID mask ff:ff:ff:ff:ff:ff (0 bits) >>> ath0: IEEE 802.11 Fetching hardware channel/rate support not supported. >>> Flushing old station entries >>> bsd_sta_deauth: addr=ff:ff:ff:ff:ff:ff reason_code=3 >>> Deauthenticate all stations >>> bsd_set_privacy: enabled=0 >>> Mode: IEEE 802.11g Channel: 11 Frequency: 0 MHz >>> bsd_del_key: addr=00:00:00:00:00:00 key_idx=0 >>> bsd_del_key: addr=00:00:00:00:00:00 key_idx=1 >>> bsd_del_key: addr=00:00:00:00:00:00 key_idx=2 >>> bsd_del_key: addr=00:00:00:00:00:00 key_idx=3 >>> bsd_get_ssid: ssid="bsdap" >>> Using interface ath0 with hwaddr 00:90:96:6b:0f:c6 and ssid 'bsdap' >>> SSID - hexdump_ascii(len=9): >>> 52 4e 73 65 63 75 72 65 47 bsdap >>> PSK (ASCII passphrase) - hexdump_ascii(len=12): >>> 65 74 68 65 72 61 70 65 31 31 31 36 mypassphrase >>> PSK (from passphrase) - hexdump(len=32): 17 ae 54 6a a7 c4 fc ce e2 d4 2e >>> 07 >>> 0d 08 09 56 41 d3 a4 6a d2 18 26 d1 36 22 56 fe a0 >>> af 26 43 >>> bsd_set_ieee8021x: enabled=1 >>> bsd_configure_wpa: group key cipher=TKIP (1) >>> bsd_configure_wpa: pairwise key ciphers=0xa >>> bsd_configure_wpa: key management algorithms=0x2 >>> bsd_configure_wpa: rsn capabilities=0x0 >>> bsd_configure_wpa: enable WPA= 0x1 >>> bsd_set_iface_flags: dev_up=1 >>> WPA: group state machine entering state GTK_INIT (VLAN-ID 0) >>> GMK - hexdump(len=32): [REMOVED] >>> GTK - hexdump(len=32): [REMOVED] >>> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >>> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >>> bsd_set_privacy: enabled=1 >>> ath0: Setup of interface done. >>> ath0: STA 00:1e:c2:bf:74:60 IEEE 802.11: associated >>> New STA >>> ath0: STA 00:1e:c2:bf:74:60 WPA: event 1 notification >>> bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: start authentication >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITIALIZE >>> bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 >>> bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=0 >>> ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: unauthorizing port >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state AUTHENTICATION >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state AUTHENTICATION2 >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITPSK >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKSTART >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/4 msg of 4-Way Handshake >>> WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 >>> keyidx=0 >>> encr=0) >>> TX EAPOL - hexdump(len=113): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 >>> 03 >>> 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 9f 2b fa 4e 6e 00 d2 a0 >>> fd >>> 9e f0 c1 fd be 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 >>> IEEE 802.1X: 123 bytes from 00:1e:c2:bf:74:60 >>> IEEE 802.1X: version=1 type=3 length=119 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/4 Pairwise) >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKCALCNEGOTIATING >>> PMK - hexdump(len=32): [REMOVED] >>> PTK - hexdump(len=64): [REMOVED] >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKCALCNEGOTIATING2 >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKINITNEGOTIATING >>> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 3/4 msg of 4-Way Handshake >>> WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 >>> keyidx=0 encr=0) >>> TX EAPOL - hexdump(len=141): 00 1e c2 bf 74 60 00 00 96 6b 0f c6 88 8e 02 >>> 03 >>> 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd be 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cf 86 6a 87 74 >>> 59 >>> 72 dc 2f 01 f9 8b b4 20 51 1f 00 1c dd 1a 00 50 f2 0 >>> 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2 02 >>> IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 >>> IEEE 802.1X: version=1 type=3 length=95 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (4/4 Pairwise) >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state PTKINITDONE >>> bsd_set_key: alg=CCMP addr=00:1e:c2:bf:74:60 key_idx=0 >>> bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=1 >>> ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: authorizing port >>> bsd_sta_clear_stats: addr=00:1e:c2:bf:74:60 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: pairwise key handshake completed (WPA) >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=1 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 3b 0f c6 88 8e 02 >>> 03 >>> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 d8 ba b9 34 >>> 15 >>> fd ae 04 7c 59 05 d4 08 70 4c 00 28 36 25 48 ae 3c 8 >>> d ad 9b 27 20 45 68 36 d7 57 ba 57 49 0f 7d e9 2b 1d 6b b5 21 c1 a4 e5 77 >>> fc >>> 57 fd 57 c1 90 be a2 50 a4 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=1 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 46 6b 0f c6 88 8e 02 >>> 03 >>> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 04 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0 3a d0 8a fd >>> 74 >>> 2d 9a cf ba eb 75 56 26 71 63 00 28 36 25 48 ae 3c 8 >>> d ad 9b 27 20 45 68 36 d7 57 ba 57 49 0f 7d e9 2b 1d 6b b5 21 c1 a4 e5 77 >>> fc >>> 37 fd 57 c1 00 be a2 50 a4 >>> IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 >>> IEEE 802.1X: version=1 type=3 length=95 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED >>> ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >>> Checking STA 00:1e:c2:bf:74:60 inactivity: >>> Station has been active >>> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: associated >>> New STA >>> ath0: STA 00:21:e9:6e:98:d0 WPA: event 1 notification >>> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: start authentication >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE >>> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >>> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 >>> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION2 >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITPSK >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKSTART >>> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/4 msg of 4-Way Handshake >>> WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 >>> keyidx=0 >>> encr=0) >>> TX EAPOL - hexdump(len=113): 00 21 e9 6e 68 d0 00 90 96 6b 0f c6 58 8e 02 >>> 03 >>> 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd bf 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 >>> IEEE 802.1X: 123 bytes from 00:21:e9:6e:98:d0 >>> IEEE 802.1X: version=1 type=3 length=119 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/4 Pairwise) >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING >>> PMK - hexdump(len=32): [REMOVED] >>> PTK - hexdump(len=64): [REMOVED] >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING2 >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITNEGOTIATING >>> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 3/4 msg of 4-Way Handshake >>> WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 >>> keyidx=0 encr=0) >>> TX EAPOL - hexdump(len=141): 00 21 e9 6e 98 d0 00 90 96 6b 0f c5 88 8e 02 >>> 03 >>> 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd bf 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e2 55 c7 5a e3 >>> 2d >>> 7a 54 f2 6d f0 7b 9f cc ca b3 00 1c dd 1a 00 50 f2 0 >>> 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2 02 >>> IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 >>> IEEE 802.1X: version=1 type=3 length=95 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (4/4 Pairwise) >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITDONE >>> bsd_set_key: alg=CCMP addr=00:21:e9:6e:98:d0 key_idx=0 >>> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=1 >>> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: authorizing port >>> bsd_sta_clear_stats: addr=00:21:e9:6e:98:d0 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: pairwise key handshake completed (WPA) >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=1 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 21 e9 6e 98 d0 00 90 96 6b 0f c6 68 8e 02 >>> 03 >>> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bb 76 69 1b 31 >>> 76 >>> d5 81 87 d1 fb f5 ac 85 f1 d7 00 28 f6 9f 0d ca 6e 4 >>> b 9c 54 56 98 09 75 79 a1 35 b0 90 a2 77 33 48 3e 5c 5d 03 cc 8e 6b 1c 10 >>> cd >>> af a5 66 58 5f d2 fb 3d 48 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: EAPOL-Key timeout >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=1 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 21 e9 6e 98 d0 00 90 96 6b 0f c6 88 8e 02 >>> 03 >>> 00 47 fe 03 92 00 20 00 00 00 00 00 00 00 04 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd bd 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ec 85 4f 9e d0 >>> f7 >>> 89 9c a5 aa da f7 94 32 96 1b 00 28 f6 9f 0d ca 6e 4 >>> b 9c 54 56 98 09 75 79 a1 35 b0 90 a2 77 33 48 3e 5c 5d 03 cc 3e 6b 1c 10 >>> cd >>> af a5 96 58 5f d2 fb 3d 48 >>> IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 >>> IEEE 802.1X: version=1 type=3 length=95 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/2 Group) >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYESTABLISHED >>> ath0: STA 00:21:e9:6e:98:d0 WPA: group key handshake completed (WPA) >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE >>> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: deassociated >>> ath0: STA 00:21:e9:6e:98:d0 WPA: event 2 notification >>> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state DISCONNECTED >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE >>> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >>> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 >>> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port >>> Could not set station 00:21:e9:6e:98:d0 flags for kernel driver >>> (errno=22). >>> ath0: WPA rekeying GTK >>> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >>> GMK - hexdump(len=32): [REMOVED] >>> GTK - hexdump(len=32): [REMOVED] >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=2 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 3b 0f c6 88 8e 02 >>> 03 >>> 00 87 fe 03 a2 00 20 00 00 00 00 00 00 00 05 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 21 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd c0 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2e 4a 9b 73 a4 >>> 2a >>> 85 58 43 ea 4b 26 39 52 da 0b 00 28 97 d8 b5 38 1a 9 >>> 9 dc 43 65 b5 bd ac 8c 7e 35 2c 12 7c 55 d4 79 0a 54 68 4c 5c 59 36 5b f6 >>> 69 >>> 31 ad 4a 90 ff 81 be c6 4f >>> IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 >>> IEEE 802.1X: version=1 type=3 length=95 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED >>> ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) >>> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >>> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >>> Checking STA 00:1e:c2:bf:74:60 inactivity: >>> Station has been active >>> Checking STA 00:1e:c2:bf:74:60 inactivity: >>> Station has been active >>> ath0: WPA rekeying GTK >>> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >>> GMK - hexdump(len=32): [REMOVED] >>> GTK - hexdump(len=32): [REMOVED] >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=1 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 76 6b 0f c6 88 8e 02 >>> 03 >>> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 06 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd c1 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 16 82 a2 >>> 6d >>> 95 4d 6b 3c ce 5b 05 47 76 55 00 28 7a a2 9a 85 ef a >>> f a9 be 86 56 94 45 a3 ab b8 a5 b3 d5 44 3b a4 d3 9f 7b 3d ea 97 e6 c3 ed >>> 9e >>> 42 da 4b 91 2d fd 7f 1e 8d >>> IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 >>> IEEE 802.1X: version=1 type=3 length=95 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED >>> ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) >>> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >>> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >>> Checking STA 00:1e:c2:bf:74:60 inactivity: >>> Station has been active >>> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: associated >>> New STA >>> ath0: STA 00:21:e9:6e:98:d0 WPA: event 1 notification >>> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: start authentication >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE >>> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >>> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 >>> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state AUTHENTICATION2 >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITPSK >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKSTART >>> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/4 msg of 4-Way Handshake >>> WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 >>> keyidx=0 >>> encr=0) >>> TX EAPOL - hexdump(len=113): 00 21 e9 6e 98 d0 00 30 96 6b 0f c6 88 8e 02 >>> 03 >>> 00 5f fe 00 8a 00 10 00 00 00 00 00 00 00 01 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 3b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd c2 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 >>> IEEE 802.1X: 123 bytes from 00:21:e9:6e:98:d0 >>> IEEE 802.1X: version=1 type=3 length=119 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/4 Pairwise) >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING >>> PMK - hexdump(len=32): [REMOVED] >>> PTK - hexdump(len=64): [REMOVED] >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKCALCNEGOTIATING2 >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITNEGOTIATING >>> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 3/4 msg of 4-Way Handshake >>> WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=8 kde_len=28 >>> keyidx=0 encr=0) >>> TX EAPOL - hexdump(len=141): 00 21 e9 6e 78 d0 00 90 96 6b 0f c6 88 8e 02 >>> 03 >>> 00 7b fe 01 ca 00 10 00 00 00 00 00 00 00 02 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd c2 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 19 95 a0 4e 64 >>> c6 >>> 43 6c e9 8c 02 ef 75 27 f9 e5 00 1c dd 1a 00 50 f2 0 >>> 1 01 00 00 50 f2 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 40 f2 02 >>> IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 >>> IEEE 802.1X: version=1 type=3 length=95 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (4/4 Pairwise) >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state PTKINITDONE >>> bsd_set_key: alg=CCMP addr=00:21:e9:6e:98:d0 key_idx=0 >>> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=1 >>> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: authorizing port >>> bsd_sta_clear_stats: addr=00:21:e9:6e:98:d0 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: pairwise key handshake completed (WPA) >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> bsd_get_seqnum: addr=00:00:00:00:00:00 idx=1 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=1 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 21 e9 6e 08 d0 00 90 96 6b 0f c6 88 5e 02 >>> 03 >>> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 03 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd c1 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 dc 19 fc 24 >>> e2 >>> 56 37 16 14 5a 0b 00 25 c2 47 00 28 78 92 48 df 3b e >>> f 3c d7 25 82 34 d2 32 7d 1f cc 12 d1 4e c0 89 dc 29 80 88 45 95 27 13 49 >>> b0 >>> da ef f9 c9 fd f0 52 a9 b5 >>> IEEE 802.1X: 99 bytes from 00:21:e9:6e:98:d0 >>> IEEE 802.1X: version=1 type=3 length=95 >>> ath0: STA 00:21:e9:6e:98:d0 WPA: received EAPOL-Key frame (2/2 Group) >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state REKEYESTABLISHED >>> ath0: STA 00:21:e9:6e:98:d0 WPA: group key handshake completed (WPA) >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK_GROUP entering state IDLE >>> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.11: deassociated >>> ath0: STA 00:21:e9:6e:98:d0 WPA: event 2 notification >>> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state DISCONNECTED >>> WPA: 00:21:e9:6e:98:d0 WPA_PTK entering state INITIALIZE >>> bsd_del_key: addr=00:21:e9:6e:98:d0 key_idx=0 >>> bsd_set_sta_authorized: addr=00:21:e9:6e:98:d0 authorized=0 >>> ath0: STA 00:21:e9:6e:98:d0 IEEE 802.1X: unauthorizing port >>> Could not set station 00:21:e9:6e:98:d0 flags for kernel driver >>> (errno=22). >>> Checking STA 00:1e:c2:bf:74:60 inactivity: >>> Station has been active >>> ath0: WPA rekeying GTK >>> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >>> GMK - hexdump(len=32): [REMOVED] >>> GTK - hexdump(len=32): [REMOVED] >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=2 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 78 8e 02 >>> 03 >>> 00 87 fe 03 a2 00 20 00 00 00 00 00 00 00 07 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd c3 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0 00 be eb 48 >>> 36 >>> b5 ad 1f 17 bc 64 ca 6b c8 ca 00 28 8a 2b 24 9f ee 4 >>> 4 0f e7 4a ad a8 55 62 cd b9 d0 69 cc af e4 94 01 aa d8 e9 cf cc a7 ed 6e >>> e0 >>> 90 b5 3c 35 1a ae 2e 32 d7 >>> IEEE 802.1X: 99 bytes from 00:1e:c2:bf:74:60 >>> IEEE 802.1X: version=1 type=3 length=95 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: received EAPOL-Key frame (2/2 Group) >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYESTABLISHED >>> ath0: STA 00:1e:c2:bf:74:60 WPA: group key handshake completed (WPA) >>> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >>> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >>> Checking STA 00:1e:c2:bf:74:60 inactivity: >>> Station has been active >>> Checking STA 00:1e:c2:bf:74:60 inactivity: >>> Station has been active >>> ath0: WPA rekeying GTK >>> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >>> GMK - hexdump(len=32): [REMOVED] >>> GTK - hexdump(len=32): [REMOVED] >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=1 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 40 00 90 96 6b 0f c6 88 8e 02 >>> 03 >>> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 08 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c1 50 c3 fa 32 >>> 83 >>> f8 05 c4 c3 78 e5 cf 48 25 79 00 28 10 4a c3 91 12 2 >>> f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec >>> 97 >>> 54 a3 60 a9 d7 73 20 6d f1 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=1 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 >>> 03 >>> 00 87 fe 03 92 00 10 00 00 00 00 00 00 00 09 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 b1 39 72 aa >>> d0 >>> 25 02 a4 5b 01 55 a9 c6 5b cf 00 28 10 4a c3 91 12 2 >>> f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec >>> 57 >>> 54 a3 60 a9 d7 73 20 6d f1 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=1 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 98 8e 02 >>> 03 >>> 00 87 fe 03 92 00 20 00 00 00 00 00 00 00 0a 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 79 9c 20 34 >>> dd >>> 26 28 c7 c2 6f a3 1c a4 03 44 00 28 10 4a c3 91 12 2 >>> f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec >>> 57 >>> 54 a3 60 a9 d7 73 20 6d f1 >>> ath0: STA 00:1e:c2:bf:74:60 WPA: EAPOL-Key timeout >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state REKEYNEGOTIATING >>> ath0: STA 00:1e:c2:bf:74:60 WPA: sending 1/2 msg of Group Key Handshake >>> WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 kde_len=32 >>> keyidx=1 encr=1) >>> Plaintext EAPOL-Key Key Data - hexdump(len=40): [REMOVED] >>> TX EAPOL - hexdump(len=153): 00 1e c2 bf 74 60 00 90 96 6b 0f c6 88 8e 02 >>> 03 >>> 00 87 fe 03 02 00 20 00 00 00 00 00 00 00 0b 1c c4 >>> 37 85 45 86 e9 2a 99 5c 65 8c 8b d0 b8 63 31 04 1f 2b fa 4e 8e 00 d2 a0 >>> fd >>> 9e f0 c1 fd c4 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 91 86 ea b0 4b >>> 7f >>> c5 2b 2c 9c b2 94 67 d4 e6 14 00 28 10 4a c3 91 12 2 >>> f 91 69 e3 84 e2 61 25 ce e9 b8 38 53 7f 8d f8 53 ec ac 90 43 41 5c b9 ec >>> 57 >>> 54 a3 60 a8 d7 73 20 6d f1 >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state KEYERROR >>> >>> >> >> The sta didn't complete the group key handshake. I don't see a timeout >> msg so not sure exactly why. >> >> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >>> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state DISCONNECT >>> hostapd_wpa_auth_disconnect: WPA authenticator requests disconnect: STA >>> 00:1e:c2:bf:74:60 reason 2 >>> bsd_sta_deauth: addr=00:1e:c2:bf:74:60 reason_code=2 >>> >>> >> >> hostapd dropped the station. >> >> >> WPA: 00:1e:c2:bf:74:60 WPA_PTK_GROUP entering state IDLE >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state DISCONNECTED >>> WPA: 00:1e:c2:bf:74:60 WPA_PTK entering state INITIALIZE >>> bsd_del_key: addr=00:1e:c2:bf:74:60 key_idx=0 >>> bsd_set_sta_authorized: addr=00:1e:c2:bf:74:60 authorized=0 >>> ath0: STA 00:1e:c2:bf:74:60 IEEE 802.1X: unauthorizing port >>> Could not set station 00:1e:c2:bf:74:60 flags for kernel driver >>> (errno=22). >>> ath0: STA 00:1e:c2:bf:74:60 IEEE 802.11: deauthenticated due to local >>> deauth >>> request >>> GMK - hexdump(len=32): [REMOVED] >>> GTK - hexdump(len=32): [REMOVED] >>> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >>> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >>> ath0: WPA rekeying GTK >>> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >>> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >>> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 >>> ath0: WPA rekeying GTK >>> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >>> GMK - hexdump(len=32): [REMOVED] >>> GTK - hexdump(len=32): [REMOVED] >>> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >>> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >>> ath0: WPA rekeying GTK >>> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >>> GMK - hexdump(len=32): [REMOVED] >>> GTK - hexdump(len=32): [REMOVED] >>> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >>> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=2 >>> ath0: WPA rekeying GTK >>> WPA: group state machine entering state SETKEYS (VLAN-ID 0) >>> GMK - hexdump(len=32): [REMOVED] >>> GTK - hexdump(len=32): [REMOVED] >>> WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) >>> bsd_set_key: alg=TKIP addr=00:00:00:00:00:00 key_idx=1 >>> ioctl[SIOCS80211]: No such file or directory >>> ioctl[SIOCS80211]: No such file or directory >>> ioctl[SIOCS80211]: Invalid argument >>> ioctl[SIOCS80211]: No such file or directory >>> ioctl[SIOCS80211]: No such file or directory >>> ioctl[SIOCS80211]: Invalid argument >>> ioctl[SIOCS80211]: No such file or directory >>> ioctl[SIOCS80211]: Invalid argument >>> >>> >> >> hostapd was notified by net80211 the station went away so it tried to >> purge any keys but state was already gone. This is normal and the msgs can >> be ignored. >> >> Signal 2 received - terminating >>> >>> >> >> You hit ^C and stopped hostapd. >> >> Flushing old station entries >>> bsd_sta_deauth: addr=ff:ff:ff:ff:ff:ff reason_code=3 >>> Deauthenticate all stations >>> bsd_set_privacy: enabled=0 >>> bsd_set_ieee8021x: enabled=0 >>> bsd_set_iface_flags: dev_up=0 >>> _______________________________________________ >>> >>> >> There is nothing unusual in the log. Your problems are likely lower; e.g. >> loss of communication between the ap and sta. >> >> Sam >> >> > From owner-freebsd-net@FreeBSD.ORG Sat Sep 27 01:00:41 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 576321065695 for ; Sat, 27 Sep 2008 01:00:41 +0000 (UTC) (envelope-from freebsd-net@m.gmane.org) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by mx1.freebsd.org (Postfix) with ESMTP id D66A38FC1A for ; Sat, 27 Sep 2008 01:00:40 +0000 (UTC) (envelope-from freebsd-net@m.gmane.org) Received: from list by ciao.gmane.org with local (Exim 4.43) id 1KjOAm-00006t-Ct for freebsd-net@freebsd.org; Sat, 27 Sep 2008 01:00:36 +0000 Received: from 93-138-6-194.adsl.net.t-com.hr ([93.138.6.194]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 27 Sep 2008 01:00:36 +0000 Received: from ivoras by 93-138-6-194.adsl.net.t-com.hr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 27 Sep 2008 01:00:36 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-net@freebsd.org From: Ivan Voras Date: Sat, 27 Sep 2008 03:00:18 +0200 Lines: 59 Message-ID: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigAB5470830777A1634945BAD2" X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 93-138-6-194.adsl.net.t-com.hr User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) X-Enigmail-Version: 0.95.7 Sender: news Subject: Optimizing for high PPS, Intel NICs X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Sep 2008 01:00:41 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigAB5470830777A1634945BAD2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I have an application that consists of a server and clients which communicate via TCP. The communication consists of exchanging many small packets - around 96 bytes of payload (non-uniform). I'm testing it in 8-CURRENT with two machines connected directly via a patch cable. The server is a 8-core Xeon system with 5000X chipset and embedded Intel PRO/1000 EB NIC (card=3D0x109615d9 chip=3D0x10968086) and the client is a= 4-core desktop Core2 also with Intel's embedded NIC, 82566DM-2. The client and server applications are multithreaded and verified that they scale well in environments like this. I've verified with iperf that the NICs and the cable are ok with gigabit traffic. Here's an example netstat trace from a test run on the client: input (Total) output packets errs bytes packets errs bytes colls 161700 0 29374199 161768 0 16290562 0 158320 0 28741763 158405 0 15962986 0 157617 0 28614088 157696 0 15889426 0 157569 0 28618951 157674 0 15884576 0 (i.e. the client receives about 2x the data it sends) I've noticed something strange: the server is bottlenecked with "em1 taskq" kernel thread taking 100% of a CPU core, while the global CPU utilization is around 50%, but the client's em0 taskq thread for this same load is ~~ 10% (with > 30% idle). The client CPU is a bit faster then the server (2.4 GHz vs 2.0 GHz) but I don't think this can account for such a big difference. Toggling TSO on the server doesn't help. This difference in taskq CPU load between the client and the server machine looks wrong to me. Also, I'd expect more PPS here. Can someone comment on this? Are there any known issues with the server NIC I have there? (Both machines run amd64 kernels, WITNESS & INVARIANTS are disabled on both machines). --------------enigAB5470830777A1634945BAD2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkjdhagACgkQldnAQVacBch/OwCgxnZmPkgGh36h2LVHQQ+daR8P HUwAoNhdnsrfN83uUMrGT4dwlVf6tIV9 =tBdN -----END PGP SIGNATURE----- --------------enigAB5470830777A1634945BAD2-- From owner-freebsd-net@FreeBSD.ORG Sat Sep 27 22:13:40 2008 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E36AA1065689; Sat, 27 Sep 2008 22:13:40 +0000 (UTC) (envelope-from arno@heho.snv.jussieu.fr) Received: from shiva.jussieu.fr (shiva.jussieu.fr [134.157.0.129]) by mx1.freebsd.org (Postfix) with ESMTP id 336268FC12; Sat, 27 Sep 2008 22:13:40 +0000 (UTC) (envelope-from arno@heho.snv.jussieu.fr) Received: from heho.snv.jussieu.fr (heho.snv.jussieu.fr [134.157.184.22]) by shiva.jussieu.fr (8.14.3/jtpda-5.4) with ESMTP id m8RLL4Do046670 ; Sat, 27 Sep 2008 23:21:05 +0200 (CEST) X-Ids: 166 Received: from heho.snv.jussieu.fr (localhost [127.0.0.1]) by heho.snv.jussieu.fr (8.13.3/jtpda-5.2) with ESMTP id m8RLL3T5084603 ; Sat, 27 Sep 2008 23:21:03 +0200 (MEST) Received: (from arno@localhost) by heho.snv.jussieu.fr (8.13.3/8.13.1/Submit) id m8RLL3lw084600; Sat, 27 Sep 2008 23:21:03 +0200 (MEST) (envelope-from arno) To: stable@freebsd.org From: "Arno J. Klaassen" Date: 27 Sep 2008 23:21:00 +0200 Message-ID: Lines: 248 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.0 (shiva.jussieu.fr [134.157.0.166]); Sat, 27 Sep 2008 23:21:05 +0200 (CEST) X-Virus-Scanned: ClamAV 0.93.3/8346/Sat Sep 27 09:08:52 2008 on shiva.jussieu.fr X-Virus-Status: Clean X-Miltered: at jchkmail.jussieu.fr with ID 48DEA3C0.015 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 48DEA3C0.015/134.157.184.22/heho.snv.jussieu.fr/heho.snv.jussieu.fr/ X-j-chkmail-Score: MSGID : 48DEA3C0.015 on jchkmail.jussieu.fr : j-chkmail score : . : R=. U=. O=. B=0.005 -> S=0.005 X-j-chkmail-Status: Ham Cc: net@freebsd.org Subject: 7.1-PRERELEASE : bad network performance (nfe0) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Sep 2008 22:13:41 -0000 Hello, I've serious network performance problems on a HP Turion X2 based brand new notebook; I only used a 7-1Beta CD and 7-STABLE on this thing. Scp-ing ports.tgz from a rock-stable 7-STABLE server to it gives : # scp -p ports.tgz login@mv:/tmp/ ports.tgz 100% 98MB 88.7KB/s 18:49 (doing the same thing by copy from an nfs-mounted disk even takes mores than an hour ...) Doing a top(1) aside, just shows the box 100% idle : PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 12 root 171 ki31 0K 16K CPU0 0 38:55 100.00% idle: cpu0 11 root 171 ki31 0K 16K RUN 1 38:55 100.00% idle: cpu1 13 root -32 - 0K 16K WAIT 0 0:02 0.00% swi4: clock sio 29 root -68 - 0K 16K - 0 0:00 0.00% nfe0 taskq 34 root -64 - 0K 16K WAIT 1 0:00 0.00% irq23: atapci1 1853 root 8 0 7060K 1920K wait 0 0:00 0.00% sh 878 nono 44 0 8112K 2288K CPU1 1 0:00 0.00% top 884 root 8 - 0K 16K - 1 0:00 0.00% nfsiod 0 4 root -8 - 0K 16K - 1 0:00 0.00% g_down 16 root -16 - 0K 16K - 1 0:00 0.00% yarrow 46 root 20 - 0K 16K syncer 0 0:00 0.00% syncer 3 root -8 - 0K 16K - 0 0:00 0.00% g_up 30 root -68 - 0K 16K - 0 0:00 0.00% fw0_taskq I tested : Update Bios ULE /4BSD PREEMPTION on/off PREEMPTION + IPI_PREEMPTION hw.nfe.msi[x]_disable=1 All don't seem to matter to the problem. I put two tcpdumps (server and client during another scp(1) ) on http://bare.snv.jussieu.fr/temp/tcpdump-s1518.server http://bare.snv.jussieu.fr/temp/tcpdump-s1518.client I'm far from an expert on TCP/IP, but wireshark "expert info" shows lots of sequences like : TCP Previous segment lost TCP Duplicate ACK 1 TCP Window update TCP Duplicate ACK 2 TCP Duplicate ACK 3 TCP Duplicate ACK 4 TCP Duplicate ACK 5 TCP Fast retransmission (suspected) TCP ... TCP Out-of-Order segment TCP ... As usual, feel free to contact me for further info/tests. Thanx, Arno ##### uname -a FreeBSD mv 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #0: Fri Sep 26 15:06:07 CEST 2008 root@m39.scito.local:/usr/obj/usr/src/sys/PAVILLON amd64 ##### pciconf -lcv (bits) nfe0@pci0:0:6:0: class=0x020000 card=0x30cf103c chip=0x045010de rev=0xa3 hdr=0x00 vendor = 'Nvidia Corp' device = 'MCP65 Ethernet' class = network subclass = ethernet cap 01[44] = powerspec 2 supports D0 D1 D2 D3 current D0 ##### dmesg -a Copyright (c) 1992-2008 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 7.1-PRERELEASE #0: Fri Sep 26 15:06:07 CEST 2008 root@m39.scito.local:/usr/obj/usr/src/sys/PAVILLON Timecounter "i8254" frequency 1193250 Hz quality 0 CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-62 (2109.70-MHz K8-class CPU) Origin = "AuthenticAMD" Id = 0x60f82 Stepping = 2 Features=0x178bfbff Features2=0x2001 AMD Features=0xea500800 AMD Features2=0x11f Cores per package: 2 usable memory = 3210813440 (3062 MB) avail memory = 3104542720 (2960 MB) ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ioapic0 irqs 0-23 on motherboard kbd1 at kbdmux0 ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) acpi0: on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) ACPI Error (dsopcode-0671): Field [I9MN] at 544 exceeds Buffer [IORT] size 464 (bits) [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPC0.PMIO._CRS] (Node 0xffffff00011f50a0), AE_AML_BUFFER_LIMIT ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPC0.PMIO._CRS] (Node 0xffffff00011f50a0), AE_AML_BUFFER_LIMIT can't fetch resources for \\_SB_.PCI0.LPC0.PMIO - AE_AML_BUFFER_LIMIT Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 acpi_ec0: port 0x62,0x66 on acpi0 acpi_hpet0: iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 25000000 Hz quality 900 acpi_acad0: on acpi0 battery0: on acpi0 acpi_lid0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 pci0: at device 0.0 (no driver attached) isab0: port 0x1d00-0x1dff at device 1.0 on pci0 isa0: on isab0 pci0: at device 1.1 (no driver attached) pci0: at device 1.3 (no driver attached) ohci0: mem 0xf2486000-0xf2486fff irq 18 at device 2.0 on pci0 ohci0: [GIANT-LOCKED] ohci0: [ITHREAD] usb0: OHCI version 1.0, legacy support usb0: on ohci0 usb0: USB revision 1.0 uhub0: on usb0 uhub0: 10 ports with 10 removable, self powered ehci0: mem 0xf2488000-0xf24880ff irq 17 at device 2.1 on pci0 ehci0: [GIANT-LOCKED] ehci0: [ITHREAD] usb1: EHCI version 1.0 usb1: companion controller, 10 ports each: usb0 usb1: on ehci0 usb1: USB revision 2.0 uhub1: on usb1 uhub1: 10 ports with 10 removable, self powered ugen0: on uhub1 nfe0: port 0x30e0-0x30e7 mem 0xf2487000-0xf2487fff irq 20 at device 6.0 on pci0 miibus0: on nfe0 rgephy0: PHY 1 on miibus0 rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto nfe0: Ethernet address: 00:1e:68:5a:d2:e1 nfe0: [FILTER] pci0: at device 7.0 (no driver attached) pcib1: at device 8.0 on pci0 pci_link0: BIOS IRQ 15 for 7.5.INTA is invalid pci_link1: BIOS IRQ 10 for 7.5.INTB is invalid pci7: on pcib1 fwohci0: <1394 Open Host Controller Interface> irq 9 at device 5.0 on pci7 fwohci0: [FILTER] fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:24:1b:00:a1:b7:e8:00 fwohci0: Phy 1394a available S400, 1 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: on fwohci0 fwe0: on firewire0 if_fwe0: Fake Ethernet address: 02:24:1b:b7:e8:00 fwe0: Ethernet address: 02:24:1b:b7:e8:00 fwip0: on firewire0 fwip0: Firewire address: 00:24:1b:00:a1:b7:e8:00 @ 0xfffe00000000, S400, maxrec 2048 sbp0: on firewire0 dcons_crom0: on firewire0 dcons_crom0: bus_addr 0x2550000 fwohci0: Initiate bus reset fwohci0: BUS reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode pci7: at device 5.1 (no driver attached) pci7: at device 5.2 (no driver attached) pci7: at device 5.3 (no driver attached) pci7: at device 5.4 (no driver attached) atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x30c0-0x30cf at device 9.0 on pci0 ata0: on atapci0 ata0: [ITHREAD] ata1: on atapci0 ata1: [ITHREAD] atapci1: port 0x30f8-0x30ff,0x30ec-0x30ef,0x30f0-0x30f7,0x30e8-0x30eb,0x30d0-0x30df mem 0xf2484000-0xf2485fff irq 23 at device 10.0 on pci0 atapci1: [ITHREAD] ata2: on atapci1 ata2: [ITHREAD] ata3: on atapci1 ata3: [ITHREAD] pcib2: at device 11.0 on pci0 pci1: on pcib2 pcib3: at device 12.0 on pci0 pci3: on pcib3 ath0: mem 0xf2000000-0xf200ffff irq 16 at device 0.0 on pci3 ath0: [ITHREAD] ath0: unable to attach hardware; HAL status 13 device_attach: ath0 attach returned 6 pcib4: at device 13.0 on pci0 pci5: on pcib4 vgapci0: port 0x4000-0x407f mem 0xce000000-0xceffffff,0xd0000000-0xdfffffff,0xcc000000-0xcdffffff irq 19 at device 0.0 on pci5 pcib5: at device 14.0 on pci0 pci9: on pcib5 acpi_button0: on acpi0 acpi_button1: on acpi0 acpi_tz0: on acpi0 acpi_tz0: _CRT value is absurd, ignored (-72.6C) atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model IntelliMouse, device ID 3 cpu0: on acpi0 acpi_throttle0: on cpu0 powernow0: on cpu0 cpu1: on acpi0 acpi_throttle1: on cpu1 acpi_throttle1: failed to attach P_CNT device_attach: acpi_throttle1 attach returned 6 powernow1: on cpu1 orm0: at iomem 0xcd800-0xcefff,0xdf000-0xdffff on isa0 ppc0: cannot reserve I/O port range sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 8250 or not responding sio0: [FILTER] sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounters tick every 1.000 msec firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) acpi_tz0: _CRT value is absurd, ignored (-72.6C) acd0: DVDR at ata0-master PIO4 ad4: 305245MB at ata2-master UDMA33 GEOM_LABEL: Label for provider acd0 is iso9660/CDROM. SMP: AP CPU #1 Launched! GEOM_LABEL: Label for provider ad4s2 is ntfs/HP_RECOVERY.