Prepare for longer interface names - clean up of the code.
This commit is contained in:
parent
ea0cb652e9
commit
6887f409f0
1 changed files with 10 additions and 10 deletions
|
@ -50,7 +50,7 @@ static linpool *rte_update_pool;
|
||||||
|
|
||||||
static list routing_tables;
|
static list routing_tables;
|
||||||
|
|
||||||
static void rt_format_via(rte *e, byte *via);
|
static byte *rt_format_via(rte *e);
|
||||||
static void rt_free_hostcache(rtable *tab);
|
static void rt_free_hostcache(rtable *tab);
|
||||||
static void rt_notify_hostcache(rtable *tab, net *net);
|
static void rt_notify_hostcache(rtable *tab, net *net);
|
||||||
static void rt_update_hostcache(rtable *tab);
|
static void rt_update_hostcache(rtable *tab);
|
||||||
|
@ -227,10 +227,7 @@ rte_mergable(rte *pri, rte *sec)
|
||||||
static void
|
static void
|
||||||
rte_trace(struct proto *p, rte *e, int dir, char *msg)
|
rte_trace(struct proto *p, rte *e, int dir, char *msg)
|
||||||
{
|
{
|
||||||
byte via[STD_ADDRESS_P_LENGTH+32];
|
log(L_TRACE "%s %c %s %I/%d %s", p->name, dir, msg, e->net->n.prefix, e->net->n.pxlen, rt_format_via(e));
|
||||||
|
|
||||||
rt_format_via(e, via);
|
|
||||||
log(L_TRACE "%s %c %s %I/%d %s", p->name, dir, msg, e->net->n.prefix, e->net->n.pxlen, via);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
|
@ -2364,11 +2361,14 @@ rta_set_recursive_next_hop(rtable *dep, rta *a, rtable *tab, ip_addr *gw, ip_add
|
||||||
* CLI commands
|
* CLI commands
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static byte *
|
||||||
rt_format_via(rte *e, byte *via)
|
rt_format_via(rte *e)
|
||||||
{
|
{
|
||||||
rta *a = e->attrs;
|
rta *a = e->attrs;
|
||||||
|
|
||||||
|
/* Max text length w/o IP addr and interface name is 16 */
|
||||||
|
static byte via[STD_ADDRESS_P_LENGTH+sizeof(a->iface->name)+16];
|
||||||
|
|
||||||
switch (a->dest)
|
switch (a->dest)
|
||||||
{
|
{
|
||||||
case RTD_ROUTER: bsprintf(via, "via %I on %s", a->gw, a->iface->name); break;
|
case RTD_ROUTER: bsprintf(via, "via %I on %s", a->gw, a->iface->name); break;
|
||||||
|
@ -2379,12 +2379,13 @@ rt_format_via(rte *e, byte *via)
|
||||||
case RTD_MULTIPATH: bsprintf(via, "multipath"); break;
|
case RTD_MULTIPATH: bsprintf(via, "multipath"); break;
|
||||||
default: bsprintf(via, "???");
|
default: bsprintf(via, "???");
|
||||||
}
|
}
|
||||||
|
return via;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
rt_show_rte(struct cli *c, byte *ia, rte *e, struct rt_show_data *d, ea_list *tmpa)
|
rt_show_rte(struct cli *c, byte *ia, rte *e, struct rt_show_data *d, ea_list *tmpa)
|
||||||
{
|
{
|
||||||
byte via[STD_ADDRESS_P_LENGTH+32], from[STD_ADDRESS_P_LENGTH+8];
|
byte from[STD_ADDRESS_P_LENGTH+8];
|
||||||
byte tm[TM_DATETIME_BUFFER_SIZE], info[256];
|
byte tm[TM_DATETIME_BUFFER_SIZE], info[256];
|
||||||
rta *a = e->attrs;
|
rta *a = e->attrs;
|
||||||
int primary = (e->net->routes == e);
|
int primary = (e->net->routes == e);
|
||||||
|
@ -2392,7 +2393,6 @@ rt_show_rte(struct cli *c, byte *ia, rte *e, struct rt_show_data *d, ea_list *tm
|
||||||
void (*get_route_info)(struct rte *, byte *buf, struct ea_list *attrs);
|
void (*get_route_info)(struct rte *, byte *buf, struct ea_list *attrs);
|
||||||
struct mpnh *nh;
|
struct mpnh *nh;
|
||||||
|
|
||||||
rt_format_via(e, via);
|
|
||||||
tm_format_datetime(tm, &config->tf_route, e->lastmod);
|
tm_format_datetime(tm, &config->tf_route, e->lastmod);
|
||||||
if (ipa_nonzero(a->from) && !ipa_equal(a->from, a->gw))
|
if (ipa_nonzero(a->from) && !ipa_equal(a->from, a->gw))
|
||||||
bsprintf(from, " from %I", a->from);
|
bsprintf(from, " from %I", a->from);
|
||||||
|
@ -2413,7 +2413,7 @@ rt_show_rte(struct cli *c, byte *ia, rte *e, struct rt_show_data *d, ea_list *tm
|
||||||
get_route_info(e, info, tmpa);
|
get_route_info(e, info, tmpa);
|
||||||
else
|
else
|
||||||
bsprintf(info, " (%d)", e->pref);
|
bsprintf(info, " (%d)", e->pref);
|
||||||
cli_printf(c, -1007, "%-18s %s [%s %s%s]%s%s", ia, via, a->src->proto->name,
|
cli_printf(c, -1007, "%-18s %s [%s %s%s]%s%s", ia, rt_format_via(e), a->src->proto->name,
|
||||||
tm, from, primary ? (sync_error ? " !" : " *") : "", info);
|
tm, from, primary ? (sync_error ? " !" : " *") : "", info);
|
||||||
for (nh = a->nexthops; nh; nh = nh->next)
|
for (nh = a->nexthops; nh; nh = nh->next)
|
||||||
cli_printf(c, -1007, "\tvia %I on %s weight %d", nh->gw, nh->iface->name, nh->weight + 1);
|
cli_printf(c, -1007, "\tvia %I on %s weight %d", nh->gw, nh->iface->name, nh->weight + 1);
|
||||||
|
|
Loading…
Reference in a new issue