get_route_info() added.

This commit is contained in:
Ondrej Filip 2000-05-28 19:16:04 +00:00
parent d150c6379c
commit f7c0525edc
2 changed files with 21 additions and 7 deletions

View file

@ -197,6 +197,17 @@ ospf_get_status(struct proto *p, byte *buf)
}
}
static void
ospf_get_route_info(rte *rte, byte *buf, ea_list *attrs)
{
char met=' ';
if(rte->u.ospf.type=='E') met='1';
if(rte->u.ospf.metric2!=0) met='2';
buf += bsprintf(buf, " %c%c %d", rte->u.ospf.type, met,
(rte->u.ospf.metric2==0) ? rte->u.ospf.metric1 : rte->u.ospf.metric2);
}
struct protocol proto_ospf = {
name: "OSPF",
template: "ospf%d",
@ -204,5 +215,6 @@ struct protocol proto_ospf = {
dump: ospf_dump,
start: ospf_start,
shutdown: ospf_shutdown,
get_route_info: ospf_get_route_info,
get_status: ospf_get_status
};

View file

@ -229,6 +229,7 @@ again:
e->u.ospf.metric1=nf->metric;
e->u.ospf.metric2=0;
e->u.ospf.tag=0; /* FIXME Some config? */
e->u.ospf.type='I';
e->pflags = 0;
e->net=ne;
e->pref = p->preference;
@ -448,6 +449,7 @@ noch:
e->u.ospf.metric1=nf->metric;
e->u.ospf.metric2=nf->metric2;
e->u.ospf.tag=0; /* FIXME Some config? */
e->u.ospf.type='E';
e->pflags = 0;
e->net=ne;
e->pref = p->preference;