Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Aug 2001 10:28:32 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        "Eugene L. Vorokov" <vel@bugz.infotecs.ru>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: IP address on bridge
Message-ID:  <3B7D5440.91AF6798@mindspring.com>
References:  <200108171109.f7HB98k29893@bugz.infotecs.ru>

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B7D5440.91AF6798>