diff options
Diffstat (limited to 'proto/ospf/lsreq.c')
-rw-r--r-- | proto/ospf/lsreq.c | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/proto/ospf/lsreq.c b/proto/ospf/lsreq.c index 5d387ee..3b5ac4b 100644 --- a/proto/ospf/lsreq.c +++ b/proto/ospf/lsreq.c @@ -59,49 +59,6 @@ ospf_lsreq_tx(struct ospf_neighbor *n) } void -lsrr_timer_hook(timer *timer) -{ - struct ospf_iface *ifa; - struct proto *p; - struct ospf_neighbor *n; - struct top_hash_entry *en; - - n=(struct ospf_neighbor *)timer->data; - ifa=n->ifa; - p=(struct proto *)(ifa->proto); - - DBG("%s: LSRR timer fired on interface %s for neigh: %I.\n", - p->name, ifa->iface->name, n->rid); - if(n->state<NEIGHBOR_FULL) ospf_lsreq_tx(n); - else - { - if(!EMPTY_SLIST(n->lsrtl)) - { - list uplist; - slab *upslab; - struct l_lsr_head *llsh; - - init_list(&uplist); - upslab=sl_new(n->pool,sizeof(struct l_lsr_head)); - - WALK_SLIST(SNODE en,n->lsrtl) - { - if((SNODE en)->next==(SNODE en)) bug("RTList is cycled"); - llsh=sl_alloc(upslab); - llsh->lsh.id=en->lsa.id; - llsh->lsh.rt=en->lsa.rt; - llsh->lsh.type=en->lsa.type; - DBG("Working on ID: %I, RT: %I, Type: %u\n", - en->lsa.id, en->lsa.rt, en->lsa.type); - add_tail(&uplist, NODE llsh); - } - ospf_lsupd_tx_list(n, &uplist); - rfree(upslab); - } - } -} - -void ospf_lsreq_rx(struct ospf_lsreq_packet *ps, struct proto *p, struct ospf_iface *ifa, u16 size) { |