Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Jul 2001 10:39:20 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        "Eugene L. Vorokov" <vel@bugz.infotecs.ru>, Soren Kristensen <soren@soekris.com>, freebsd-hackers@FreeBSD.ORG, freebsd-net@FreeBSD.ORG
Subject:   Why two cards on the same segment...
Message-ID:  <3B6055C8.C0B5554D@mindspring.com>
References:  <200107260837.f6Q8b9K00767@bugz.infotecs.ru> <3B5FDD32.7758EB35@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote:
> > > Things seem to work fine now, but I still get a lot of those:
> > >
> > > "Jul 26 00:43:48 test256m /kernel: arp: 192.168.1.4 is on sis0 but got
> > > reply from 00:a0:cc:a0:d4:07 on sis1"
> > >
> > > Anybody know how to turn them off ?
> >
> > Yes, I have this problem too. We use several interfaces with totally
> > different addresses connected to the same hub for testing purposes,
> > on a testing stand. It's more cheap than bulding truly different
> > networks. I think it isn't possible to just turn those log messages
> > off without kernel hacking, which is sad. Probably some sysctl var
> > would be good ...
> 
> why not use several addresses on one card?

At a guess, he's attempting to implement VRRP, which requires
that the virtual interface have a differen MAC address, and
FreeBSD fails to support programming of MAC addresses, and
even if it did, things like the Tigon II only support one
programmable MAC (Tigon III supports 4, and Intel Gigabit Pro
supports 16).

Even after crossing that hurdle, FreeBSD will send out the
interface, and does not have the concept of virtualized
interfaces, and without that, he'd get packets in on the VIP,
but send them out on the primary MAC, instead of the VIP MAC,
which would confuse the hell out of his switch.  FreeBSD fails
to do this because the route goes to an interface, and does
not distinguish virtual interfaces, and therefore does not
distinguish virtual MACs (and then use the right one).

So short of implementing auxillary MAC programming and virtual
interfaces in FreeBSD, he has to use two cards on the same wire.

...not to mention the mess the current FreeBSD ARP code is in,
with regard to gratuitous ARPs...

...or the mess that the FreeBSD interface code is in, since it
resets the ethernet hardware anytime you ifconfig an alias on
or off the card, or the real IP on or off the card, instead of
leaving the card alone (try this on a Tigon II: be prepared to
wait a long time, since a reset reloads the firmware on these
beasts, since FreeBSD doesn't have a seperate driver entry point
to support downloading of firmware as a seperate, one-time event).

...or the mess the FreeBSD alias code is in, with it demanding
netmasks of 255.255.255.255 on aliases, so that aliases and
the primary IP _MUST_ have the same netmask instead of different
ones (hell, he may just be trying to have two IP's with different
netmasks, and the only way he can do it in FreeBSD is to have two
cards!).


So, the major reasons for two cards on one segment: to work around
bugs in FreeBSD's networking code.

-- 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?3B6055C8.C0B5554D>