[quagga-dev 3501] Re: [quagga-users 4757] Re: Quagga and Carp Devices

Hasso Tepper hasso at estpak.ee
Wed Jun 8 12:02:20 BST 2005


Nick M. Gregory wrote:
> Hi,
> 
> Yep - two separate interfaces with unique ifindex's - same subnet,
> insane maybe however guess its technology that may crop up more often
> judging from the other threads on this list.

Of course ... we have no control over insane ideas of OS developers ;P.
However our main problem is how we treat connected routes and Cisco CLI.

> The response from one of the network guys on the actual problem is:
> 
> "I redistributing from one process to the other on both 6500s, which
> according to Cisco doesn't work properly due to the LSA received being
> broken.
> So basically what happens is that it redists on one 6500 but not on the
> other and vice versa one the "active" one is reset.
> Also the metric does _not_ influence this selection."
>
> We've basically raised this as a TAC case with Cisco however the
> engineers have seen the duplicate routes and have declared the LSA db to
> be broken which is hindering us progressing the problem with them.

Clear. At first I'd like to avoid this situation at all. Ie. filtering out
duplicates shouldn't be too hard. But it's only half of problem.

We ignore "connected" routes in FIB and create them ourselves in zebra daemon.
There are quite good reasons to do it and there is nothing to argue. But this
creates problem for us in this case - we create duplicate connected route in
RIB although FIB (probably) doesn't have the one on carp0.

It should be still OK if we'd have fine grained control over interfaces
included into ospf domain, but we don't. Lets see how Cisco does it - it
matches interface IP address not subnet.

For example:

"network 192.168.1.0 0.0.0.31 area 0.0.0.0" matches all interfaces which have
_addresses_ from range 192.168.1.0/27. Subnet isn't taken into account at all.

"network 192.168.1.10 0.0.0.0 area 0.0.0.0" matches interface which has IP
address 192.168.1.10.

This should give us the control we need most. There is no very good reason to
use wildcard in Quagga, but it would be nice to have though. But as a start
allowing things like "network 192.168.1.10/32 area 0.0.0.0" will do (it will
match interface with address 192.168.1.10/24, but not other interface
192.168.1.11/24).

It should be easy to change ospf_network_match_iface(), but I'm not sure about
all consequences.

> So short term I could just do with eliminating the duplicate routing
> entries - do you think filtering via metric is a viable solution?

If it works, go ahead :).


-- 
Hasso Tepper
Elion Enterprises Ltd.
WAN administrator



More information about the Quagga-dev mailing list