summaryrefslogtreecommitdiffstats
path: root/proto/ospf
diff options
context:
space:
mode:
Diffstat (limited to 'proto/ospf')
-rw-r--r--proto/ospf/topology.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/proto/ospf/topology.c b/proto/ospf/topology.c
index 0e90e77..e3e240f 100644
--- a/proto/ospf/topology.c
+++ b/proto/ospf/topology.c
@@ -319,21 +319,21 @@ originate_ext_lsa_body(net *n, rte *e, struct proto_ospf *po, struct ea_list *at
et=(struct ospf_lsa_ext_tos *)(ext+1);
- if(!m2)
- {
- et->etos=0;
- et->metric=m1;
- }
+ if(m1!=LSINFINITY)
+ {
+ et->etos=0;
+ et->metric=m1;
+ }
else
- {
- et->etos=0x80;
- et->metric=m2;
- }
+ {
+ et->etos=0x80;
+ et->metric=m2;
+ }
et->padding=0;
et->tag=tag;
if(ipa_compare(e->attrs->gw,ipa_from_u32(0))!=0)
{
- if(find_iface((struct proto_ospf *)p, e->attrs->iface)!=NULL) inas=1;
+ if(find_iface((struct proto_ospf *)p, e->attrs->iface)!=NULL) inas=1;
}
if(!inas) et->fwaddr= ipa_from_u32(0);