summaryrefslogtreecommitdiffstats
path: root/proto/ospf/rt.c
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2008-11-14 21:13:56 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2008-11-14 21:13:56 +0100
commit3f670371cfeef155256a8a77ac5581accee13b05 (patch)
treecf2cf313837fb3152afe7270409497e2d05f797b /proto/ospf/rt.c
parente29fa06ece1bf9f9a47f224db797df940556136e (diff)
downloadbird-3f670371cfeef155256a8a77ac5581accee13b05.tar
bird-3f670371cfeef155256a8a77ac5581accee13b05.zip
OSPF routes appeared with random value of ospf_tag attribute.
This patch fixes it.
Diffstat (limited to 'proto/ospf/rt.c')
-rw-r--r--proto/ospf/rt.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/proto/ospf/rt.c b/proto/ospf/rt.c
index b779345..f906de9 100644
--- a/proto/ospf/rt.c
+++ b/proto/ospf/rt.c
@@ -195,6 +195,7 @@ ospf_rt_spfa(struct ospf_area *oa)
if (rt->veb.bit.e) nf.capa |= ORTA_ASBR;
nf.metric1 = act->dist;
nf.metric2 = LSINFINITY;
+ nf.tag = 0;
nf.oa = oa;
nf.ar = act;
nf.nh = act->nh;
@@ -221,6 +222,7 @@ ospf_rt_spfa(struct ospf_area *oa)
nf.capa = 0;
nf.metric1 = act->dist + rtl->metric;
nf.metric2 = LSINFINITY;
+ nf.tag = 0;
nf.oa = oa;
nf.ar = act;
nf.nh = act->nh;
@@ -278,6 +280,7 @@ ospf_rt_spfa(struct ospf_area *oa)
nf.capa = 0;
nf.metric1 = act->dist;
nf.metric2 = LSINFINITY;
+ nf.tag = 0;
nf.oa = oa;
nf.ar = act;
nf.nh = act->nh;
@@ -454,6 +457,7 @@ ospf_rt_sum_tr(struct ospf_area *oa)
nf.capa = ORTA_ASBR;
nf.metric1 = abr->n.metric1 + (tm->metric & METRIC_MASK);
nf.metric2 = LSINFINITY;
+ nf.tag = 0;
nf.oa = oa;
nf.ar = abr->n.ar;
nf.nh = abr->n.nh;
@@ -533,6 +537,7 @@ ospf_rt_sum(struct ospf_area *oa)
nf.capa = ORTA_ASBR;
nf.metric1 = abr->n.metric1 + (tm->metric & METRIC_MASK);
nf.metric2 = LSINFINITY;
+ nf.tag = 0;
nf.oa = oa;
nf.ar = abr->n.ar;
nf.nh = abr->n.nh;
@@ -754,11 +759,11 @@ ospf_ext_spf(struct proto_ospf *po)
nfa.capa = 0;
nfa.metric1 = met1;
nfa.metric2 = met2;
+ nfa.tag = lt->tag;
nfa.oa = (po->backbone == NULL) ? HEAD(po->area_list) : po->backbone;
nfa.ar = nf1->n.ar;
nfa.nh = nh;
nfa.ifa = nhi;
- nfa.tag = lt->tag;
ri_install(po, ip, mlen, ORT_NET, &nfa, nfh);
}