diff options
Diffstat (limited to 'proto/ospf')
-rw-r--r-- | proto/ospf/lsupd.c | 1 | ||||
-rw-r--r-- | proto/ospf/rt.c | 27 |
2 files changed, 14 insertions, 14 deletions
diff --git a/proto/ospf/lsupd.c b/proto/ospf/lsupd.c index 7ae2f2a..b1f6f46 100644 --- a/proto/ospf/lsupd.c +++ b/proto/ospf/lsupd.c @@ -501,6 +501,7 @@ ospf_lsupd_receive(struct ospf_packet *ps_i, struct ospf_iface *ifa, DBG("Update Type: %u ID: %R RT: %R, Sn: 0x%08x Age: %u, Sum: %u\n", lsatmp.type, lsatmp.id, lsatmp.rt, lsatmp.sn, lsatmp.age, lsatmp.checksum); + /* FIXME domain should be link id for unknown LSA types with zero Ubit */ u32 domain = ospf_lsa_domain(lsatmp.type, ifa); lsadb = ospf_hash_find_header(po->gr, domain, &lsatmp); diff --git a/proto/ospf/rt.c b/proto/ospf/rt.c index 832281e..a72a94b 100644 --- a/proto/ospf/rt.c +++ b/proto/ospf/rt.c @@ -360,20 +360,19 @@ ospf_rt_spfa(struct ospf_area *oa) if (rt->options & OPT_RT_V) oa->trcap = 1; - /* FIXME - in OSPFv3, should we add all routers, or just ABRs an ASBRs? */ - if ((rt->options & OPT_RT_V) || (rt->options & OPT_RT_E)) - { - nf.type = RTS_OSPF; - nf.options = rt->options; - nf.metric1 = act->dist; - nf.metric2 = LSINFINITY; - nf.tag = 0; - nf.oa = oa; - nf.ar = act; - nf.nh = act->nh; - nf.ifa = act->nhi; - ri_install(po, ipa_from_rid(act->lsa.rt), MAX_PREFIX_LENGTH, ORT_ROUTER, &nf, NULL); - } + /* In OSPFv2, just ASBRs and ABRs are needed to add to oa->rtr table */ + // ((rt->options & OPT_RT_V) || (rt->options & OPT_RT_E)) + + nf.type = RTS_OSPF; + nf.options = rt->options; + nf.metric1 = act->dist; + nf.metric2 = LSINFINITY; + nf.tag = 0; + nf.oa = oa; + nf.ar = act; + nf.nh = act->nh; + nf.ifa = act->nhi; + ri_install(po, ipa_from_rid(act->lsa.rt), MAX_PREFIX_LENGTH, ORT_ROUTER, &nf, NULL); #ifdef OSPFv2 ospf_rt_spfa_rtlinks(oa, act, act); |