mirror of https://gerrit.osmocom.org/libosmocore
gprs_ns2: Give NS-VC FSMs a proper name/identifier
Log output without a proper identifier is mostly useless. Change-Id: Id9d5b0684584d03685900c6298fe70246793de14 Closes: OS#4876
This commit is contained in:
parent
509047ba5d
commit
603f404e41
|
@ -486,9 +486,10 @@ void ns2_prim_status_ind(struct gprs_ns2_nse *nse,
|
|||
* \param[in] bind The 'bind' on which we operate
|
||||
* \param[in] nse The NS Entity on which we operate
|
||||
* \param[in] initiater - if this is an incoming remote (!initiater) or a local outgoing connection (initater)
|
||||
* \param[in] id - human-readable identifier
|
||||
* \return newly allocated NS-VC on success; NULL on error */
|
||||
struct gprs_ns2_vc *ns2_vc_alloc(struct gprs_ns2_vc_bind *bind, struct gprs_ns2_nse *nse, bool initiater,
|
||||
enum gprs_ns2_vc_mode vc_mode)
|
||||
enum gprs_ns2_vc_mode vc_mode, const char *id)
|
||||
{
|
||||
/* Sanity check */
|
||||
OSMO_ASSERT(bind->ll == nse->ll);
|
||||
|
@ -511,7 +512,7 @@ struct gprs_ns2_vc *ns2_vc_alloc(struct gprs_ns2_vc_bind *bind, struct gprs_ns2_
|
|||
nsvc->statg = osmo_stat_item_group_alloc(nsvc, &nsvc_statg_desc, bind->nsi->rate_ctr_idx);
|
||||
if (!nsvc->statg)
|
||||
goto err_group;
|
||||
if (!gprs_ns2_vc_fsm_alloc(nsvc, NULL, initiater))
|
||||
if (!gprs_ns2_vc_fsm_alloc(nsvc, id, initiater))
|
||||
goto err_statg;
|
||||
|
||||
bind->nsi->rate_ctr_idx++;
|
||||
|
@ -791,6 +792,7 @@ enum gprs_ns2_cs ns2_create_vc(struct gprs_ns2_vc_bind *bind,
|
|||
enum gprs_ns2_vc_mode vc_mode;
|
||||
uint16_t nsvci;
|
||||
uint16_t nsei;
|
||||
char idbuf[32];
|
||||
|
||||
int rc, tlv;
|
||||
|
||||
|
@ -907,8 +909,11 @@ enum gprs_ns2_cs ns2_create_vc(struct gprs_ns2_vc_bind *bind,
|
|||
return GPRS_NS2_CS_SKIPPED;
|
||||
}
|
||||
|
||||
nsvci = tlvp_val16be(&tp, NS_IE_VCI);
|
||||
vc_mode = gprs_ns2_dialect_to_vc_mode(dialect);
|
||||
nsvc = ns2_vc_alloc(bind, nse, false, vc_mode);
|
||||
snprintf(idbuf, sizeof(idbuf), "%s-NSE%05u-NSVC%05u", gprs_ns2_lltype_str(nse->ll),
|
||||
nse->nsei, nsvci);
|
||||
nsvc = ns2_vc_alloc(bind, nse, false, vc_mode, idbuf);
|
||||
if (!nsvc)
|
||||
return GPRS_NS2_CS_SKIPPED;
|
||||
|
||||
|
|
|
@ -737,13 +737,17 @@ struct gprs_ns2_vc *gprs_ns2_fr_connect(struct gprs_ns2_vc_bind *bind,
|
|||
{
|
||||
struct gprs_ns2_vc *nsvc = NULL;
|
||||
struct priv_vc *priv = NULL;
|
||||
struct priv_bind *bpriv = bind->priv;
|
||||
char idbuf[64];
|
||||
|
||||
nsvc = gprs_ns2_fr_nsvc_by_dlci(bind, dlci);
|
||||
if (nsvc) {
|
||||
goto err;
|
||||
}
|
||||
|
||||
nsvc = ns2_vc_alloc(bind, nse, true, NS2_VC_MODE_BLOCKRESET);
|
||||
snprintf(idbuf, sizeof(idbuf), "%s-%s-DLCI%u-NSE%05u-NSVC%05u", gprs_ns2_lltype_str(nse->ll),
|
||||
bpriv->netif, dlci, nse->nsei, nsvci);
|
||||
nsvc = ns2_vc_alloc(bind, nse, true, NS2_VC_MODE_BLOCKRESET, idbuf);
|
||||
if (!nsvc)
|
||||
goto err;
|
||||
|
||||
|
|
|
@ -233,7 +233,8 @@ int ns2_recv_vc(struct gprs_ns2_vc *nsvc,
|
|||
struct gprs_ns2_vc *ns2_vc_alloc(struct gprs_ns2_vc_bind *bind,
|
||||
struct gprs_ns2_nse *nse,
|
||||
bool initiater,
|
||||
enum gprs_ns2_vc_mode vc_mode);
|
||||
enum gprs_ns2_vc_mode vc_mode,
|
||||
const char *id);
|
||||
|
||||
struct msgb *gprs_ns2_msgb_alloc(void);
|
||||
|
||||
|
|
|
@ -394,6 +394,8 @@ struct gprs_ns2_vc *gprs_ns2_ip_bind_connect(struct gprs_ns2_vc_bind *bind,
|
|||
struct gprs_ns2_vc *nsvc;
|
||||
struct priv_vc *priv;
|
||||
enum gprs_ns2_vc_mode vc_mode;
|
||||
char *sockaddr_str;
|
||||
char idbuf[64];
|
||||
|
||||
vc_mode = gprs_ns2_dialect_to_vc_mode(nse->dialect);
|
||||
if ((int) vc_mode == -1) {
|
||||
|
@ -402,7 +404,11 @@ struct gprs_ns2_vc *gprs_ns2_ip_bind_connect(struct gprs_ns2_vc_bind *bind,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
nsvc = ns2_vc_alloc(bind, nse, true, vc_mode);
|
||||
sockaddr_str = (char *)osmo_sockaddr_to_str(remote);
|
||||
osmo_identifier_sanitize_buf(sockaddr_str, NULL, '_');
|
||||
snprintf(idbuf, sizeof(idbuf), "%s-NSE%05u-remote-%s", gprs_ns2_lltype_str(nse->ll),
|
||||
nse->nsei, sockaddr_str);
|
||||
nsvc = ns2_vc_alloc(bind, nse, true, vc_mode, idbuf);
|
||||
if (!nsvc)
|
||||
return NULL;
|
||||
|
||||
|
|
|
@ -113,7 +113,7 @@ void test_nse_transfer_cap(void *ctx)
|
|||
OSMO_ASSERT(nse);
|
||||
|
||||
printf("---- Test with NSVC[0]\n");
|
||||
nsvc[0] = ns2_vc_alloc(bind[0], nse, false, NS2_VC_MODE_ALIVE);
|
||||
nsvc[0] = ns2_vc_alloc(bind[0], nse, false, NS2_VC_MODE_ALIVE, NULL);
|
||||
OSMO_ASSERT(nsvc[0]);
|
||||
OSMO_ASSERT(ns2_count_transfer_cap(nse, 0) == 0);
|
||||
nsvc[0]->fi->state = 3; /* HACK: 3 = GPRS_NS2_ST_UNBLOCKED */
|
||||
|
@ -121,7 +121,7 @@ void test_nse_transfer_cap(void *ctx)
|
|||
OSMO_ASSERT(ns2_count_transfer_cap(nse, 0) == 42);
|
||||
|
||||
printf("---- Test with NSVC[1]\n");
|
||||
nsvc[1] = ns2_vc_alloc(bind[0], nse, false, NS2_VC_MODE_ALIVE);
|
||||
nsvc[1] = ns2_vc_alloc(bind[0], nse, false, NS2_VC_MODE_ALIVE, NULL);
|
||||
OSMO_ASSERT(nsvc[1]);
|
||||
OSMO_ASSERT(ns2_count_transfer_cap(nse, 0) == 42);
|
||||
nsvc[1]->fi->state = 3; /* HACK: 3 = GPRS_NS2_ST_UNBLOCKED */
|
||||
|
@ -129,7 +129,7 @@ void test_nse_transfer_cap(void *ctx)
|
|||
OSMO_ASSERT(ns2_count_transfer_cap(nse, 0) == 42);
|
||||
|
||||
printf("---- Test with NSVC[2]\n");
|
||||
nsvc[2] = ns2_vc_alloc(bind[1], nse, false, NS2_VC_MODE_ALIVE);
|
||||
nsvc[2] = ns2_vc_alloc(bind[1], nse, false, NS2_VC_MODE_ALIVE, NULL);
|
||||
OSMO_ASSERT(nsvc[2]);
|
||||
OSMO_ASSERT(ns2_count_transfer_cap(nse, 0) == 42);
|
||||
nsvc[2]->fi->state = 3; /* HACK: 3 = GPRS_NS2_ST_UNBLOCKED */
|
||||
|
|
Loading…
Reference in New Issue