diff options
author | Ondrej Filip <feela@network.cz> | 2000-04-30 22:14:31 +0000 |
---|---|---|
committer | Ondrej Filip <feela@network.cz> | 2000-04-30 22:14:31 +0000 |
commit | 85195f1a53eb350cd32ecba69c208dbece6fb776 (patch) | |
tree | 730babc6971a28407f5046add3913dde3abd5882 /proto/ospf/iface.c | |
parent | 2337ade7546254eb48a22a1e195cc7999e684d21 (diff) |
Many small changes and bug fixes. Routing table calculation works.
I'm waiting for rt lookup to add stub networks.
Diffstat (limited to 'proto/ospf/iface.c')
-rw-r--r-- | proto/ospf/iface.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c index 47ab8dcb..7015f012 100644 --- a/proto/ospf/iface.c +++ b/proto/ospf/iface.c @@ -73,9 +73,8 @@ downint(struct ospf_iface *ifa) void ospf_int_sm(struct ospf_iface *ifa, int event) { - struct proto *p; - - p=(struct proto *)(ifa->proto); + struct proto *p=(struct proto *)(ifa->proto); + struct proto_ospf *po=ifa->proto; DBG("%s: SM on iface %s. Event is \"%s\".\n", p->name, ifa->iface->name, ospf_ism[event]); @@ -105,12 +104,14 @@ ospf_int_sm(struct ospf_iface *ifa, int event) } addifa_rtlsa(ifa); } + originate_rt_lsa(ifa->oa,po); break; case ISM_BACKS: case ISM_WAITF: if(ifa->state==OSPF_IS_WAITING) { bdr_election(ifa ,p); + originate_rt_lsa(ifa->oa,po); } break; case ISM_NEICH: @@ -119,16 +120,21 @@ ospf_int_sm(struct ospf_iface *ifa, int event) { bdr_election(ifa ,p); } + originate_rt_lsa(ifa->oa,po); + break; case ISM_DOWN: iface_chstate(ifa, OSPF_IS_DOWN); downint(ifa); + originate_rt_lsa(ifa->oa,po); break; case ISM_LOOP: /* Useless? */ iface_chstate(ifa, OSPF_IS_LOOP); downint(ifa); + originate_rt_lsa(ifa->oa,po); break; case ISM_UNLOOP: iface_chstate(ifa, OSPF_IS_DOWN); + originate_rt_lsa(ifa->oa,po); break; default: die("%s: ISM - Unknown event?",p->name); |