Loading...
Searching...
No Matches
gprs_bssgp_vty.c File Reference

VTY interface for our GPRS BSS Gateway Protocol (BSSGP) implementation. More...

`#include <stdlib.h>`
`#include <unistd.h>`
`#include <errno.h>`
`#include <stdint.h>`
`#include <arpa/inet.h>`
`#include <osmocom/core/msgb.h>`
`#include <osmocom/gsm/tlv.h>`
`#include <osmocom/core/talloc.h>`
`#include <osmocom/core/select.h>`
`#include <osmocom/core/rate_ctr.h>`
`#include <osmocom/gprs/gprs_ns.h>`
`#include <osmocom/gprs/gprs_bssgp.h>`
`#include <osmocom/gprs/gprs_bssgp_bss.h>`
`#include <osmocom/vty/vty.h>`
`#include <osmocom/vty/command.h>`
`#include <osmocom/vty/logging.h>`
`#include <osmocom/vty/telnet_interface.h>`
`#include <osmocom/vty/misc.h>`

## Macros

#define | BSSGP_STR "Show information about the BSSGP protocol\n"

## Functions

static void | log_set_bvc_filter (struct log_target *target, struct bssgp_bvc_ctx *bctx)
static int | config_write_bssgp (struct vty *vty)
| DEFUN (cfg_bssgp, cfg_bssgp_cmd, "bssgp", "Configure the GPRS BSS Gateway Protocol")
static void | dump_bvc (struct vty *vty, struct bssgp_bvc_ctx *bvc, int stats)
static void | dump_bssgp (struct vty *vty, int stats)
| DEFUN (bvc_reset, bvc_reset_cmd, "bssgp bvc nsei <0-65535> bvci <0-65535> reset", "Initiate BVC RESET procedure for a given NSEI and BVCI\n" "Filter based on BSSGP Virtual Connection\n" "NSEI of the BVC to be filtered\n" "Network Service Entity Identifier (NSEI)\n" "BVCI of the BVC to be filtered\n" "BSSGP Virtual Connection Identifier (BVCI)\n" "Perform reset procedure\n")
| DEFUN (show_bssgp, show_bssgp_cmd, "show bssgp", SHOW_STR BSSGP_STR)
| DEFUN (show_bssgp_stats, show_bssgp_stats_cmd, "show bssgp stats", SHOW_STR BSSGP_STR "Include statistics\n")
| DEFUN (show_bvc, show_bvc_cmd, "show bssgp nsei <0-65535> [stats]", SHOW_STR BSSGP_STR "Show all BVCs on one NSE\n" "The NSEI\n" "Include Statistics\n")
| DEFUN (logging_fltr_bvc, logging_fltr_bvc_cmd, "logging filter bvc nsei <0-65535> bvci <0-65535>", LOGGING_STR FILTER_STR "Filter based on BSSGP Virtual Connection\n" "NSEI of the BVC to be filtered\n" "Network Service Entity Identifier (NSEI)\n" "BVCI of the BVC to be filtered\n" "BSSGP Virtual Connection Identifier (BVCI)\n")
int | bssgp_vty_init (void)

## Variables

static struct cmd_node | bssgp_node

## Detailed Description

VTY interface for our GPRS BSS Gateway Protocol (BSSGP) implementation.

## Macro Definition Documentation

## BSSGP_STR

#define BSSGP_STR "Show information about the BSSGP protocol\n"

## Function Documentation

## bssgp_vty_init()

int bssgp_vty_init | ( | void |  | ) |

References bssgp_node, CFG_LOG_NODE, CONFIG_NODE, config_write_bssgp(), install_lib_element(), install_lib_element_ve(), and install_node().

## config_write_bssgp()

static int config_write_bssgp | ( | struct vty * | vty | ) |

static

References CMD_SUCCESS, VTY_NEWLINE, and vty_out().

Referenced by bssgp_vty_init().

## DEFUN() [1/6]

DEFUN | ( | bvc_reset | ,
|  | bvc_reset_cmd | ,
|  | "bssgp bvc nsei <0-65535> bvci <0-65535> reset" | ,
|  | "Initiate BVC RESET procedure for a given NSEI and BVCI\n" "Filter based on BSSGP Virtual Connection\n" "NSEI of the BVC to be filtered\n" "Network Service Entity Identifier (NSEI)\n" "BVCI of the BVC to be filtered\n" "BSSGP Virtual Connection Identifier (BVCI)\n" "Perform reset procedure\n" |
| ) |  |

