[gprs] gb_proxy: More VTY 'show' information

The 'show gbproxy' now actually shows information about the Gb proxy
BTS peers, whereas 'show ns' shows information about existing NS links.
This commit is contained in:
Harald Welte 2010-05-11 05:49:43 +02:00
parent 1c0de6802c
commit 85801d0294
3 changed files with 30 additions and 2 deletions

View File

@ -6,6 +6,7 @@
#include <osmocore/msgb.h>
#include <openbsc/gprs_ns.h>
#include <vty/command.h>
struct gbproxy_config {
/* parsed from config file */
@ -23,6 +24,7 @@ struct gbproxy_config {
};
extern struct gbproxy_config gbcfg;
extern struct cmd_element show_gbproxy_cmd;
/* gb_proxy_vty .c */

View File

@ -414,3 +414,28 @@ int gbprox_rcvmsg(struct msgb *msg, struct gprs_nsvc *nsvc, uint16_t ns_bvci)
return rc;
}
#include <vty/command.h>
gDEFUN(show_gbproxy, show_gbproxy_cmd, "show gbproxy",
SHOW_STR "Display information about the Gb proxy")
{
struct gbprox_peer *peer;
llist_for_each_entry(peer, &gbprox_bts_peers, list) {
struct gprs_nsvc *nsvc = peer->nsvc;
struct gprs_ra_id raid;
gsm48_parse_ra(&raid, &peer->ra);
vty_out(vty, "NSEI %5u, NS-VC %5u, PTP-BVCI %u, "
"RAC %u-%u-%u-%u%s",
nsvc->nsei, nsvc->nsvci, peer->bvci,
raid.mcc, raid.mnc, raid.lac, raid.rac, VTY_NEWLINE);
if (nsvc->nsi->ll == GPRS_NS_LL_UDP)
vty_out(vty, " remote address %s:%u%s",
inet_ntoa(nsvc->ip.bts_addr.sin_addr),
ntohs(nsvc->ip.bts_addr.sin_port), VTY_NEWLINE);
}
return CMD_SUCCESS;
}

View File

@ -70,8 +70,8 @@ static int config_write_gbproxy(struct vty *vty)
return CMD_SUCCESS;
}
DEFUN(show_gbproxy, show_gbproxy_cmd, "show gbproxy",
SHOW_STR "Display information about the Gb proxy")
DEFUN(show_ns, show_ns_cmd, "show ns",
SHOW_STR "Display information about the NS protocol")
{
/* FIXME: iterate over list of NS-VC's and display their state */
struct gprs_ns_inst *nsi = g_cfg->nsi;
@ -176,6 +176,7 @@ DEFUN(cfg_nsip_sgsn_nsvci,
int gbproxy_vty_init(void)
{
install_element(VIEW_NODE, &show_ns_cmd);
install_element(VIEW_NODE, &show_gbproxy_cmd);
install_element(CONFIG_NODE, &cfg_gbproxy_cmd);