libosmogb 1.13.1.1-afb4 Osmocom Gb library

Data Fields
gprs_nsvc Struct Reference

Structure representing a single NS-VC. More...

`#include <gprs_ns.h>`

## Data Fields
struct llist_head | list
| list of NS-VCs within NS Instance More...
struct gprs_ns_inst * | nsi
| pointer to NS Instance More...
uint16_t | nsei
uint16_t | nsvci
| end-to-end significance More...
uint32_t | state
| uniquely identifies NS-VC at SGSN More...
uint32_t | remote_state
struct osmo_timer_list | timer
enum nsvc_timer_mode | timer_mode
struct timeval | timer_started
int | alive_retries
unsigned int | remote_end_is_sgsn:1
unsigned int | persistent:1
unsigned int | nsvci_is_valid:1
struct rate_ctr_group * | ctrg
struct osmo_stat_item_group * | statg
enum gprs_ns_ll | ll
| which link-layer are we based on? More...
union {
struct {
struct sockaddr_in bts_addr
} ip
struct {
struct sockaddr_in bts_addr
} frgre
}; |
| make sure to always keep bts_addr as first struct member to not break the assumption that those structs are similar More...
uint8_t | sig_weight
| signalling weight. More...
uint8_t | data_weight
| signaling weight. More...

## Detailed Description

Structure representing a single NS-VC.

## Field Documentation

## ◆

union { ... } gprs_nsvc::@17

make sure to always keep bts_addr as first struct member to not break the assumption that those structs are similar

## ◆ alive_retries

int gprs_nsvc::alive_retries

Referenced by gprs_ns_timer_cb().

## ◆ bts_addr

struct sockaddr_in gprs_nsvc::bts_addr

Referenced by config_write_ns(), DEFUN(), dump_nse(), gprs_ns_frgre_sendmsg(), gprs_ns_ll_clear(), gprs_ns_ll_str_buf(), gprs_ns_nsip_connect(), gprs_ns_nsip_connect_sns(), gprs_ns_rcvmsg(), gprs_nsvc_by_rem_addr(), gprs_sns_bss_fsm_alloc(), and nsip_sendmsg().

## ◆ ctrg

struct rate_ctr_group* gprs_nsvc::ctrg

Referenced by dump_nse(), gprs_ns_rx_block(), gprs_ns_timer_cb(), gprs_ns_tx(), gprs_ns_tx_block(), gprs_nsvc_create2(), and gprs_nsvc_delete().

## ◆ data_weight

uint8_t gprs_nsvc::data_weight

signaling weight.

0 = don't use for user data (BVCI != 0)

Referenced by create_missing_nsvcs(), do_sns_add(), do_sns_change_weight(), gprs_active_nsvc_by_nsei(), gprs_nsvc_create2(), and nsvc_is_not_used().

## ◆

struct { ... } gprs_nsvc::frgre

Referenced by config_write_ns(), DEFUN(), gprs_ns_frgre_sendmsg(), gprs_ns_ll_clear(), gprs_ns_ll_copy(), and gprs_ns_ll_str_buf().

## ◆

struct { ... } gprs_nsvc::ip

Referenced by config_write_ns(), DEFUN(), dump_nse(), gprs_ns_ll_clear(), gprs_ns_ll_copy(), gprs_ns_ll_str_buf(), gprs_ns_nsip_connect(), gprs_ns_nsip_connect_sns(), gprs_ns_rcvmsg(), gprs_nsvc_by_rem_addr(), gprs_sns_bss_fsm_alloc(), and nsip_sendmsg().

## ◆ list

struct llist_head gprs_nsvc::list

list of NS-VCs within NS Instance

Referenced by gprs_ns_instantiate(), gprs_nsvc_create2(), and gprs_nsvc_delete().

## ◆ ll

enum gprs_ns_ll gprs_nsvc::ll

which link-layer are we based on?

Referenced by config_write_ns(), DEFUN(), dump_nse(), gprs_ns_ll_clear(), gprs_ns_ll_copy(), gprs_ns_ll_str_buf(), gprs_ns_rcvmsg(), and gprs_ns_tx().

## ◆ nsei

uint16_t gprs_nsvc::nsei

Referenced by config_write_ns(), DEFUN(), dump_nse(), gprs_active_nsvc_by_nsei(), gprs_ns_nsip_connect(), gprs_ns_nsip_connect_sns(), gprs_ns_rx_block(), gprs_ns_rx_status(), gprs_ns_timer_cb(), gprs_ns_tx_alive(), gprs_ns_tx_alive_ack(), gprs_ns_tx_block(), gprs_ns_tx_block_ack(), gprs_ns_tx_reset(), gprs_ns_tx_reset_ack(), gprs_ns_tx_sns_ack(), gprs_ns_tx_sns_config(), gprs_ns_tx_sns_config_ack(), gprs_ns_tx_sns_size(), gprs_ns_tx_sns_size_ack(), gprs_ns_tx_status(), gprs_ns_tx_unblock(), gprs_ns_vc_create(), gprs_nsvc_by_nsei(), gprs_nsvc_create_ip4(), gprs_nsvc_reset(), gprs_nsvc_state_append(), ns_set_state_with_log(), and nsvc_start_timer().

