Commit 961d41cc authored by Joanne Hugé's avatar Joanne Hugé

wip

parent 6a76a666
......@@ -162,8 +162,8 @@ static counter_stat_t rx_drop_counter; // frames sent to RRH
static counter_stat_t tx_drop_counter; // frames sent to RRH
// Network
static uint8_t prev_seq_id;
static uint8_t seq_id;
static int prev_seq_id = -1;
static int seq_id;
static uint8_t frame_id;
static uint8_t sub_frame_id;
static uint8_t slot_id;
......@@ -340,7 +340,7 @@ void print_bytes(const char * str, uint8_t * data, int * offset, int count) {
int i;
printf("%s", str);
for(i = *offset; i < (*offset + count); i++)
printf("%X", data[i]);
printf("%02x", data[i]);
*offset += count;
printf("\n");
}
......@@ -348,16 +348,16 @@ void print_packet(uint8_t * data, int length) {
int offset = 0;
int j;
uint16_t antenna_id;
uint8_t _seq_id;
int _seq_id;
print_bytes("MAC DST: ", data, &offset, 6);
print_bytes("MAC SRC: ", data, &offset, 6);
print_bytes("Ethertype: ", data, &offset, 2);
print_bytes("eCPRI Common Header: ", data, &offset, 4);
print_bytes("IQ DATA Header: ", data, &offset, 4);
print_bytes("IQ payload:\n", data, &offset, length - offset);
//print_bytes("IQ payload:\n", data, &offset, length - offset);
j = ETHERNET_HEADER + ECPRI_COMMON_HEADER;
antenna_id = ntohs(*((uint16_t *) (data + j + 0)));
_seq_id = ((uint8_t) (*((uint16_t * ) (data + j + 2)) >> 8));
_seq_id = data[j + 2];
printf("Antenna ID: %d\n", antenna_id);
printf("Seq ID: %d\n", _seq_id);
}
......@@ -413,9 +413,9 @@ static void *recv_thread(void *p) {
}
int offset = ETHERNET_HEADER + ECPRI_COMMON_HEADER;
uint16_t antenna_id = ntohs(*((uint16_t *) (data + offset + 0)));
uint8_t _seq_id = data[offset + 2];
int _seq_id = data[offset + 2];
if ( ((((int) _seq_id) + 256) - ((int) prev_seq_id)) % 256 != 1 ) {
if ( prev_seq_id != -1 && (_seq_id + 256 - prev_seq_id) % 256 != 1 ) {
stop = 1;
log_info("DECODE_THREAD", "seq_ids are not sequential (%d, %d)", prev_seq_id, _seq_id);
break;
......@@ -496,9 +496,10 @@ static void *send_thread(void *p) {
int j = ETHERNET_HEADER + ECPRI_COMMON_HEADER;
// PC_ID
*((uint16_t *) (data + j + 0)) = htons(antenna_id);
*((uint16_t *) (data + j + 0)) = ntohs(antenna_id);
// SEQ_ID
data[j + 2] = seq_id++;
data[j + 2] = (uint8_t) seq_id;
seq_id = (seq_id + 1) % 256;
data[j + 3] = 0x80;
j = ETHERNET_HEADER + ECPRI_IQ_HEADER;
// ORAN counters
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment