From ad1a102f08faa5c50c068b7ffd60a8d128943028 Mon Sep 17 00:00:00 2001
From: Cedric Roux <cedric.roux@eurecom.fr>
Date: Fri, 20 Mar 2020 11:13:51 +0100
Subject: [PATCH] fix for CU/DU split

---
 openair2/RRC/LTE/rrc_eNB.c      |   5 +-
 openair2/RRC/LTE/rrc_eNB_endc.c | 160 --------------------------------
 2 files changed, 1 insertion(+), 164 deletions(-)

diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c
index 7de5a2c64c1..1d25bf180a1 100644
--- a/openair2/RRC/LTE/rrc_eNB.c
+++ b/openair2/RRC/LTE/rrc_eNB.c
@@ -8510,7 +8510,7 @@ void rrc_eNB_process_AdditionResponseInformation(const module_id_t enb_mod_idP,
     unsigned char buffer[8192];
     int size;
 
-    ue_context = (rrc_eNB_ue_context_t *) get_first_ue_context(RC.rrc[enb_mod_idP]);
+    ue_context = rrc_eNB_get_ue_context(RC.rrc[enb_mod_idP], m->rnti);
 
     PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt,
                                     0,
@@ -8893,9 +8893,6 @@ rrc_enb_task(
 {
   rrc_enb_init();
 
-void rrc_endc_hack_init(void);
-rrc_endc_hack_init();
-
   itti_mark_task_ready(TASK_RRC_ENB);
   LOG_I(RRC,"Entering main loop of RRC message task\n");
 
diff --git a/openair2/RRC/LTE/rrc_eNB_endc.c b/openair2/RRC/LTE/rrc_eNB_endc.c
index d6fb9105073..3d3d9787b59 100644
--- a/openair2/RRC/LTE/rrc_eNB_endc.c
+++ b/openair2/RRC/LTE/rrc_eNB_endc.c
@@ -241,163 +241,3 @@ printf("\n");
 
   return (enc_rval.encoded + 7) / 8;
 }
-
-volatile int go_nr;
-
-struct rrc_eNB_ue_context_s *
-get_first_ue_context(eNB_RRC_INST *rrc_instance_pP)
-{
-  struct rrc_eNB_ue_context_s   *ue_context_p = NULL;
-  RB_FOREACH(ue_context_p, rrc_ue_tree_s, &(rrc_instance_pP->rrc_ue_head)) {
-    return ue_context_p;
-  }
-  return NULL;
-}
-
-void rrc_go_nr(void)
-{
-  protocol_ctxt_t ctxt;
-  rrc_eNB_ue_context_t *ue_context;
-  unsigned char buffer[8192];
-  int size;
-
-  go_nr = 0;
-
-  ue_context = get_first_ue_context(RC.rrc[0]);
-
-  PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt,
-                                0,
-                                ENB_FLAG_YES,
-                                ue_context->ue_context.rnti,
-                                0, 0);
-
-  size = rrc_eNB_generate_RRCConnectionReconfiguration_endc(&ctxt, ue_context, buffer, 8192, NULL, NULL);
-
-  rrc_data_req(&ctxt,
-               DCCH,
-               rrc_eNB_mui++,
-               SDU_CONFIRM_NO,
-               size,
-               buffer,
-               PDCP_TRANSMISSION_MODE_CONTROL);
-}
-
-static void new_thread(void *(*f)(void *), void *data) {
-  pthread_t t;
-  pthread_attr_t att;
-
-  if (pthread_attr_init(&att)) {
-    fprintf(stderr, "pthread_attr_init err\n");
-    exit(1);
-  }
-
-  if (pthread_attr_setdetachstate(&att, PTHREAD_CREATE_DETACHED)) {
-    fprintf(stderr, "pthread_attr_setdetachstate err\n");
-    exit(1);
-  }
-
-  if (pthread_attr_setstacksize(&att, 10000000)) {
-    fprintf(stderr, "pthread_attr_setstacksize err\n");
-    exit(1);
-  }
-
-  if (pthread_create(&t, &att, f, data)) {
-    fprintf(stderr, "pthread_create err\n");
-    exit(1);
-  }
-
-  if (pthread_attr_destroy(&att)) {
-    fprintf(stderr, "pthread_attr_destroy err\n");
-    exit(1);
-  }
-}
-
-static int create_listen_socket(char *addr, int port) {
-  struct sockaddr_in a;
-  int s;
-  int v;
-  s = socket(AF_INET, SOCK_STREAM, 0);
-
-  if (s == -1) {
-    perror("socket");
-    exit(1);
-  }
-
-  v = 1;
-
-  if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &v, sizeof(int))) {
-    perror("setsockopt");
-    exit(1);
-  }
-
-  a.sin_family = AF_INET;
-  a.sin_port = htons(port);
-  a.sin_addr.s_addr = inet_addr(addr);
-
-  if (bind(s, (struct sockaddr *)&a, sizeof(a))) {
-    perror("bind");
-    exit(1);
-  }
-
-  if (listen(s, 5)) {
-    perror("listen");
-    exit(1);
-  }
-
-  return s;
-}
-
-static int socket_accept(int s) {
-  struct sockaddr_in a;
-  socklen_t alen;
-  alen = sizeof(a);
-  return accept(s, (struct sockaddr *)&a, &alen);
-}
-
-static int fullread(int fd, void *_buf, int count) {
-  char *buf = _buf;
-  int ret = 0;
-  int l;
-
-  while (count) {
-    l = read(fd, buf, count);
-
-    if (l <= 0) return -1;
-
-    count -= l;
-    buf += l;
-    ret += l;
-  }
-
-  return ret;
-}
-
-void *nr_hack(void *_)
-{
-  int s = create_listen_socket("0.0.0.0", 9001);
-  int t;
-
-over:
-  t = socket_accept(s);
-
-  while (1) {
-    char c;
-
-    if (fullread(t, &c, 1) != 1) {
-      close(t);
-      goto over;
-    }
-
-    if (c != '\n') continue;
-
-    printf("setting go_nr to 1\n");
-    go_nr = 1;
-  }
-
-  return 0;
-}
-
-void rrc_endc_hack_init(void)
-{
-  new_thread(nr_hack, NULL);
-}
-- 
GitLab