diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2008-11-14 21:13:56 +0100 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2008-11-14 21:13:56 +0100 |
commit | 3f670371cfeef155256a8a77ac5581accee13b05 (patch) | |
tree | cf2cf313837fb3152afe7270409497e2d05f797b /proto | |
parent | e29fa06ece1bf9f9a47f224db797df940556136e (diff) | |
download | bird-3f670371cfeef155256a8a77ac5581accee13b05.tar bird-3f670371cfeef155256a8a77ac5581accee13b05.zip |
OSPF routes appeared with random value of ospf_tag attribute.
This patch fixes it.
Diffstat (limited to 'proto')
-rw-r--r-- | proto/ospf/rt.c | 7 |
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); } |