add tx failed, ip layers (ue, enb)
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7196 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
+65
-7
@@ -57,14 +57,30 @@ int msc_init(msc_env_t envP)
|
|||||||
for (i = MIN_MSC_PROTOS; i < MAX_MSC_PROTOS; i++) {
|
for (i = MIN_MSC_PROTOS; i < MAX_MSC_PROTOS; i++) {
|
||||||
msc_fd[i] = NULL;
|
msc_fd[i] = NULL;
|
||||||
switch (i) {
|
switch (i) {
|
||||||
case MSC_NAS_UE:
|
case MSC_IP_UE:
|
||||||
rv = snprintf(&msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "NAS_UE");
|
rv = snprintf(&msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "IP_UE");
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;}
|
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;}
|
||||||
if (envP == MSC_E_UTRAN) {
|
if (envP == MSC_E_UTRAN) {
|
||||||
msc_fd[i] = fopen("/tmp/openair.msc.nas_ue.log","w");
|
msc_fd[i] = fopen("/tmp/openair.msc.ip_ue.log","w");
|
||||||
}
|
|
||||||
msc_log_declare_proto(i);
|
msc_log_declare_proto(i);
|
||||||
break;
|
}
|
||||||
|
break;
|
||||||
|
case MSC_IP_ENB:
|
||||||
|
rv = snprintf(&msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "IP_ENB");
|
||||||
|
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;}
|
||||||
|
if (envP == MSC_E_UTRAN) {
|
||||||
|
msc_fd[i] = fopen("/tmp/openair.msc.ip_enb.log","w");
|
||||||
|
msc_log_declare_proto(i);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MSC_NAS_UE:
|
||||||
|
rv = snprintf(&msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "NAS_UE");
|
||||||
|
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;}
|
||||||
|
if (envP == MSC_E_UTRAN) {
|
||||||
|
msc_fd[i] = fopen("/tmp/openair.msc.nas_ue.log","w");
|
||||||
|
}
|
||||||
|
msc_log_declare_proto(i);
|
||||||
|
break;
|
||||||
case MSC_RRC_UE:
|
case MSC_RRC_UE:
|
||||||
rv = snprintf(&msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "RRC_UE");
|
rv = snprintf(&msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "RRC_UE");
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;}
|
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;}
|
||||||
@@ -425,4 +441,46 @@ void msc_log_tx_message(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void msc_log_tx_message_failed(
|
||||||
|
const msc_proto_t senderP,
|
||||||
|
const msc_proto_t receiverP,
|
||||||
|
const char* bytesP,
|
||||||
|
const unsigned int num_bytes,
|
||||||
|
char *format, ...)
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
int rv;
|
||||||
|
uint64_t mac = 0;
|
||||||
|
uint64_t local_msc_event_counter = msc_event_counter;
|
||||||
|
|
||||||
|
msc_event_counter++;
|
||||||
|
|
||||||
|
if ((receiverP < MIN_MSC_PROTOS) || (receiverP >= MAX_MSC_PROTOS) ||
|
||||||
|
(senderP < MIN_MSC_PROTOS) || (senderP >= MAX_MSC_PROTOS)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (msc_fd[senderP] != NULL) {
|
||||||
|
rv = fprintf(msc_fd[senderP], "%"PRIu64" [MESSAGE] %d -x %d %"PRIu64" ",
|
||||||
|
local_msc_event_counter, senderP, receiverP, mac);
|
||||||
|
if (rv < 0) {
|
||||||
|
fprintf(stderr, "Error while logging MSC TX message : %s", &msc_proto2str[senderP][0]);
|
||||||
|
}
|
||||||
|
va_start(args, format);
|
||||||
|
rv = vfprintf(msc_fd[senderP], format, args);
|
||||||
|
va_end(args);
|
||||||
|
if (rv < 0) {
|
||||||
|
fprintf(stderr, "Error while logging MSC TX message : %s", &msc_proto2str[senderP][0]);
|
||||||
|
}
|
||||||
|
rv = fprintf(msc_fd[senderP], "\n");
|
||||||
|
if (rv < 0) {
|
||||||
|
fprintf(stderr, "Error while logging MSC TX message : %s", &msc_proto2str[senderP][0]);
|
||||||
|
}
|
||||||
|
if ((msc_event_counter & 0x000000000000000F) == 0x000000000000000F) {
|
||||||
|
fflush(msc_fd[senderP]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,8 @@ typedef enum {
|
|||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
MIN_MSC_PROTOS = 0,
|
MIN_MSC_PROTOS = 0,
|
||||||
MSC_NAS_UE = MIN_MSC_PROTOS,
|
MSC_IP_UE = MIN_MSC_PROTOS,
|
||||||
|
MSC_NAS_UE,
|
||||||
MSC_RRC_UE,
|
MSC_RRC_UE,
|
||||||
MSC_PDCP_UE,
|
MSC_PDCP_UE,
|
||||||
MSC_RLC_UE,
|
MSC_RLC_UE,
|
||||||
@@ -52,6 +53,7 @@ typedef enum {
|
|||||||
MSC_RLC_ENB,
|
MSC_RLC_ENB,
|
||||||
MSC_PDCP_ENB,
|
MSC_PDCP_ENB,
|
||||||
MSC_RRC_ENB,
|
MSC_RRC_ENB,
|
||||||
|
MSC_IP_ENB,
|
||||||
MSC_S1AP_ENB,
|
MSC_S1AP_ENB,
|
||||||
MSC_GTPU_ENB,
|
MSC_GTPU_ENB,
|
||||||
MSC_GTPU_SGW,
|
MSC_GTPU_SGW,
|
||||||
@@ -102,6 +104,7 @@ void msc_log_tx_message(
|
|||||||
#define MSC_LOG_RX_MESSAGE(mScPaRaMs, fORMAT, aRGS...) msc_log_rx_message(mScPaRaMs, fORMAT, ##aRGS)
|
#define MSC_LOG_RX_MESSAGE(mScPaRaMs, fORMAT, aRGS...) msc_log_rx_message(mScPaRaMs, fORMAT, ##aRGS)
|
||||||
#define MSC_LOG_RX_DISCARDED_MESSAGE(mScPaRaMs, fORMAT, aRGS...) msc_log_rx_discarded_message(mScPaRaMs, fORMAT, ##aRGS)
|
#define MSC_LOG_RX_DISCARDED_MESSAGE(mScPaRaMs, fORMAT, aRGS...) msc_log_rx_discarded_message(mScPaRaMs, fORMAT, ##aRGS)
|
||||||
#define MSC_LOG_TX_MESSAGE(mScPaRaMs, fORMAT, aRGS...) msc_log_tx_message(mScPaRaMs, fORMAT, ##aRGS)
|
#define MSC_LOG_TX_MESSAGE(mScPaRaMs, fORMAT, aRGS...) msc_log_tx_message(mScPaRaMs, fORMAT, ##aRGS)
|
||||||
|
#define MSC_LOG_TX_MESSAGE_FAILED(mScPaRaMs, fORMAT, aRGS...) msc_log_tx_message_failed(mScPaRaMs, fORMAT, ##aRGS)
|
||||||
#else
|
#else
|
||||||
#define MSC_INIT(mScPaRaMs)
|
#define MSC_INIT(mScPaRaMs)
|
||||||
#define MSC_END
|
#define MSC_END
|
||||||
@@ -109,5 +112,6 @@ void msc_log_tx_message(
|
|||||||
#define MSC_LOG_RX_MESSAGE(mScPaRaMs, fORMAT, aRGS...)
|
#define MSC_LOG_RX_MESSAGE(mScPaRaMs, fORMAT, aRGS...)
|
||||||
#define MSC_LOG_RX_DISCARDED_MESSAGE(mScPaRaMs, fORMAT, aRGS...)
|
#define MSC_LOG_RX_DISCARDED_MESSAGE(mScPaRaMs, fORMAT, aRGS...)
|
||||||
#define MSC_LOG_TX_MESSAGE(mScPaRaMs, fORMAT, aRGS...)
|
#define MSC_LOG_TX_MESSAGE(mScPaRaMs, fORMAT, aRGS...)
|
||||||
|
#define MSC_LOG_TX_MESSAGE_FAILED(mScPaRaMs, fORMAT, aRGS...)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user