On 03/11/2010 08:13 AM, Eric S. Johnson wrote:
>
> So I am kind feeling silly this morning. Ive been chasing a bug
> that nearly  does not exist.
>
> On and off for the last two weeks I have been trying to debug
> why xorp svn (checked out 20100217, i dont think much has changed
> since then) VRRP didn't work.
>
> The behavior I saw was that when xorp became master for a router
> it would correctly change the mac address on the interface, but
> yet pinging the virtual IP would not work. I thought VRRP was
> broken and spent some time tracing through the code to figure
> out what was going on and going wrong.
>
> It was not until I was deep in the depths of vrrp/arpd.cc
> that I realized that the code was *mostly* working. Well,
> all the code I could find was working, but there is one
> behavior that is far from what I expected.
>
> I  found that indeed I could ping THROUGH the xorp VRRP master
> router, just not ping the virtual address it self.
>
> And that seems to be the way the code is designed to work?!?
>
> Vrrp::become_master()
> {
>      _state = MASTER;
>                                       // my comments
>      _vif.add_mac(_source_mac);               // this changes the mac on the 
> interface
>      send_advertisement();            // start sending vrrp master 
> announcements
>      send_arps();                     // send gratuitous arps
>      setup_timers();                  // start timers
>      _arpd.start();                   // start an pseudo arp deamon
>                                       // that responds to arp requests for 
> the virtual
>                                       // IP address with the virtual mac

Seems to me that if we put a second IP on the interface, then we
can let the OS deal with arp and kill the arpd logic entirely.

> Would a correct solution be to have xorp set the virtual IP
> as a secondary IP on that VIF? If so, what would be the correct
> way to do this.. IfTreeVif::add_addr method?

Sounds good to me.  I fixed the bug in xorp.ct that caused vrrp
to crash early...now I'm seeing similar activity w/regard to
the MAC addr being set but no IP visible.

I'll poke at the add_addr logic and see what I can get
to happen...

Thanks,
Ben

-- 
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com

_______________________________________________
Xorp-hackers mailing list
[email protected]
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers

Reply via email to