struct {
u32 metric1, metric2; /* OSPF Type 1 and Type 2 metrics */
u32 tag; /* External route tag */
- char type; /* A - intra area
- * I - inter area
- * E - external
- */
} ospf;
#endif
struct { /* Routes generated by krt sync (both temporary and inherited ones) */
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,
+ buf += bsprintf(buf, " %c", type);
+ if(met!=' ') buf += bsprintf(buf, "%c", met);
+ buf += bsprintf(buf, " (%d/%d)", rte->pref,
(rte->u.ospf.metric2==0) ? rte->u.ospf.metric1 : rte->u.ospf.metric2);
}
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;
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;