1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

Temporary OSPFv3 development commit

This commit is contained in:
Ondrej Zajicek
2009-08-25 16:42:14 +02:00
parent c3226991a0
commit b49e6f5a65
23 changed files with 449 additions and 214 deletions

View File

@@ -337,7 +337,7 @@ schedule_rtcalc(struct proto_ospf *po)
* @oa: ospf area
*
* It invokes aging and when @ospf_area->origrt is set to 1, start
* function for origination of router LSA and network LSAs.
* function for origination of router, network LSAs.
*/
void
area_disp(struct ospf_area *oa)
@@ -347,13 +347,18 @@ area_disp(struct ospf_area *oa)
/* Now try to originage rt_lsa */
if (oa->origrt)
originate_rt_lsa(oa);
update_rt_lsa(oa);
/* Now try to originate network LSA's */
WALK_LIST(ifa, po->iface_list)
{
#ifdef OSPFv3
if (ifa->origlink && (ifa->oa == oa))
update_link_lsa(ifa);
#endif
if (ifa->orignet && (ifa->oa == oa))
originate_net_lsa(ifa);
update_net_lsa(ifa);
}
}
@@ -376,7 +381,7 @@ ospf_disp(timer * timer)
/* Calculate routing table */
if (po->calcrt)
ospf_rt_spf (po);
ospf_rt_spf(po);
}
@@ -1019,6 +1024,7 @@ ospf_sh_iface(struct proto *p, char *iff)
* according to originating router id (to get all LSA needed to represent one
* router node together). Then, according to LSA type, ID and age.
*/
/*
static int
he_compare(const void *p1, const void *p2)
{
@@ -1057,6 +1063,7 @@ he_compare(const void *p1, const void *p2)
return lsa1->age - lsa2->age;
}
}
*/
/*
static inline void
show_lsa_router(struct top_hash_entry *he)
@@ -1074,7 +1081,7 @@ show_lsa_router(struct top_hash_entry *he)
if (rr[i].type == LSART_NET)
{
struct proto_ospf *po = he->oa->po;
struct top_hash_entry *net_he = ospfxx_hash_find(po->gr, he->oa->areaid, rr[i].id, rr[i].id, LSA_T_NET);
struct top_hash_entry *net_he = ospf_hash_find(po->gr, he->oa->areaid, rr[i].id, rr[i].id, LSA_T_NET);
if (net_he)
{
struct ospf_lsa_header *net_lsa = &(net_he->lsa);
@@ -1152,12 +1159,13 @@ show_lsa_external(struct top_hash_entry *he)
void
ospf_sh_state(struct proto *p, int verbose)
{
/*
struct proto_ospf *po = (struct proto_ospf *) p;
struct top_graph *f = po->gr;
unsigned int i, j;
u32 last_rt = 0xFFFFFFFF;
u32 last_area = 0xFFFFFFFF;
/*
if (p->proto_state != PS_UP)
{
cli_msg(-1016, "%s: is not up", p->name);