Removed all OpenBTS dependencies. We don't use OpenBTS cout and gsmtap anymore.

zecke/hacks/quick-exit
Ivan Kluchnikov 11 years ago
parent 40383dcb46
commit 856221fd3d
  1. 1
      src/gprs_bssgp_pcu.cpp
  2. 17
      src/gprs_rlcmac.cpp
  3. 39
      src/pcu_l1_if.cpp
  4. 2
      src/pcu_l1_if.h

@ -76,7 +76,6 @@ int gprs_bssgp_pcu_rx_dl_ud(struct msgb *msg, struct tlv_parsed *tp)
LOGPC(DBSSGP, LOGL_NOTICE, "\n");
}
gsmtap_send_llc(tbf->rlc_data,tbf->data_index);
gprs_rlcmac_packet_downlink_assignment(tbf);
}

@ -19,7 +19,6 @@
#include <gprs_bssgp_pcu.h>
#include <pcu_l1_if.h>
#include <Threads.h>
#include <gprs_rlcmac.h>
#include <gsmL1prim.h>
@ -101,7 +100,7 @@ static void tbf_timer_cb(void *_tbf)
// TODO: We should add timers for TBF.
break;
default:
COUT("Timer expired in unknown mode" << tbf->T);
LOGP(DRLCMAC, LOGL_NOTICE, "Timer expired in unknown mode: %u \n", tbf->T);
}
}
@ -109,7 +108,8 @@ static void tbf_timer_start(struct gprs_rlcmac_tbf *tbf, unsigned int T,
unsigned int seconds)
{
if (osmo_timer_pending(&tbf->timer))
COUT("Starting TBF timer %u while old timer %u pending" << T << tbf->T);
LOGP(DRLCMAC, LOGL_NOTICE, "Starting TBF timer %u while old timer %u pending \n", T, tbf->T);
tbf->T = T;
tbf->num_T_exp = 0;
@ -135,7 +135,7 @@ static void tbf_gsm_timer_cb(void *_tbf)
tbf_free(tbf);
break;
default:
COUT("Timer expired in unknown mode" << tbf->fT);
LOGP(DRLCMAC, LOGL_NOTICE, "Timer expired in unknown mode: %u \n", tbf->fT);
}
}
@ -143,7 +143,7 @@ static void tbf_gsm_timer_start(struct gprs_rlcmac_tbf *tbf, unsigned int fT,
int frames)
{
if (osmo_gsm_timer_pending(&tbf->gsm_timer))
COUT("Starting TBF timer %u while old timer %u pending" << fT << tbf->fT);
LOGP(DRLCMAC, LOGL_NOTICE, "Starting TBF timer %u while old timer %u pending \n", fT, tbf->fT);
tbf->fT = fT;
tbf->num_fT_exp = 0;
@ -501,7 +501,6 @@ void gprs_rlcmac_data_block_parse(gprs_rlcmac_tbf* tbf, RlcMacUplinkDataBlock_t
// New LLC PDU starts after the current LLC PDU
if (ul_data_block->M[num] == 1)
{
gsmtap_send_llc(tbf->rlc_data, tbf->data_index);
gprs_rlcmac_tx_ul_ud(tbf);
tbf->data_index = 0;
// New LLC PDU continues until the end of the RLC information field, no more extension octets.
@ -549,7 +548,6 @@ int gprs_rlcmac_rcv_data_block(bitvec *rlc_block)
gprs_rlcmac_tx_ul_ack(tbf->tfi, tbf->tlli, ul_data_block);
if (ul_data_block->CV == 0) {
// Recieved last Data Block in this sequence.
gsmtap_send_llc(tbf->rlc_data, tbf->data_index);
tbf->state = GPRS_RLCMAC_WAIT_NEXT_DATA_SEQ;
gprs_rlcmac_tx_ul_ud(tbf);
} else {
@ -564,7 +562,6 @@ int gprs_rlcmac_rcv_data_block(bitvec *rlc_block)
gprs_rlcmac_tx_ul_ack(tbf->tfi, tbf->tlli, ul_data_block);
if (ul_data_block->CV == 0) {
// Recieved last Data Block in this sequence.
gsmtap_send_llc(tbf->rlc_data, tbf->data_index);
tbf->state = GPRS_RLCMAC_WAIT_NEXT_DATA_SEQ;
gprs_rlcmac_tx_ul_ud(tbf);
} else {
@ -639,9 +636,9 @@ void gprs_rlcmac_rcv_block(bitvec *rlc_block)
gprs_rlcmac_rcv_control_block(rlc_block);
break;
case GPRS_RLCMAC_CONTROL_BLOCK_OPT:
COUT("GPRS_RLCMAC_CONTROL_BLOCK_OPT block payload is not supported.\n");
LOGP(DRLCMAC, LOGL_NOTICE, "GPRS_RLCMAC_CONTROL_BLOCK_OPT block payload is not supported.\n");
default:
COUT("Unknown RLCMAC block payload.\n");
LOGP(DRLCMAC, LOGL_NOTICE, "Unknown RLCMAC block payload.\n");
}
}

@ -17,17 +17,12 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include <Sockets.h>
#include <gsmtap.h>
#include <gprs_rlcmac.h>
#include <pcu_l1_if.h>
#include <gprs_debug.h>
#define MAX_UDP_LENGTH 1500
// TODO: We should take ports and IP from config.
UDPSocket pcu_gsmtap_socket(5077, "127.0.0.1", 4729);
// Variable for storage current FN.
int frame_number;
@ -177,37 +172,3 @@ int pcu_l1if_handle_l1prim(struct femtol1_hdl *fl1, struct msgb *msg)
return rc;
}
void gsmtap_send_llc(uint8_t * data, unsigned len)
{
char buffer[MAX_UDP_LENGTH];
int ofs = 0;
// Build header
struct gsmtap_hdr *header = (struct gsmtap_hdr *)buffer;
header->version = 2;
header->hdr_len = sizeof(struct gsmtap_hdr) >> 2;
header->type = 0x08;
header->timeslot = 5;
header->arfcn = 0;
header->signal_dbm = 0;
header->snr_db = 0;
header->frame_number = 0;
header->sub_type = 0;
header->antenna_nr = 0;
header->sub_slot = 0;
header->res = 0;
ofs += sizeof(*header);
// Add frame data
unsigned j = 0;
for (unsigned i = ofs; i < len+ofs; i++)
{
buffer[i] = (char)data[j];
j++;
}
ofs += len;
// Write the GSMTAP packet
pcu_gsmtap_socket.write(buffer, ofs);
}

@ -74,6 +74,4 @@ void pcu_l1if_tx(bitvec * block, GsmL1_Sapi_t sapi, int len = 23);
int pcu_l1if_handle_l1prim(struct femtol1_hdl *fl1h, struct msgb *msg);
void gsmtap_send_llc(uint8_t * data, unsigned len);
#endif // PCU_L1_IF_H

Loading…
Cancel
Save