Bug in rt_notify.

This commit is contained in:
Ondrej Filip 2000-05-30 10:20:14 +00:00
parent fe613ecded
commit 05dbc97b13

View file

@ -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 */ if(new) /* Got some new route */
{ {
originate_ext_lsa(n, old, po); originate_ext_lsa(n, new, po);
} }
else else
{ {
@ -201,9 +201,17 @@ static void
ospf_get_route_info(rte *rte, byte *buf, ea_list *attrs) ospf_get_route_info(rte *rte, byte *buf, ea_list *attrs)
{ {
char met=' '; 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->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, buf += bsprintf(buf, " %c%c %d", rte->u.ospf.type, met,
(rte->u.ospf.metric2==0) ? rte->u.ospf.metric1 : rte->u.ospf.metric2); (rte->u.ospf.metric2==0) ? rte->u.ospf.metric1 : rte->u.ospf.metric2);
} }