## ◆ nsi

struct gprs_ns_inst* gprs_nsvc::nsi

pointer to NS Instance

Referenced by create_missing_nsvcs(), DEFUN(), do_sns_add(), do_sns_change_weight(), do_sns_delete(), dump_nse(), gprs_active_nsvc_by_nsei(), gprs_ns_close(), gprs_ns_destroy(), gprs_ns_frgre_sendmsg(), gprs_ns_nsip_connect(), gprs_ns_nsip_connect_sns(), gprs_ns_rcvmsg(), gprs_ns_rx_unitdata(), gprs_ns_timer_cb(), gprs_ns_tx_sns_ack(), gprs_ns_tx_sns_config(), gprs_ns_tx_sns_config_ack(), gprs_ns_tx_sns_size(), gprs_ns_tx_sns_size_ack(), gprs_ns_vty_init(), gprs_nsvc_by_nsei(), gprs_nsvc_by_nsvci(), gprs_nsvc_by_rem_addr(), gprs_nsvc_create2(), gprs_sns_bss_fsm_alloc(), gprs_start_alive_all_nsvcs(), nsip_sendmsg(), and nsvc_start_timer().

## ◆ nsvci

uint16_t gprs_nsvc::nsvci

end-to-end significance

Referenced by config_write_ns(), DEFUN(), dump_nse(), gprs_ns_nsip_connect(), gprs_ns_nsip_connect_sns(), gprs_ns_tx_alive(), gprs_ns_tx_alive_ack(), gprs_ns_tx_block(), gprs_ns_tx_block_ack(), gprs_ns_tx_reset(), gprs_ns_tx_reset_ack(), gprs_ns_tx_status(), gprs_ns_tx_unblock(), gprs_ns_vc_create(), gprs_nsvc_by_nsvci(), gprs_nsvc_create2(), gprs_nsvc_replace_if_found(), gprs_nsvc_state_append(), and ns_set_state_with_log().

## ◆ nsvci_is_valid

unsigned int gprs_nsvc::nsvci_is_valid

Referenced by gprs_ns_instantiate(), gprs_ns_vc_create(), and gprs_nsvc_create2().

## ◆ persistent

unsigned int gprs_nsvc::persistent

Referenced by config_write_ns(), DEFUN(), and dump_nse().

## ◆ remote_end_is_sgsn

unsigned int gprs_nsvc::remote_end_is_sgsn

Referenced by config_write_ns(), DEFUN(), dump_nse(), gprs_ns_nsip_connect(), gprs_ns_nsip_connect_sns(), and gprs_nsvc_state_append().

## ◆ remote_state

uint32_t gprs_nsvc::remote_state

Referenced by dump_nse(), gprs_nsvc_state_append(), and ns_set_state_with_log().

## ◆ sig_weight

uint8_t gprs_nsvc::sig_weight

signalling weight.

0 = don't use for signalling (BVCI == 0)

Referenced by create_missing_nsvcs(), do_sns_add(), do_sns_change_weight(), gprs_active_nsvc_by_nsei(), gprs_nsvc_create2(), and nsvc_is_not_used().

## ◆ state

uint32_t gprs_nsvc::state

uniquely identifies NS-VC at SGSN

Referenced by dump_nse(), gprs_active_nsvc_by_nsei(), gprs_ns_rx_unitdata(), gprs_ns_timer_cb(), gprs_nsvc_state_append(), and ns_set_state_with_log().

## ◆ statg

struct osmo_stat_item_group* gprs_nsvc::statg

Referenced by dump_nse(), gprs_nsvc_create2(), and gprs_nsvc_delete().

## ◆ timer

struct osmo_timer_list gprs_nsvc::timer

Referenced by gprs_nsvc_create2(), gprs_nsvc_delete(), and nsvc_start_timer().

## ◆ timer_mode

enum nsvc_timer_mode gprs_nsvc::timer_mode

Referenced by gprs_ns_timer_cb(), and nsvc_start_timer().

## ◆ timer_started

struct timeval gprs_nsvc::timer_started

Referenced by nsvc_start_timer(), and nsvc_timer_elapsed_ms().

The documentation for this struct was generated from the following file:

- include/osmocom/gprs/gprs_ns.h