From owner-freebsd-hackers Sun Jul 7 1:35:37 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4C1E337B400 for ; Sun, 7 Jul 2002 01:35:31 -0700 (PDT) Received: from www.kozubik.com (www.kozubik.com [198.78.70.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id EF58243E54 for ; Sun, 7 Jul 2002 01:35:30 -0700 (PDT) (envelope-from john@kozubik.com) Received: from localhost (john@localhost) by www.kozubik.com (8.11.0/8.11.0) with ESMTP id g678TZo08670 for ; Sun, 7 Jul 2002 01:29:35 -0700 (PDT) (envelope-from john@kozubik.com) Date: Sun, 7 Jul 2002 01:29:35 -0700 (PDT) From: John Kozubik X-Sender: john@www To: freebsd-hackers@freebsd.org Subject: multi-link 802.11b through netgraph yields poor performance. Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Julian, Archie, et al, I have experimented with a multi-link 802.11b connection between two laptops. Both are 4.5-RELEASE, one has two aironet LMC352 cards, and one has two Lucent gold cards. I have successfully used ng_one2many, etc., to establish a working multi-link between the two systems - however, I would appreciate any comments regarding the very poor performance I see when networked in this manner. The problem I see is that, when using `ping` on either machine, exactly every other packet is dropped. After running `ping` for many minutes, trying it from both machines, it is clear that _exactly_ every other packet is dropped. Further, echo response time is between 2.2 and 2.5 milliseconds, which seems very high. I have configured the multi-link using the examples found in the ng_one2many(4) man page - the only difference is that I have only two cards in each machine, so in addition to running fewer `ngctl` commands, I also had fewer links in my setconfig msg ([ 1 1 ] instead of [ 1 1 1 1 ]). `ngctl list` on both machines yields this (seemingly correct) information: There are 4 total nodes: Name: ngctl338 Type: socket ID: 00000013 Num hooks: 0 Name: Type: one2many ID: 00000009 Num hooks: 3 Name: an1 Type: ether ID: 00000002 Num hooks: 1 Name: an0 Type: ether ID: 00000001 Num hooks: 2 Finally, I should point out that one card in each machine is on channel 1, and one card in each machine is on channel 11 - thus there are two card pairs crossing each machine and each card pair shares not only a frequency/channel, but also a SSID. The purely wireless networking portion of this experiment seems to be correct. (I posted a few weeks ago to freebsd-mobile a correct mechanism to get wi cards talking to an cards in ad-hoc mode). Theoretically interference should not be an issue as I am using channels 1 and 11. The behavior does not change regardless of how close the two laptops are or what their relative vertical/horizontal orientation is ... moving around the external antennas attached to the LMC352s has no effect. Therefore, since the every other packet echo response and the high latency continues without missing a beat regardless of what I do to try to affect the interference (if any) I must conclude that I am witnessing either: a) a problem in the wireless drivers that causes them to be confused when two of the same card is configured in the system using different frequencies or SSIDs b) a problem or misconfiguration on my part in the netgraph configuration --- (a) seems unlikely as I feel that unspecific "issues" with the wireless drivers would cause effects that were less regular than "drop exactly every other packet". However (b) also seems unlikely - if I had misconfigured netgraph and ng_one2many, it seems unlikely that this would work at all. It's possible that my netgraph configuration is not even being used, and that an0 is simply talking to wi0 over a non-multi-link, and that everything else that is going on just happens to cause problems for that normal ad-hoc, one card to one card operation. However, my netgraph commands you will see below, and the output of my `ngctl list` commands suggest that netgraph is configured correctly. Here are the network and netgraph related commands I entered, in order: On machine A: ifconfig an0 10.10.10.10 netmask 255.255.255.0 ngctl mkpeer an0: one2many upper one ngctl connect an0: an0:upper lower many0 ngctl connect an1: an0:upper lower many1 ifconfig an1 up ngctl msg an1: setpromisc 1 ngctl msg an1: setautosrc 0 ngctl msg an0:upper setconfig "{ xmitAlg=1 failAlg=1 enabledLinks=[ 1 1 ] }" On machine B: ifconfig wi0 10.10.10.20 netmask 255.255.255.0 ngctl mkpeer wi0: one2many upper one ngctl connect wi0: wi0:upper lower many0 ngctl connect wi1: wi0:upper lower many1 ifconfig wi1 up ngctl msg wi1: setpromisc 1 ngctl msg wi1: setautosrc 0 ngctl msg wi0:upper setconfig "{ xmitAlg=1 failAlg=1 enabledLinks=[ 1 1 ] }" Any comments as to why the problems I am seeing (half of packets dropped and high latency) exist are appreciated. ----- John Kozubik - john@kozubik.com - http://www.kozubik.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message