References argv, BSSGP_CAUSE_OML_INTERV, bssgp_tx_bvc_reset(), btsctx_by_bvci_nsei(), bvci, CMD_SUCCESS, CMD_WARNING, DEFUN(), nsei, VTY_NEWLINE, and vty_out().

## DEFUN() [2/6]

DEFUN | ( | cfg_bssgp | ,
|  | cfg_bssgp_cmd | ,
|  | "bssgp" | ,
|  | "Configure the GPRS BSS Gateway Protocol" |
| ) |  |

References CMD_SUCCESS, DEFUN(), L_BSSGP_NODE, and vty::node.

## DEFUN() [3/6]

DEFUN | ( | logging_fltr_bvc | ,
|  | logging_fltr_bvc_cmd | ,
|  | "logging filter bvc nsei <0-65535> bvci <0-65535>" | ,
|  | LOGGING_STR FILTER_STR "Filter based on BSSGP Virtual Connection\n" "NSEI of the BVC to be filtered\n" "Network Service Entity Identifier (NSEI)\n" "BVCI of the BVC to be filtered\n" "BSSGP Virtual Connection Identifier (BVCI)\n" |
| ) |  |

References argv, btsctx_by_bvci_nsei(), bvci, CMD_SUCCESS, CMD_WARNING, DEFUN(), log_set_bvc_filter(), log_tgt_mutex_lock, log_tgt_mutex_unlock, nsei, osmo_log_vty2tgt(), VTY_NEWLINE, and vty_out().

## DEFUN() [4/6]

DEFUN | ( | show_bssgp | ,
|  | show_bssgp_cmd | ,
|  | "show bssgp" | ,
|  | SHOW_STR | BSSGP_STR
| ) |  |

References CMD_SUCCESS, DEFUN(), and dump_bssgp().

## DEFUN() [5/6]

DEFUN | ( | show_bssgp_stats | ,
|  | show_bssgp_stats_cmd | ,
|  | "show bssgp stats" | ,
|  | SHOW_STR BSSGP_STR "Include statistics\n" |
| ) |  |

References CMD_SUCCESS, DEFUN(), and dump_bssgp().

## DEFUN() [6/6]

DEFUN | ( | show_bvc | ,
|  | show_bvc_cmd | ,
|  | "show bssgp nsei <0-65535> " | [stats],
|  | SHOW_STR BSSGP_STR "Show all BVCs on one NSE\n" "The NSEI\n" "Include Statistics\n" |
| ) |  |

References argc, argv, bssgp_bvc_ctxts, CMD_SUCCESS, DEFUN(), dump_bvc(), bssgp_bvc_ctx::list, llist_for_each_entry, bssgp_bvc_ctx::nsei, and nsei.

## dump_bssgp()

static void dump_bssgp | ( | struct vty * | vty,
|  | int | stats
| ) |  |

static

References bssgp_bvc_ctxts, dump_bvc(), bssgp_bvc_ctx::list, and llist_for_each_entry.

Referenced by DEFUN(), and DEFUN().

## dump_bvc()

static void dump_bvc | ( | struct vty * | vty,
|  | struct bssgp_bvc_ctx * | bvc,
|  | int | stats
| ) |  |

static

References bssgp_flow_control::bucket_counter, bssgp_flow_control::bucket_leak_rate, bssgp_flow_control::bucket_size_max, BVC_S_BLOCKED, bssgp_bvc_ctx::bvci, bssgp_bvc_ctx::cell_id, bssgp_bvc_ctx::ctrg, bssgp_bvc_ctx::fc, bssgp_flow_control::max_queue_depth, bssgp_bvc_ctx::nsei, osmo_rai_name(), bssgp_flow_control::queue_depth, bssgp_bvc_ctx::ra_id, bssgp_bvc_ctx::state, VTY_NEWLINE, vty_out(), and vty_out_rate_ctr_group().

Referenced by DEFUN(), and dump_bssgp().

## log_set_bvc_filter()

static void log_set_bvc_filter | ( | struct log_target * | target,
|  | struct bssgp_bvc_ctx * | bctx
| ) |  |

static

References log_target::filter_data, log_target::filter_map, and LOG_FLT_GB_BVC.

Referenced by DEFUN().

## Variable Documentation

## bssgp_node

struct cmd_node bssgp_node

static

Initial value:
= {
L_BSSGP_NODE,
"%s(config-bssgp)# ",
1,
}
L_BSSGP_NODE
L_BSSGP_NODE

Referenced by bssgp_vty_init().