From 85195f1a53eb350cd32ecba69c208dbece6fb776 Mon Sep 17 00:00:00 2001 From: Ondrej Filip Date: Sun, 30 Apr 2000 22:14:31 +0000 Subject: Many small changes and bug fixes. Routing table calculation works. I'm waiting for rt lookup to add stub networks. --- proto/ospf/iface.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'proto/ospf/iface.c') diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c index 47ab8dc..7015f01 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); -- cgit v1.2.3