vty: make 'sh connect/transact' readable again

After recent changes to vlr_subscr_name() result became variable-length
which messes up old vty code. Fix this by moving it to the very end and
adjusting headers as necessary. While at it, make sure we don't print
headers if we have nothing else to show.

Change-Id: Id06b4277ff790d95457d0cc2f94ef6bf5366bb21
This commit is contained in:
Max 2019-01-17 18:44:33 +01:00
parent 72520f8d4f
commit 45df98bd85
1 changed files with 24 additions and 9 deletions

View File

@ -550,15 +550,21 @@ DEFUN(show_bsc, show_bsc_cmd,
static void vty_conn_hdr(struct vty *vty)
{
vty_out(vty, "--ConnId ------------Subscriber RAN --LAC Use --Tokens C A5 State%s",
unsigned lnum = 0;
struct ran_conn *conn;
llist_for_each_entry(conn, &gsmnet->ran_conns, entry)
lnum++;
if (lnum)
vty_out(vty, "--ConnId RAN --LAC Use --Tokens C A5 State ------------ Subscriber%s",
VTY_NEWLINE);
}
static void vty_dump_one_conn(struct vty *vty, const struct ran_conn *conn)
{
vty_out(vty, "%08x %22s %3s %5u %3u %08x %c /%1u %27s %s",
vty_out(vty, "%08x %3s %5u %3u %08x %c /%1u %27s %22s%s",
conn->a.conn_id,
conn->vsub ? vlr_subscr_name(conn->vsub) : "-",
conn->via_ran == OSMO_RAT_UTRAN_IU ? "Iu" : "A",
conn->lac,
conn->use_count,
@ -566,6 +572,7 @@ static void vty_dump_one_conn(struct vty *vty, const struct ran_conn *conn)
conn->received_cm_service_request ? 'C' : '-',
conn->geran_encr.alg_id,
conn->fi ? osmo_fsm_inst_state_name(conn->fi) : "-",
conn->vsub ? vlr_subscr_name(conn->vsub) : "-",
VTY_NEWLINE);
}
@ -583,7 +590,14 @@ DEFUN(show_msc_conn, show_msc_conn_cmd,
static void vty_trans_hdr(struct vty *vty)
{
vty_out(vty, "------------Subscriber --ConnId -P TI -CallRef Proto%s",
unsigned lnum = 0;
struct gsm_trans *trans;
llist_for_each_entry(trans, &gsmnet->trans_list, entry)
lnum++;
if (lnum)
vty_out(vty, "--ConnId -P TI -CallRef [--- Proto ---] ------------ Subscriber%s",
VTY_NEWLINE);
}
@ -613,13 +627,14 @@ static const char *get_trans_proto_str(const struct gsm_trans *trans)
static void vty_dump_one_trans(struct vty *vty, const struct gsm_trans *trans)
{
vty_out(vty, "%22s %08x %s %02u %08x %s%s",
trans->vsub ? vlr_subscr_name(trans->vsub) : "-",
vty_out(vty, "%08x %s %02u %08x [%s] %22s%s",
trans->conn ? trans->conn->a.conn_id : 0,
gsm48_pdisc_name(trans->protocol),
trans->transaction_id,
trans->callref,
get_trans_proto_str(trans), VTY_NEWLINE);
get_trans_proto_str(trans),
trans->vsub ? vlr_subscr_name(trans->vsub) : "-",
VTY_NEWLINE);
}
DEFUN(show_msc_transaction, show_msc_transaction_cmd,