From 05dbc97b13534eb886945d1f291aaba34238c99c Mon Sep 17 00:00:00 2001 From: Ondrej Filip Date: Tue, 30 May 2000 10:20:14 +0000 Subject: Bug in rt_notify. --- proto/ospf/ospf.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'proto') diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c index bc7d974..f55bec8 100644 --- a/proto/ospf/ospf.c +++ b/proto/ospf/ospf.c @@ -159,7 +159,7 @@ ospf_rt_notify(struct proto *p, net *n, rte *new, rte *old, ea_list *attrs) if(new) /* Got some new route */ { - originate_ext_lsa(n, old, po); + originate_ext_lsa(n, new, po); } else { @@ -201,9 +201,17 @@ static void ospf_get_route_info(rte *rte, byte *buf, ea_list *attrs) { char met=' '; + char type=' '; - if(rte->u.ospf.type=='E') met='1'; + if(rte->attrs->source==RTS_OSPF_EXT) + { + met='1'; + type='E'; + } + //if(rte->u.ospf.type=='E') met='1'; if(rte->u.ospf.metric2!=0) met='2'; + if(rte->attrs->source==RTS_OSPF_IA) type='A'; + if(rte->attrs->source==RTS_OSPF) type='I'; buf += bsprintf(buf, " %c%c %d", rte->u.ospf.type, met, (rte->u.ospf.metric2==0) ? rte->u.ospf.metric1 : rte->u.ospf.metric2); } -- cgit v1.2.3