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 ...@@ -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 static counter_stat_t tx_drop_counter; // frames sent to RRH
// Network // Network
static uint8_t prev_seq_id; static int prev_seq_id = -1;
static uint8_t seq_id; static int seq_id;
static uint8_t frame_id; static uint8_t frame_id;
static uint8_t sub_frame_id; static uint8_t sub_frame_id;
static uint8_t slot_id; static uint8_t slot_id;
...@@ -340,7 +340,7 @@ void print_bytes(const char * str, uint8_t * data, int * offset, int count) { ...@@ -340,7 +340,7 @@ void print_bytes(const char * str, uint8_t * data, int * offset, int count) {
int i; int i;
printf("%s", str); printf("%s", str);
for(i = *offset; i < (*offset + count); i++) for(i = *offset; i < (*offset + count); i++)
printf("%X", data[i]); printf("%02x", data[i]);
*offset += count; *offset += count;
printf("\n"); printf("\n");
} }
...@@ -348,16 +348,16 @@ void print_packet(uint8_t * data, int length) { ...@@ -348,16 +348,16 @@ void print_packet(uint8_t * data, int length) {
int offset = 0; int offset = 0;
int j; int j;
uint16_t antenna_id; uint16_t antenna_id;
uint8_t _seq_id; int _seq_id;
print_bytes("MAC DST: ", data, &offset, 6); print_bytes("MAC DST: ", data, &offset, 6);
print_bytes("MAC SRC: ", data, &offset, 6); print_bytes("MAC SRC: ", data, &offset, 6);
print_bytes("Ethertype: ", data, &offset, 2); print_bytes("Ethertype: ", data, &offset, 2);
print_bytes("eCPRI Common Header: ", data, &offset, 4); print_bytes("eCPRI Common Header: ", data, &offset, 4);
print_bytes("IQ DATA 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; j = ETHERNET_HEADER + ECPRI_COMMON_HEADER;
antenna_id = ntohs(*((uint16_t *) (data + j + 0))); 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("Antenna ID: %d\n", antenna_id);
printf("Seq ID: %d\n", _seq_id); printf("Seq ID: %d\n", _seq_id);
} }
...@@ -413,9 +413,9 @@ static void *recv_thread(void *p) { ...@@ -413,9 +413,9 @@ static void *recv_thread(void *p) {
} }
int offset = ETHERNET_HEADER + ECPRI_COMMON_HEADER; int offset = ETHERNET_HEADER + ECPRI_COMMON_HEADER;
uint16_t antenna_id = ntohs(*((uint16_t *) (data + offset + 0))); 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; stop = 1;
log_info("DECODE_THREAD", "seq_ids are not sequential (%d, %d)", prev_seq_id, _seq_id); log_info("DECODE_THREAD", "seq_ids are not sequential (%d, %d)", prev_seq_id, _seq_id);
break; break;
...@@ -496,9 +496,10 @@ static void *send_thread(void *p) { ...@@ -496,9 +496,10 @@ static void *send_thread(void *p) {
int j = ETHERNET_HEADER + ECPRI_COMMON_HEADER; int j = ETHERNET_HEADER + ECPRI_COMMON_HEADER;
// PC_ID // PC_ID
*((uint16_t *) (data + j + 0)) = htons(antenna_id); *((uint16_t *) (data + j + 0)) = ntohs(antenna_id);
// SEQ_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; data[j + 3] = 0x80;
j = ETHERNET_HEADER + ECPRI_IQ_HEADER; j = ETHERNET_HEADER + ECPRI_IQ_HEADER;
// ORAN counters // 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