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>