[prev in list] [next in list] [prev in thread] [next in thread]
List: zebra
Subject: [zebra 19217] Re: Equal cost multi-path problem
From: Paul Jakma <paulj () alphyra ! ie>
Date: 2003-05-30 17:56:52
[Download RAW message or body]
On Thu, 29 May 2003, kamatchi soundaram wrote:
> Hi,
>
> I didn't get your previous mail. Could you send it again!!
disregard.. i was completely wrong, either too little or too much
coffee.
it is indeed a problem, i remember seeing it once even.
> Well!!.. would you suggest any other solution for the above problem??
when you change the cost of an interface, ospf_router_lsa_timer_add
(oi->area) should be called, to recalculate the area->router_lsa_self,
and hence the entire spf tree for that area. ospf_router_lsa_timer()
calls ospf_router_lsa_refresh (area->router_lsa_self), which calls
ospf_router_lsa_new(area), which should return a new router_lsa, with
the LSAs updated with proper costs, then ospf_lsa_install (area->ospf,
NULL, new) is called, which should in theory detect the LSA is
different, (by means of ospf_lsa_different()) and hence should call
ospf_router_lsa_install() with rt_recalc set to 1, so that the SPF tree is
recalculated.
so either...
- the new router_lsa_self generated by ospf_router_lsa_new() (from
ospf_router_lsa_refresh()) and then passed to ospf_lsa_install() does
not have the cost updated. (or is not different enough for
ospf_lsa_different() to detect it is different, though it does a
memcmp as last resort. so..)
- or is there some other problem in ospf_lsa_install, which is causing
it to call ospf_router_lsa_install() without rt_recalc set to 1.
the problem is in that path somewhere anyway, somewhere between
ospf_router_lsa_timer_add(oi->area) and the end of ospf_lsa_install(),
and thats where the fix needs to be made (not in ospf_spf.c)
regards,
--
Paul Jakma Sys Admin Alphyra
paulj@alphyra.ie
Warning: /never/ send email to spam@dishone.st or trap@dishone.st
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic