libosmogb 1.9.0.196-9975
Osmocom Gb library
gprs_ns2_nse Struct Reference

Structure repesenting a NSE. More...

#include <gprs_ns2_internal.h>

Data Fields

uint16_t nsei
 
struct gprs_ns2_instnsi
 entry back to ns2_inst More...
 
struct llist_head list
 llist entry for gprs_ns2_inst More...
 
struct llist_head nsvc
 llist head to hold all nsvc More...
 
int nsvc_count
 count all active NSVCs More...
 
bool persistent
 true if this NSE was created by VTY or pcu socket) More...
 
bool first
 true if this NSE wasn't yet alive at all. More...
 
bool alive
 true if this NSE has at least one alive VC More...
 
enum gprs_ns2_ll ll
 which link-layer are we based on? More...
 
enum gprs_ns2_dialect dialect
 which dialect does this NSE speaks? More...
 
struct osmo_fsm_instbss_sns_fi
 
uint32_t sum_data_weight
 sum of all the data weight of alive NS-VCs More...
 
uint32_t sum_sig_weight
 sum of all the signalling weight of alive NS-VCs More...
 
uint16_t mtu
 MTU of a NS PDU. More...
 
bool ip_sns_role_sgsn
 are we implementing the SGSN role? More...
 
struct rate_ctr_groupctrg
 NSE-wide statistics. More...
 
bool freed
 recursive anchor More...
 
struct timespec ts_alive_change
 when the NSE became alive or dead More...
 

Detailed Description

Structure repesenting a NSE.

The BSS/PCU will only have a single NSE, while SGSN has one for each BSS/PCU

Field Documentation

◆ alive

bool gprs_ns2_nse::alive

◆ bss_sns_fi

◆ ctrg

struct rate_ctr_group* gprs_ns2_nse::ctrg

NSE-wide statistics.

Referenced by gprs_ns2_create_nse2(), and gprs_ns2_free_nse().

◆ dialect

◆ first

bool gprs_ns2_nse::first

true if this NSE wasn't yet alive at all.

Will be true after the first status ind with NS_AFF_CAUSE_RECOVERY

Referenced by gprs_ns2_create_nse2(), and ns2_prim_status_ind().

◆ freed

bool gprs_ns2_nse::freed

recursive anchor

Referenced by gprs_ns2_free_nse(), and gprs_ns2_free_nsvcs().

◆ ip_sns_role_sgsn

bool gprs_ns2_nse::ip_sns_role_sgsn

are we implementing the SGSN role?

Referenced by _config_write_ns_nse(), gprs_ns2_create_nse2(), and ns2_nse_set_dialect().

◆ list

struct llist_head gprs_ns2_nse::list

llist entry for gprs_ns2_inst

Referenced by gprs_ns2_create_nse2(), and gprs_ns2_free_nse().

◆ ll

◆ mtu

uint16_t gprs_ns2_nse::mtu

MTU of a NS PDU.

This is the lowest MTU of all NSVCs

Referenced by gprs_ns2_create_nse2(), ns2_nse_update_mtu(), and ns2_prim_status_ind().

◆ nsei

◆ nsi

◆ nsvc

◆ nsvc_count

int gprs_ns2_nse::nsvc_count

◆ persistent

bool gprs_ns2_nse::persistent

true if this NSE was created by VTY or pcu socket)

Referenced by _sns_failed(), config_write_ns_nse(), DEFUN(), DEFUN_HIDDEN(), dump_nse(), and ns2_prim_status_ind().

◆ sum_data_weight

uint32_t gprs_ns2_nse::sum_data_weight

sum of all the data weight of alive NS-VCs

Referenced by ns2_load_sharing_weight_modulo(), and ns2_nse_data_sum().

◆ sum_sig_weight

uint32_t gprs_ns2_nse::sum_sig_weight

sum of all the signalling weight of alive NS-VCs

Referenced by ns2_nse_data_sum(), ns2_sns_notify_alive(), and ns2_sns_st_all_action().

◆ ts_alive_change

struct timespec gprs_ns2_nse::ts_alive_change

when the NSE became alive or dead

Referenced by dump_nse(), and gprs_ns2_create_nse2().


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