From owner-freebsd-hackers Fri Aug 17 10:28:16 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from robin.mail.pas.earthlink.net (robin.mail.pas.earthlink.net [207.217.120.65]) by hub.freebsd.org (Postfix) with ESMTP id EB29937B414 for ; Fri, 17 Aug 2001 10:28:10 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from mindspring.com (dialup-209.247.143.184.Dial1.SanJose1.Level3.net [209.247.143.184]) by robin.mail.pas.earthlink.net (EL-8_9_3_3/8.9.3) with ESMTP id KAA24851; Fri, 17 Aug 2001 10:27:51 -0700 (PDT) Message-ID: <3B7D5440.91AF6798@mindspring.com> Date: Fri, 17 Aug 2001 10:28:32 -0700 From: Terry Lambert Reply-To: tlambert2@mindspring.com X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: "Eugene L. Vorokov" Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: IP address on bridge References: <200108171109.f7HB98k29893@bugz.infotecs.ru> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 "Eugene L. Vorokov" wrote: > I'm observing some strange problem when I have an IP address on one card > on a bridge machine and want to telnet in. I have 4.2-RELEASE box with > two network cards: Realtek 8139 (rl0) and 3Com 3C905B (xl0). rl0 is connected > to the world, and xl0 to the intranet switch. FreeBSD handbook says that > I'm allowed to assign an IP address to one of the two interfaces. Okay, > so I assign the address to xl0. But I'm unable to access it from a machine > on xl0 side. arp is found properly, and packets are sent, but somehow > bridge machine just ignores those packets (tcpdump shows nothing). > > If I assign IP address to rl0 rather than xl0, it works for short time, > then machine I telnet from says that arp of the bridge is moved to xl0 > arp again, and packets get lost. ifconfig rl0 down/up and ping'ing the > machine I telnet from (so it gets proper arp) heals, but for the short time > again. 1) The xl0 interface is working for transmit but not receive, or it would keep working after the ARP move. 2) You are putting both interfaces on the same wire; this means you have another bridge out there somewhere, or the wire doesn't need to be bridged, and is why the ARP is claimed to have moved. 3) A gratuitous ARP is sent when you ifconfig an interface to add an IP address (e.g. when you add an alias, or bring the interface from down to up). This is why the "pinging heals" when you reset the interface. So... A) Do not put two interfaces on the same wire, particularly if you have not set your netmask to make their listen ranges non-intersecting. B) Make sure the xl0 interface is correctly assigning an interrupt, etc.. You can check this by making it the default gateway for the machine, not configuring the other interface, and seeing if things work. If they don't, you have a bad card, driver, or BIOS (the BIOS does the IRQ assignment, if you have "PNP OS" enabled in the BIOS configuration, and some BIOS' do it wrong). C) Find the other bridge, if you haven't put both cards on the same wire segment, since _someone_ is forwarding those ARP packets, if that's the case. D) Realize you can only have one default interface on a machine at a time, so correctly use your subnet masks. E) Consider doing routing instead of bridgeing. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message