mirror of https://gerrit.osmocom.org/libosmocore
BSSGP: add function to reset all PTP BVC
Change-Id: I9bf8f4dd784ccddbb9926492a85fff3293a0e913 Related: OS#1638
This commit is contained in:
parent
b970e1023d
commit
8b8938f6ae
|
@ -26,7 +26,7 @@
|
|||
#include <osmocom/gprs/gprs_bssgp.h>
|
||||
|
||||
uint8_t *bssgp_msgb_tlli_put(struct msgb *msg, uint32_t tlli);
|
||||
|
||||
int bssgp_tx_bvc_ptp_reset(uint16_t nsei, enum gprs_bssgp_cause cause);
|
||||
int bssgp_tx_suspend(uint16_t nsei, uint32_t tlli,
|
||||
const struct gprs_ra_id *ra_id);
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#include <osmocom/core/stats.h>
|
||||
|
||||
#include <osmocom/gprs/gprs_bssgp.h>
|
||||
#include <osmocom/gprs/gprs_bssgp_bss.h>
|
||||
#include <osmocom/gprs/gprs_ns.h>
|
||||
|
||||
#include "common_vty.h"
|
||||
|
@ -77,6 +78,31 @@ struct bssgp_bvc_ctx *btsctx_by_raid_cid(const struct gprs_ra_id *raid, uint16_t
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/*! Initiate reset procedure for all PTP BVC on a given NSEI.
|
||||
*
|
||||
* This function initiates reset procedure for all PTP BVC with a given cause.
|
||||
* \param[in] nsei NSEI to which PTP BVC should belong to
|
||||
* \param[in] cause Cause of BVC RESET
|
||||
* \returns 0 on success, negative error code otherwise
|
||||
*/
|
||||
int bssgp_tx_bvc_ptp_reset(uint16_t nsei, enum gprs_bssgp_cause cause)
|
||||
{
|
||||
int rc;
|
||||
struct bssgp_bvc_ctx *bctx;
|
||||
|
||||
llist_for_each_entry(bctx, &bssgp_bvc_ctxts, list) {
|
||||
if (bctx->nsei == nsei && bctx->bvci != BVCI_SIGNALLING) {
|
||||
LOGP(DBSSGP, LOGL_DEBUG, "NSEI=%u/BVCI=%u RESET due to %s\n",
|
||||
nsei, bctx->bvci, bssgp_cause_str(cause));
|
||||
rc = bssgp_tx_bvc_reset(bctx, bctx->bvci, cause);
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Find a BTS context based on BVCI+NSEI tuple */
|
||||
struct bssgp_bvc_ctx *btsctx_by_bvci_nsei(uint16_t bvci, uint16_t nsei)
|
||||
{
|
||||
|
|
|
@ -34,6 +34,7 @@ bssgp_rcvmsg;
|
|||
bssgp_rx_paging;
|
||||
bssgp_set_log_ss;
|
||||
bssgp_tx_dl_ud;
|
||||
bssgp_tx_bvc_ptp_reset;
|
||||
bssgp_tx_paging;
|
||||
bssgp_vty_init;
|
||||
bssgp_nsi;
|
||||
|
|
Loading…
Reference in New Issue