Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug
report.
http://bugzilla.quagga.net/show_bug.cgi?id=431
------- Additional Comments From paul@dishone.st 2008-03-26 21:04 -------
Another example from Denis, via IRC:
20:20 < Pilot> eth0: 10.0.0.0/24
20:20 < Pilot> eth1: 10.0.1.0/24
20:20 < Pilot> eth2: 10.0.2.0/24
20:20 < Pilot> and 3 statics:
20:21 < Pilot> 10.0.0.0/24 via 10.0.1.254
20:21 < Pilot> 10.0.1.0/24 via 10.0.2.254
20:21 < Pilot> 10.0.2.0/24 via 10.0.0.254
20:43 < Pilot> B> 10.0.0.0/24 via 10.0.2.254
20:43 < Pilot> B> 10.0.1.0/24 via 10.0.0.254
20:43 < Pilot> B> 10.0.2.0/24 via 10.0.1.254
20:44 < Pilot> whichever order you try, you always get one record with
incorrectly resolved B> RIB and one record with incorrectly resolved S> RIB
20:46 < Pilot> in the above case you'll get the last RN evaluated correctly
20:46 < Pilot> (cause all 3 C> RIBs and 2 S> RIBs will be processed as should be)
20:47 < Pilot> the RN before the last will have one RIB incorrect
20:47 < Pilot> and the first RN will have only C> correct
20:48 < Pilot> the RIB records for some RNs will be there, but they won't have
their nexthops updated the right way
20:49 < Pilot> this way, to produce the correct RIB from this "3 RN, 3
protocols" setup, you'll need to repeat rib_process() 3 times
20:50 < Pilot> 1 pass: you have 3 C> RIBs for sure and probably 2 S> RIBs and
may be 1 B> RIB
20:50 < Pilot> 2nd pass: 3 C> RIBs are left untouched and you end up with 3
correct S> RIBs
20:51 < Pilot> 3rd pass: now you can be 100% sure all 3 B> RIBs have recursive
nexthop resolved properly
20:51 < paul> what should be the correct result (another dumb question perhaps ;) )
20:52 < Pilot> 3 RNs, each holding 3 RIBs
20:52 < Pilot> only C> ones will be selected
20:53 < Pilot> let's change the setup a little
20:53 < Pilot> B> 20.0.0.0/24 via 10.0.2.254
20:53 < Pilot> B> 20.0.1.0/24 via 10.0.0.254
20:53 < Pilot> B> 20.0.2.0/24 via 10.0.1.254
20:55 < Pilot> after the traditional rib_process() run some of the 20's could
happen inactive just because the nexthop wasn't yet available at the moment they
were processed
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
_______________________________________________
Quagga-bugs mailing list
Quagga-bugs@lists.quagga.net
http://lists.quagga.net/mailman/listinfo/quagga-bugs
comments should be made in the comments box of this bug
report.
http://bugzilla.quagga.net/show_bug.cgi?id=431
------- Additional Comments From paul@dishone.st 2008-03-26 21:04 -------
Another example from Denis, via IRC:
20:20 < Pilot> eth0: 10.0.0.0/24
20:20 < Pilot> eth1: 10.0.1.0/24
20:20 < Pilot> eth2: 10.0.2.0/24
20:20 < Pilot> and 3 statics:
20:21 < Pilot> 10.0.0.0/24 via 10.0.1.254
20:21 < Pilot> 10.0.1.0/24 via 10.0.2.254
20:21 < Pilot> 10.0.2.0/24 via 10.0.0.254
20:43 < Pilot> B> 10.0.0.0/24 via 10.0.2.254
20:43 < Pilot> B> 10.0.1.0/24 via 10.0.0.254
20:43 < Pilot> B> 10.0.2.0/24 via 10.0.1.254
20:44 < Pilot> whichever order you try, you always get one record with
incorrectly resolved B> RIB and one record with incorrectly resolved S> RIB
20:46 < Pilot> in the above case you'll get the last RN evaluated correctly
20:46 < Pilot> (cause all 3 C> RIBs and 2 S> RIBs will be processed as should be)
20:47 < Pilot> the RN before the last will have one RIB incorrect
20:47 < Pilot> and the first RN will have only C> correct
20:48 < Pilot> the RIB records for some RNs will be there, but they won't have
their nexthops updated the right way
20:49 < Pilot> this way, to produce the correct RIB from this "3 RN, 3
protocols" setup, you'll need to repeat rib_process() 3 times
20:50 < Pilot> 1 pass: you have 3 C> RIBs for sure and probably 2 S> RIBs and
may be 1 B> RIB
20:50 < Pilot> 2nd pass: 3 C> RIBs are left untouched and you end up with 3
correct S> RIBs
20:51 < Pilot> 3rd pass: now you can be 100% sure all 3 B> RIBs have recursive
nexthop resolved properly
20:51 < paul> what should be the correct result (another dumb question perhaps ;) )
20:52 < Pilot> 3 RNs, each holding 3 RIBs
20:52 < Pilot> only C> ones will be selected
20:53 < Pilot> let's change the setup a little
20:53 < Pilot> B> 20.0.0.0/24 via 10.0.2.254
20:53 < Pilot> B> 20.0.1.0/24 via 10.0.0.254
20:53 < Pilot> B> 20.0.2.0/24 via 10.0.1.254
20:55 < Pilot> after the traditional rib_process() run some of the 20's could
happen inactive just because the nexthop wasn't yet available at the moment they
were processed
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
_______________________________________________
Quagga-bugs mailing list
Quagga-bugs@lists.quagga.net
http://lists.quagga.net/mailman/listinfo/quagga-bugs