diff --git a/proto/ospf/config.Y b/proto/ospf/config.Y index e4ed500b..177c926f 100644 --- a/proto/ospf/config.Y +++ b/proto/ospf/config.Y @@ -112,8 +112,8 @@ pref_el: prefix ';' { this_pref = cfg_allocz(sizeof(struct area_net)); add_tail(&this_area->net_list, NODE this_pref); - this_pref->net = $1.addr; - this_pref->mlen = $1.len; + this_pref->px.addr = $1.addr; + this_pref->px.len = $1.len; } ; @@ -121,8 +121,8 @@ pref_hid: prefix HIDDEN ';' { this_pref = cfg_allocz(sizeof(struct area_net)); add_tail(&this_area->net_list, NODE this_pref); - this_pref->net = $1.addr; - this_pref->mlen = $1.len; + this_pref->px.addr = $1.addr; + this_pref->px.len = $1.len; this_pref->hidden = 1; } ; diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c index 79564ed8..73460820 100644 --- a/proto/ospf/ospf.c +++ b/proto/ospf/ospf.c @@ -116,8 +116,8 @@ ospf_start(struct proto *p) WALK_LIST(anet,ac->net_list) { antmp=mb_allocz(po->proto.pool, sizeof(struct area_net)); - antmp->net=anet->net; - antmp->mlen=anet->mlen; + antmp->px.addr=anet->px.addr; + antmp->px.len=anet->px.len; antmp->hidden=anet->hidden; add_tail(&oa->net_list, NODE antmp); } @@ -542,8 +542,8 @@ ospf_reconfigure(struct proto *p, struct proto_config *c) WALK_LIST(anet, ac2->net_list) { antmp=mb_alloc(p->pool, sizeof(struct area_net)); - antmp->net=anet->net; - antmp->mlen=anet->mlen; + antmp->px.addr=anet->px.addr; + antmp->px.len=anet->px.len; antmp->hidden=anet->hidden; add_tail(&oa->net_list, NODE antmp); } @@ -836,7 +836,7 @@ ospf_sh(struct proto *p) cli_msg(-1014,"\t\tArea networks:"); WALK_LIST(anet, oa->net_list) { - cli_msg(-1014,"\t\t\t%1I/%u\t%s", anet->net, anet->mlen, + cli_msg(-1014,"\t\t\t%1I/%u\t%s", anet->px.addr, anet->px.len, anet->hidden ? "Hidden" : "Advertise"); } } diff --git a/proto/ospf/ospf.h b/proto/ospf/ospf.h index 4b573f8b..b0ac1e9f 100644 --- a/proto/ospf/ospf.h +++ b/proto/ospf/ospf.h @@ -67,9 +67,10 @@ struct nbma_node { struct area_net { node n; - ip_addr net; - int mlen; + struct prefix px; int hidden; + int active; + int oldactive; }; struct ospf_area_config {