ms: Store the NACK rate in the MS object
Currently the NACK/unconfirmed ratio is already passed to the corresponding MS object, but the value is not being stored there. This commit adds a member and a getter method and include the values into the output of the 'show ms' command. Sponsored-by: On-Waves ehf
This commit is contained in:
parent
6634635cf5
commit
53a32b8e95
|
@ -90,7 +90,8 @@ GprsMs::GprsMs(BTS *bts, uint32_t tlli) :
|
|||
m_is_idle(true),
|
||||
m_ref(0),
|
||||
m_list(this),
|
||||
m_delay(0)
|
||||
m_delay(0),
|
||||
m_nack_rate_dl(0)
|
||||
{
|
||||
LOGP(DRLCMAC, LOGL_INFO, "Creating MS object, TLLI = 0x%08x\n", tlli);
|
||||
|
||||
|
@ -383,6 +384,8 @@ void GprsMs::update_error_rate(gprs_rlcmac_tbf *tbf, int error_rate)
|
|||
/* TODO: Check for TBF direction */
|
||||
/* TODO: Support different CS values for UL and DL */
|
||||
|
||||
m_nack_rate_dl = error_rate;
|
||||
|
||||
if (error_rate > bts_data->cs_adj_upper_limit) {
|
||||
if (m_current_cs_dl > 1) {
|
||||
m_current_cs_dl -= 1;
|
||||
|
|
|
@ -99,6 +99,7 @@ public:
|
|||
|
||||
void update_l1_meas(const pcu_l1_meas *meas);
|
||||
const pcu_l1_meas* l1_meas() const {return &m_l1_meas;};
|
||||
unsigned nack_rate_dl() const;
|
||||
|
||||
/* internal use */
|
||||
static void timeout(void *priv_);
|
||||
|
@ -138,6 +139,7 @@ private:
|
|||
int64_t m_last_cs_not_low;
|
||||
|
||||
pcu_l1_meas m_l1_meas;
|
||||
unsigned m_nack_rate_dl;
|
||||
};
|
||||
|
||||
inline uint32_t GprsMs::tlli() const
|
||||
|
@ -193,3 +195,8 @@ inline const gprs_llc_queue *GprsMs::llc_queue() const
|
|||
return &m_llc_queue;
|
||||
}
|
||||
|
||||
inline unsigned GprsMs::nack_rate_dl() const
|
||||
{
|
||||
return m_nack_rate_dl;
|
||||
}
|
||||
|
||||
|
|
|
@ -81,6 +81,9 @@ static int show_ms(struct vty *vty, GprsMs *ms)
|
|||
if (ms->l1_meas()->have_bto)
|
||||
vty_out(vty, " Burst timing offset: %d/4 bit%s",
|
||||
ms->l1_meas()->bto, VTY_NEWLINE);
|
||||
if (ms->l1_meas()->have_ms_rx_qual)
|
||||
vty_out(vty, " Downlink NACK rate: %d %%%s",
|
||||
ms->nack_rate_dl(), VTY_NEWLINE);
|
||||
if (ms->l1_meas()->have_ms_rx_qual)
|
||||
vty_out(vty, " MS RX quality: %d %%%s",
|
||||
ms->l1_meas()->ms_rx_qual, VTY_NEWLINE);
|
||||
|
|
Loading…
Reference in New Issue