Loading...
Searching...
No Matches
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
struct gprs_ns_inst * | nsi
| pointer to NS Instance
uint16_t | nsei
uint16_t | nsvci
| end-to-end significance
uint32_t | state
| uniquely identifies NS-VC at SGSN
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?
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
uint8_t | sig_weight
| signalling weight.
uint8_t | data_weight
| signaling weight.

## Detailed Description

Structure representing a single NS-VC.

## Field Documentation

## [union]

union { ... } gprs_nsvc

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(), DEFUN(), 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_nsvc_create_ip4(), 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_ns_vc_create(), 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]

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]

struct { ... } gprs_nsvc::ip

Referenced by config_write_ns(), DEFUN(), 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_nsvc_create_ip4(), 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_active_nsvc_by_nsei(), gprs_ns_close(), gprs_ns_instantiate(), gprs_nsvc_by_nsei(), gprs_nsvc_by_nsvci(), gprs_nsvc_by_rem_addr(), gprs_nsvc_create2(), gprs_nsvc_delete(), and gprs_start_alive_all_nsvcs().

## ll

enum gprs_ns_ll gprs_nsvc::ll

which link-layer are we based on?

Referenced by config_write_ns(), DEFUN(), DEFUN(), 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(), 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_rx_reset(), gprs_ns_rx_reset_ack(), 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(), gprs_nsvc_create2(), and gprs_nsvc_create_ip4().

## persistent

unsigned int gprs_nsvc::persistent

Referenced by config_write_ns(), DEFUN(), 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