Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Apr 2002 09:12:40 +0200
From:      "Sebastien Petit" <spe@selectbourse.net>
To:        <cjclark@alum.mit.edu>
Cc:        "Scott Ullrich" <sullrich@CRE8.COM>, <freebsd-net@freebsd.org>
Subject:   Re: HUT Project
Message-ID:  <000d01c1dba8$1c0c6e90$020110ac@SPE>
References:  <2F6DCE1EFAB3BC418B5C324F13934C96016C9521@exchange.corp.cre8.com> <20020402170922.G52193@blossom.cjclark.org> <20020403100144.E148FBADD@sbserv0.intra.selectbourse.net> <20020403214530.A57543@blossom.cjclark.org>

next in thread | previous in thread | raw e-mail | index | archive | help

----- Original Message -----
From: "Crist J. Clark" <crist.clark@attbi.com>
To: "Sebastien Petit" <spe@selectbourse.net>
Cc: "Scott Ullrich" <sullrich@CRE8.COM>; "'Barney Wolff'"
<barney@databus.com>; <freebsd-net@FreeBSD.ORG>
Sent: Thursday, April 04, 2002 7:45 AM
Subject: Re: HUT Project


> On Wed, Apr 03, 2002 at 12:06:20PM +0200, Sebastien Petit wrote:
> [snip]
>
> > Design of freevrrpd cause a problem actually because when a MASTER
server
> > leave LAN (cable problem), SLAVE take his place and send gratuitous ARP
for
> > update ARP cache of all hosts on the same LAN.
>
> That's not really accurate. The reason a backup router who becomes
> master is required to send a gratuitous ARP is so that the learning
> bridges (a.k.a. switches) can learn which port the MAC address is
> on. Since the MAC-to-IP relationship never actually changes, there
> isn't really any need to update the ARP cache of hosts (that's kinda
> the whole idea).
>
> > Normally, I don't need that if
> > I can set one ethernet address and one VIP on one alias. This method
cause a
> > problem when MASTER is living again because it don't send any Gratuitous
ARP
> > for reupdating all ARP caches of all hosts on the same LAN with his
ethernet
> > address.
>
> Huh?
>
> > So, my question is simple, is there a mechanism like netgraph or TAP
that
> > permits me to do that:
> >
> > xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         options=3<rxcsum,txcsum>
> >         /* Real address of the server on the first LAN 1 */
> >         inet 172.16.1.1 netmask 0xffff0000 broadcast 172.16.255.255
> >         ether 00:b0:d0:5e:3a:04
> >
> > xl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         options=3<rxcsum,txcsum>
> >         /* Real address of the server on the LAN 2 */
> >         inet 10.0.0.1 netmask 0xff000000 broadcast 10.255.255.255
> >         ether 00:b0:d0:5e:3a:10
> >
> > /* Alias on xl0 with ethernet address 00:00:5E:00:01:01 because this is
the
> >     VRID 1 */
> > xl0:0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         options=3<rxcsum,txcsum>
> >         inet 172.16.2.1 netmask 0xffff0000 broadcast 172.16.255.255
> >         ether 00:00:5E:00:01:01
> >
> > /* Alias on xl1 with ethernet address 00:00:5E:00:01:01 becasue this is
the
> >     VRID 1 on the LAN 2 (not the same as LAN1) */
> > xl1:0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         options=3<rxcsum,txcsum>
> >         inet 10.0.1.1 netmask 0xff000000 broadcast 10.255.255.255
> >         ether 00:00:5E:00:01:01
> >
> > I think that TAP interface cannot permit me to do that because I can't
attach
> > one tap interface on one physical interface. I can have multiple
> > 00:00:5E:00:01:01 MAC addresses on multiple LAN connected on multiple
> > physical interfaces of the same host.
> > My wish is to implement VRRP as clean as I can but there is some
> > limitations...
> > Any idea to implement that correctly under FreeBSD ?
>
> One point. I don't see any reason to maintain the separate xl[01]
> interfaces with other MAC addresses in this example.

with the RFC2338, FreeBSD must respond to ARP query on 10.0.1.1 and
172.16.2.1 with 00:00:5E:01:01 MAC address and not with the real MAC
addresses of physical interfaces. Then when a switching between SLAVE and
MASTER occures ARP cache doesn't need to be updated anyware. The switch
learn effectivly the MAC address on his port but it updates his ARP table
automaticly when another host become a MASTER because the new MASTER send
VRRP packets every seconds.
so if you don't use real aliases with RFC2338 MAC addresses, ARP cache of
hosts on the same LAN need to be updated (because SLAVE doesn't have the
same MAC address as the MASTER). This problem is describe in the RFC2338.
Then, I need to write a new node called ng_alias for example and use it for
doing this staff.

But perhaps I'm wrong with that or with RFC2338. If this is the case, can
you correct me ?
Any comments ?

Sebastien.
--
spe@selectbourse.net


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000d01c1dba8$1c0c6e90$020110ac>