From e3f9fd6b0177084b5abba5ebd2fc9dd4584a2699 Mon Sep 17 00:00:00 2001
From: Laurent THOMAS <laurent.thomas@open-cells.com>
Date: Sun, 24 Oct 2021 14:47:24 +0200
Subject: [PATCH] code cleanup, no feature

---
 cmake_targets/CMakeLists.txt                  |   5 -
 common/utils/LOG/log_extern.h                 |   2 +-
 executables/nr-gnb.c                          |   4 -
 executables/nr-ru.c                           |   4 -
 executables/nr-softmodem-common.h             |   4 -
 executables/nr-softmodem.c                    |  17 +-
 executables/nr-ue.c                           |   7 +-
 executables/nr-uesoftmodem.c                  |   4 -
 openair1/PHY/CODING/defs_NB_IoT.h             |   8 -
 .../CODING/nrLDPC_decoder/nrLDPC_init_mem.h   |   2 -
 openair1/PHY/CODING/nrLDPC_defs.h             |   2 +-
 openair1/PHY/CODING/nrLDPC_extern.h           |   2 +-
 openair1/PHY/LTE_TRANSPORT/dci.c              |   2 -
 openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.h       |   5 +-
 openair1/PHY/LTE_TRANSPORT/print_stats.c      |   4 -
 openair1/PHY/LTE_TRANSPORT/uci_NB_IoT.h       |   2 +-
 openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c        |   9 -
 .../PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c |   1 -
 .../PHY/LTE_UE_TRANSPORT/ulsch_modulation.c   |  52 -
 openair1/PHY/NR_UE_TRANSPORT/dci_nr.c         | 910 +-----------------
 openair1/PHY/NR_UE_TRANSPORT/dci_nr.h         |   6 -
 .../NR_UE_TRANSPORT/nr_dlsch_demodulation.c   |   6 -
 openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c        |   2 -
 openair1/PHY/defs_L1_NB_IoT.h                 |  17 -
 openair1/PHY/defs_UE.h                        |   4 -
 openair1/PHY/defs_nr_UE.h                     |   4 -
 openair1/PHY/phy_extern.h                     |   6 -
 openair1/PHY/phy_extern_nr_ue.h               |   6 -
 openair1/PHY/phy_extern_ue.h                  |   6 -
 openair1/PHY/phy_vars.h                       |   7 -
 openair1/PHY/phy_vars_nr_ue.h                 |   7 -
 openair1/PHY/phy_vars_ue.h                    |   8 -
 openair1/PHY/types_NB_IoT.h                   |   5 -
 openair1/SCHED_NR_UE/fapi_nr_ue_l1.h          |   2 +-
 openair1/SIMULATION/LTE_PHY/gpib_send.c       |   8 +-
 openair2/COMMON/mac_rrc_primitives.h          |  10 +-
 openair2/COMMON/rrm_config_structs.h          | 195 ----
 openair2/GNB_APP/gnb_config.h                 |   3 -
 openair2/LAYER2/MAC/defs_NB_IoT.h             |   2 -
 openair2/LAYER2/MAC/mac_vars.h                |   2 -
 openair2/LAYER2/MAC/ue_procedures.c           | 108 ---
 openair2/LAYER2/PDCP_v10.1.0/pdcp.h           |   5 +-
 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h   |   1 -
 .../RLC/UM_v9.3.0/rlc_um_control_primitives.c |   1 -
 .../RLC/UM_v9.3.0/rlc_um_very_simple_test.h   |   1 -
 openair2/LAYER2/openair2_proc.c               | 259 -----
 openair2/NETWORK_DRIVER/MESH/common.c         |  84 --
 openair2/NETWORK_DRIVER/MESH/device.c         |  75 --
 openair2/NETWORK_DRIVER/MESH/local.h          |   6 -
 openair2/NETWORK_DRIVER/MESH/mesh.c           |  52 -
 openair2/NETWORK_DRIVER/MESH/proto_extern.h   |  13 -
 openair2/RRC/LITE/rrc_common.c                |  29 -
 openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.h   |   4 -
 openair2/RRC/LTE/MESSAGES/asn1_patch          | 522 ----------
 openair2/RRC/LTE/rrc_UE.c                     |  19 -
 openair2/RRC/LTE/rrc_defs.h                   |  13 -
 openair2/RRC/LTE/rrc_eNB.c                    |   8 -
 openair2/RRC/LTE/rrc_rrm_interface.c          | 277 ------
 openair2/RRC/NR/MESSAGES/asn1_msg.c           |  12 -
 openair2/RRC/NR/rrc_gNB.c                     |  51 -
 openair2/RRC/NR_UE/rrc_list.h                 |   2 +-
 openair2/SIMULATION/NR_RRC/itti_sim.c         |   4 -
 openair2/UTIL/OMG/makefile_old                | 123 ---
 openair2/UTIL/OTG/otg_kpi.c                   |   4 +-
 openair2/UTIL/OTG/otg_rx_socket.h             |   2 +-
 openair2/UTIL/OTG/otg_tx_socket.c             |   2 +-
 openair2/UTIL/OTG/otg_tx_socket.h             |   4 +-
 openair3/GTPV1-U/gtpv1u_eNB_defs.h            |   8 -
 openair3/GTPV1-U/gtpv1u_gNB_defs.h            |   8 -
 targets/ARCH/COMMON/common_lib.h              |   4 +-
 targets/COMMON/create_tasks.c                 |   2 -
 targets/COMMON/create_tasks_mbms.c            |   2 -
 targets/COMMON/create_tasks_ue.c              |   2 -
 targets/Makefile.common                       | 248 -----
 targets/RT/USER/lte-enb.c                     |   4 -
 targets/RT/USER/lte-softmodem.c               |   4 -
 targets/RT/USER/lte-ue.c                      |   2 -
 targets/RT/USER/lte-uesoftmodem.c             |   4 -
 78 files changed, 29 insertions(+), 3292 deletions(-)
 delete mode 100644 openair2/COMMON/rrm_config_structs.h
 delete mode 100644 openair2/RRC/LTE/MESSAGES/asn1_patch
 delete mode 100644 openair2/RRC/LTE/rrc_rrm_interface.c
 delete mode 100644 openair2/UTIL/OMG/makefile_old
 delete mode 100644 targets/Makefile.common

diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 9592334125b..956042047ad 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -985,8 +985,6 @@ Message("CPU_Affinity flag is ${CPU_AFFINITY}")
 #    ???!!! TO BE DOCUMENTED OPTIONS !!!???
 ##############################################################
 
-add_boolean_option(NO_RRM                  True  "DO WE HAVE A RADIO RESSOURCE MANAGER: NO")
-
 add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????")
 add_boolean_option(DEADLINE_SCHEDULER False "Use the Linux scheduler SCHED_DEADLINE: kernel >= 3.14")
 add_boolean_option(CPU_AFFINITY False "Enable CPU Affinity of threads (only valid without deadline scheduler). It is enabled only with >2 CPUs")
@@ -1047,7 +1045,6 @@ add_boolean_option(JUMBO_FRAME             True  "ENABLE LARGE SDU in ACCESS STR
 ##########################
 # RLC LAYER OPTIONS
 ##########################
-add_boolean_option(OPENAIR2                True  "Access Stratum layer 2 built in executable")
 add_boolean_option(TRACE_RLC_PAYLOAD       False "Fatal assert in this case")
 add_boolean_option(RLC_STOP_ON_LOST_PDU    False "Fatal assert in this case")
 
@@ -1075,8 +1072,6 @@ add_boolean_option(TRACE_RLC_UM_TX_STATUS  False "TRACE for RLC UM, TO BE CHANGE
 ##########################
 # PDCP LAYER OPTIONS
 ##########################
-#add_boolean_option(PDCP_USE_NETLINK            False "For eNB, PDCP communicate with a NETLINK socket if connected to network driver, else could use a RT-FIFO")
-#add_boolean_option(PDCP_USE_NETLINK_QUEUES     False "When PDCP_USE_NETLINK is true, incoming IP packets are stored in queues")
 #add_boolean_option(LINK_ENB_PDCP_TO_IP_DRIVER  False "For eNB, PDCP communicate with a IP driver")
 #add_boolean_option(LINK_ENB_PDCP_TO_GTPV1U     True  "For eNB, PDCP communicate with GTP-U protocol (eNB<->S-GW)")
 
diff --git a/common/utils/LOG/log_extern.h b/common/utils/LOG/log_extern.h
index f6205889dc1..23f9217d7e3 100644
--- a/common/utils/LOG/log_extern.h
+++ b/common/utils/LOG/log_extern.h
@@ -19,7 +19,7 @@
  *      contact@openairinterface.org
  */
 
-#include"log.h"
+#include "log.h"
 
 extern log_t *g_log;
 
diff --git a/executables/nr-gnb.c b/executables/nr-gnb.c
index 95b983190ec..d659739ffae 100644
--- a/executables/nr-gnb.c
+++ b/executables/nr-gnb.c
@@ -76,10 +76,6 @@
 #include "gnb_paramdef.h"
 
 
-#ifndef OPENAIR2
-  #include "UTIL/OTG/otg_extern.h"
-#endif
-
 #include "s1ap_eNB.h"
 #include "SIMULATION/ETH_TRANSPORT/proto.h"
 #include <executables/softmodem-common.h>
diff --git a/executables/nr-ru.c b/executables/nr-ru.c
index e3c6a3d9648..28468d1ff5a 100644
--- a/executables/nr-ru.c
+++ b/executables/nr-ru.c
@@ -71,10 +71,6 @@ static int DEFBFW[] = {0x00007fff};
 #include "GNB_APP/gnb_paramdef.h"
 #include "common/config/config_userapi.h"
 
-#ifndef OPENAIR2
-  #include "UTIL/OTG/otg_extern.h"
-#endif
-
 #include "s1ap_eNB.h"
 #include "SIMULATION/ETH_TRANSPORT/proto.h"
 #include <openair1/PHY/TOOLS/phy_scope_interface.h>
diff --git a/executables/nr-softmodem-common.h b/executables/nr-softmodem-common.h
index 5b6d21d177d..c02155326b6 100644
--- a/executables/nr-softmodem-common.h
+++ b/executables/nr-softmodem-common.h
@@ -30,12 +30,8 @@
 #include "PHY/types.h"
 #include <threadPool/thread-pool.h>
 
-#if defined(ENABLE_USE_MME)
 #include "s1ap_eNB.h"
-#ifdef PDCP_USE_NETLINK
 #include "SIMULATION/ETH_TRANSPORT/proto.h"
-#endif
-#endif
 
 /* help strings definition for command line options, used in CMDLINE_XXX_DESC macros and printed when -h option is used */
 #define CONFIG_HLP_RFCFGF        "Configuration file for front-end (e.g. LMS7002M)\n"
diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c
index 1b33667b139..a2b5c18b6c0 100644
--- a/executables/nr-softmodem.c
+++ b/executables/nr-softmodem.c
@@ -66,10 +66,6 @@ unsigned short config_frames[4] = {2,9,11,13};
 
 //#include "PHY/TOOLS/time_meas.h"
 
-#ifndef OPENAIR2
-  #include "UTIL/OTG/otg_vars.h"
-#endif
-
 #include "intertask_interface.h"
 
 #include "PHY/INIT/phy_init.h"
@@ -692,15 +688,10 @@ int main( int argc, char **argv ) {
   // initialize mscgen log after ITTI
   MSC_INIT(MSC_E_UTRAN, ADDED_QUEUES_MAX+TASK_MAX);
   init_opt();
-#ifdef PDCP_USE_NETLINK
-
-  if(!IS_SOFTMODEM_NOS1)
-    netlink_init();
-
-#if defined(PDCP_USE_NETLINK_QUEUES)
-  pdcp_netlink_init();
-#endif
-#endif
+  if(PDCP_USE_NETLINK)
+    if(!IS_SOFTMODEM_NOS1)
+      netlink_init();
+  
 #ifndef PACKAGE_VERSION
 #  define PACKAGE_VERSION "UNKNOWN-EXPERIMENTAL"
 #endif
diff --git a/executables/nr-ue.c b/executables/nr-ue.c
index 1d415e12300..540331a0a2a 100644
--- a/executables/nr-ue.c
+++ b/executables/nr-ue.c
@@ -19,6 +19,7 @@
  *      contact@openairinterface.org
  */
 
+#include <openair1/PHY/impl_defs_top.h>
 #include "executables/nr-uesoftmodem.h"
 #include "PHY/phy_extern_nr_ue.h"
 #include "PHY/INIT/phy_init.h"
@@ -87,11 +88,7 @@
  *
  */
 
-#ifndef NO_RAT_NR
-  #define DURATION_RX_TO_TX           (NR_UE_CAPABILITY_SLOT_RX_TO_TX)  /* for NR this will certainly depends to such UE capability which is not yet defined */
-#else
-  #define DURATION_RX_TO_TX           (6)   /* For LTE, this duration is fixed to 4 and it is linked to LTE standard for both modes FDD/TDD */
-#endif
+
 #define RX_JOB_ID 0x1010
 #define TX_JOB_ID 100
 
diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c
index 5a8b3812069..6dbb05499e1 100644
--- a/executables/nr-uesoftmodem.c
+++ b/executables/nr-uesoftmodem.c
@@ -63,10 +63,6 @@ unsigned short config_frames[4] = {2,9,11,13};
 #include "enb_config.h"
 //#include "PHY/TOOLS/time_meas.h"
 
-#ifndef OPENAIR2
-  #include "UTIL/OTG/otg_vars.h"
-#endif
-
 #include "intertask_interface.h"
 
 #include "PHY/INIT/phy_init.h"
diff --git a/openair1/PHY/CODING/defs_NB_IoT.h b/openair1/PHY/CODING/defs_NB_IoT.h
index 2a6bee79241..d33ae1c4406 100644
--- a/openair1/PHY/CODING/defs_NB_IoT.h
+++ b/openair1/PHY/CODING/defs_NB_IoT.h
@@ -30,14 +30,6 @@
 
 #include <stdint.h>  // for uint8/16/32_t
 
-/* check if this ifndef is required for NB-IoT ?!
-//#ifndef NO_OPENAIR1
-//#include "PHY/defs_NB_IoT.h"
-//#else
-//#include "PHY/TOOLS/time_meas.h"
-//#endif
-*/
-
 #define CRC24_A_NB_IoT 0
 #define CRC24_B_NB_IoT 1
 #define CRC16_NB_IoT 2
diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init_mem.h b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init_mem.h
index 3292c0debef..f08549130ee 100644
--- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init_mem.h
+++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init_mem.h
@@ -34,7 +34,6 @@
 #include <stdlib.h>
 #include "nrLDPC_types.h"
 
-#ifndef malloc32_clear
 /**
    \brief Allocates 32 byte aligned memory and initializes to zero
    \param size Input size in bytes
@@ -46,7 +45,6 @@ static inline void* malloc32_clear(size_t size)
     memset(ptr, 0, size);
     return ptr;
 }
-#endif
 
 /**
    \brief Allocates and initializes the internal decoder processing buffers
diff --git a/openair1/PHY/CODING/nrLDPC_defs.h b/openair1/PHY/CODING/nrLDPC_defs.h
index b96067f4b6e..8b0cb0e977b 100644
--- a/openair1/PHY/CODING/nrLDPC_defs.h
+++ b/openair1/PHY/CODING/nrLDPC_defs.h
@@ -56,4 +56,4 @@ typedef int(*nrLDPC_encoderfunc_t)(unsigned char **,unsigned char **,int,int,sho
    \param p_profiler LDPC profiler statistics
 */
 typedef int32_t(*nrLDPC_decoderfunc_t)(t_nrLDPC_dec_params* , int8_t*, int8_t* , t_nrLDPC_procBuf* , t_nrLDPC_time_stats* );
-#endif
\ No newline at end of file
+#endif
diff --git a/openair1/PHY/CODING/nrLDPC_extern.h b/openair1/PHY/CODING/nrLDPC_extern.h
index c0bfa0fdd8f..fc93b84842c 100644
--- a/openair1/PHY/CODING/nrLDPC_extern.h
+++ b/openair1/PHY/CODING/nrLDPC_extern.h
@@ -32,4 +32,4 @@ extern nrLDPC_decoderfunc_t nrLDPC_decoder;
 extern nrLDPC_encoderfunc_t nrLDPC_encoder;
 // inline functions:
 #include "openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init_mem.h"
-#endif
\ No newline at end of file
+#endif
diff --git a/openair1/PHY/LTE_TRANSPORT/dci.c b/openair1/PHY/LTE_TRANSPORT/dci.c
index 1913afab2df..99f37c1323a 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci.c
+++ b/openair1/PHY/LTE_TRANSPORT/dci.c
@@ -50,8 +50,6 @@
 //#define DEBUG_DCI_DECODING 1
 //#define DEBUG_PHY
 
-//#undef ALL_AGGREGATION
-
 //extern uint16_t phich_reg[MAX_NUM_PHICH_GROUPS][3];
 //extern uint16_t pcfich_reg[4];
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.h b/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.h
index 60720e13b70..512316f5653 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.h
+++ b/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.h
@@ -32,11 +32,8 @@
 #ifndef __DCI_NB_IOT_H__
 #define __DCI_NB_IOT_H__
 
-//#ifndef USER_MODE
-//#include "PHY/types.h"
-//#else
 #include <stdint.h>
-//#endif
+
 
 typedef enum 
 {
diff --git a/openair1/PHY/LTE_TRANSPORT/print_stats.c b/openair1/PHY/LTE_TRANSPORT/print_stats.c
index 031c97e50d6..44f57f43043 100644
--- a/openair1/PHY/LTE_TRANSPORT/print_stats.c
+++ b/openair1/PHY/LTE_TRANSPORT/print_stats.c
@@ -36,10 +36,8 @@
 #include "PHY/extern.h"
 #include "SCHED/extern.h"
 
-#ifdef OPENAIR2
   #include "openair2/LAYER2/MAC/proto.h"
   #include "openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
-#endif
 
 extern int mac_get_rrc_status(uint8_t Mod_id,uint8_t eNB_flag,uint8_t index);
 
@@ -434,10 +432,8 @@ int dump_ue_stats(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,char *buffer, int length
           break;
       }
 
-#ifdef OPENAIR2
       RRC_status = mac_UE_get_rrc_status(ue->Mod_id, 0);
       len += sprintf(&buffer[len],"[UE PROC] RRC status = %d\n",RRC_status);
-#endif
       len += sprintf(&buffer[len], "[UE PROC] Transmission Mode %d \n",ue->transmission_mode[eNB]);
       len += sprintf(&buffer[len], "[UE PROC] PBCH err conseq %d, PBCH error total %d, PBCH FER %d\n",
                      ue->pbch_vars[eNB]->pdu_errors_conseq,
diff --git a/openair1/PHY/LTE_TRANSPORT/uci_NB_IoT.h b/openair1/PHY/LTE_TRANSPORT/uci_NB_IoT.h
index 6f2dd0f989c..c16be6a3080 100644
--- a/openair1/PHY/LTE_TRANSPORT/uci_NB_IoT.h
+++ b/openair1/PHY/LTE_TRANSPORT/uci_NB_IoT.h
@@ -321,4 +321,4 @@ HLC_subband_cqi_mcs_CBA_20MHz_NB_IoT;
 #define MAX_ACK_PAYLOAD_NB_IoT 18
 #define MAX_RI_PAYLOAD_NB_IoT 6
 
-#endif
\ No newline at end of file
+#endif
diff --git a/openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c b/openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c
index 3c7e3f986b6..0d8c3c9960b 100644
--- a/openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c
+++ b/openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c
@@ -50,9 +50,6 @@
 //#define DEBUG_DCI_DECODING 1
 //#define DEBUG_PHY
 
-//#undef ALL_AGGREGATION
-
-
 uint16_t extract_crc(uint8_t *dci,uint8_t dci_len)
 {
 
@@ -2802,7 +2799,6 @@ uint16_t dci_decoding_procedure(PHY_VARS_UE *ue,
     if (dci_cnt>old_dci_cnt)
       return(dci_cnt);
 
-    //#ifdef ALL_AGGREGATION
     // Now check UE_SPEC format 1 search spaces at aggregation 8
     old_dci_cnt=dci_cnt;
     dci_decoding_procedure0(pdcch_vars,0,mode,subframe,
@@ -2836,7 +2832,6 @@ uint16_t dci_decoding_procedure(PHY_VARS_UE *ue,
     if (dci_cnt>old_dci_cnt)
       return(dci_cnt);
 
-    //#endif //ALL_AGGREGATION
   } else if (tmode == 3) {
 
 
@@ -2946,7 +2941,6 @@ uint16_t dci_decoding_procedure(PHY_VARS_UE *ue,
     if (dci_cnt>old_dci_cnt)
       return(dci_cnt);
 
-    //#ifdef ALL_AGGREGATION
     // Now check UE_SPEC format 2_2A search spaces at aggregation 8
     LOG_D(PHY," Now check UE_SPEC format 2_2A search spaces at aggregation 8 dci length: %d[bits] %d[bytes]\n",format2A_size_bits,format2A_size_bytes);
     old_dci_cnt=dci_cnt;
@@ -3082,7 +3076,6 @@ uint16_t dci_decoding_procedure(PHY_VARS_UE *ue,
     if (dci_cnt>old_dci_cnt)
       return(dci_cnt);
 
-    //#ifdef ALL_AGGREGATION
     // Now check UE_SPEC format 2_2A search spaces at aggregation 8
     old_dci_cnt=dci_cnt;
     dci_decoding_procedure0(pdcch_vars,0,mode,
@@ -3214,7 +3207,6 @@ uint16_t dci_decoding_procedure(PHY_VARS_UE *ue,
     if (dci_cnt>old_dci_cnt)
       return(dci_cnt);
 
-    //#ifdef ALL_AGGREGATION
 
     // Now check UE_SPEC format 1E_2A_M10PRB search spaces at aggregation 8
     old_dci_cnt=dci_cnt;
@@ -3249,7 +3241,6 @@ uint16_t dci_decoding_procedure(PHY_VARS_UE *ue,
     if (dci_cnt>old_dci_cnt)
       return(dci_cnt);
 
-    //#endif  //ALL_AGGREGATION
 
   }
 
diff --git a/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
index 9906b945d81..91de5386ae4 100644
--- a/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
+++ b/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
@@ -51,7 +51,6 @@
 #include <cblas.h>
 #include "linear_preprocessing_rec.h"
 
-#define NOCYGWIN_STATIC
 //#define DEBUG_MMSE
 
 
diff --git a/openair1/PHY/LTE_UE_TRANSPORT/ulsch_modulation.c b/openair1/PHY/LTE_UE_TRANSPORT/ulsch_modulation.c
index b08fe302482..7ec3e7bfb68 100644
--- a/openair1/PHY/LTE_UE_TRANSPORT/ulsch_modulation.c
+++ b/openair1/PHY/LTE_UE_TRANSPORT/ulsch_modulation.c
@@ -42,7 +42,6 @@
 
 //#define DEBUG_ULSCH_MODULATION
 
-#ifndef OFDMA_ULSCH
 void dft_lte(int32_t *z,int32_t *d, int32_t Msc_PUSCH, uint8_t Nsymb)
 {
 
@@ -371,7 +370,6 @@ void dft_lte(int32_t *z,int32_t *d, int32_t Msc_PUSCH, uint8_t Nsymb)
   //  printf("\n");
 }
 
-#endif
 void ulsch_modulation(int32_t **txdataF,
                       short amp,
                       uint32_t frame,
@@ -690,57 +688,10 @@ void ulsch_modulation(int32_t **txdataF,
 
   // Transform Precoding
 
-#ifdef OFDMA_ULSCH
-
-  for (i=0; i<ulsch_Msymb; i++) {
-    ulsch->z[i] = ulsch->d[i];
-  }
-
-#else
   dft_lte(ulsch->z,ulsch->d,Msc_PUSCH,ulsch->Nsymb_pusch);
-#endif
 
   DevAssert(txdataF);
 
-#ifdef OFDMA_ULSCH
-  re_offset0 = frame_parms->first_carrier_offset + (ulsch->harq_processes[harq_pid]->first_rb*12);
-
-  if (re_offset0>frame_parms->ofdm_symbol_size) {
-    re_offset0 -= frame_parms->ofdm_symbol_size;
-    //    re_offset0++;
-  }
-
-  //  printf("re_offset0 %d\n",re_offset0);
-
-
-  for (j=0,l=0; l<(nsymb-ulsch->srs_active); l++) {
-    re_offset = re_offset0;
-    symbol_offset = (int)frame_parms->ofdm_symbol_size*(l+(subframe*nsymb));
-#ifdef DEBUG_ULSCH_MODULATION
-    printf("symbol %d (subframe %d): symbol_offset %d\n",l,subframe,symbol_offset);
-#endif
-    txptr = &txdataF[0][symbol_offset];
-
-    if (((frame_parms->Ncp == 0) && ((l==3) || (l==10)))||
-        ((frame_parms->Ncp == 1) && ((l==2) || (l==8)))) {
-    }
-    // Skip reference symbols
-    else {
-
-      //      printf("copying %d REs\n",Msc_PUSCH);
-      for (i=0; i<Msc_PUSCH; i++,j++) {
-#ifdef DEBUG_ULSCH_MODULATION
-        printf("re_offset %d (%p): %d,%d\n", re_offset,&ulsch->z[j],((int16_t*)&ulsch->z[j])[0],((int16_t*)&ulsch->z[j])[1]);
-#endif
-        txptr[re_offset++] = ulsch->z[j];
-
-        if (re_offset==frame_parms->ofdm_symbol_size)
-          re_offset = 0;
-      }
-    }
-  }
-
-# else  // OFDMA_ULSCH = 0
   re_offset0 = frame_parms->first_carrier_offset + (ulsch->harq_processes[harq_pid]->first_rb*12);
 
   if (re_offset0>frame_parms->ofdm_symbol_size) {
@@ -777,8 +728,5 @@ void ulsch_modulation(int32_t **txdataF,
     }
   }
 
-#endif
-  VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ULSCH_MODULATION, VCD_FUNCTION_OUT);
-
 }
 
diff --git a/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c b/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
index a6dce88801e..e196bd11b5d 100644
--- a/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
+++ b/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
@@ -30,11 +30,9 @@
  * \warning
  */
 
-#ifdef USER_MODE
-  #include <stdio.h>
-  #include <stdlib.h>
-  #include <string.h>
-#endif
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 
 #include <LAYER2/NR_MAC_UE/mac_defs.h>
 #include <LAYER2/NR_MAC_UE/mac_proto.h>
@@ -63,7 +61,6 @@ char nr_dci_format_string[8][30] = {
 //#define DEBUG_DCI_DECODING 1
 
 //#define NR_LTE_PDCCH_DCI_SWITCH
-#define NR_PDCCH_DCI_RUN              // activates new nr functions
 //#define NR_PDCCH_DCI_DEBUG            // activates NR_PDCCH_DCI_DEBUG logs
 #ifdef NR_PDCCH_DCI_DEBUG
 #define LOG_DNL(a, ...) printf("\n\t\t<-NR_PDCCH_DCI_DEBUG (%s)-> " a, __func__, ##__VA_ARGS__ )
@@ -83,7 +80,6 @@ char nr_dci_format_string[8][30] = {
   #define LOG_I(A,B...) printf(B)
 #endif
 
-#ifdef NR_PDCCH_DCI_RUN
 
 
 //static const int16_t conjugate[8]__attribute__((aligned(32))) = {-1,1,-1,1,-1,1,-1,1};
@@ -211,9 +207,6 @@ void nr_pdcch_demapping_deinterleaving(uint32_t *llr,
   }
 }
 
-#endif
-
-#ifdef NR_PDCCH_DCI_RUN
 int32_t nr_pdcch_llr(NR_DL_FRAME_PARMS *frame_parms, int32_t **rxdataF_comp,
                      int16_t *pdcch_llr, uint8_t symbol,uint32_t coreset_nbr_rb) {
   int16_t *rxF = (int16_t *) &rxdataF_comp[0][(symbol * coreset_nbr_rb * 12)];
@@ -244,7 +237,6 @@ int32_t nr_pdcch_llr(NR_DL_FRAME_PARMS *frame_parms, int32_t **rxdataF_comp,
 
   return (0);
 }
-#endif
 
 
 #if 0
@@ -348,7 +340,6 @@ void nr_pdcch_channel_level(int32_t **dl_ch_estimates_ext,
 
 
 
-#ifdef NR_PDCCH_DCI_RUN
 // This function will extract the mapped DM-RS PDCCH REs as per 38.211 Section 7.4.1.3.2 (Mapping to physical resources)
 void nr_pdcch_extract_rbs_single(int32_t **rxdataF,
                                  int32_t **dl_ch_estimates,
@@ -544,9 +535,6 @@ void nr_pdcch_extract_rbs_single(int32_t **rxdataF,
   }
 }
 
-#endif
-
-
 #define print_shorts(s,x) printf("%s %d,%d,%d,%d,%d,%d,%d,%d\n",s,(x)[0],(x)[1],(x)[2],(x)[3],(x)[4],(x)[5],(x)[6],(x)[7])
 
 void nr_pdcch_channel_compensation(int32_t **rxdataF_ext,
@@ -696,24 +684,6 @@ void nr_pdcch_detection_mrc(NR_DL_FRAME_PARMS *frame_parms,
 #endif
 }
 
-#if 0
-void pdcch_siso(NR_DL_FRAME_PARMS *frame_parms,
-                int32_t **rxdataF_comp,
-                uint8_t l) {
-  uint8_t rb,re,jj,ii;
-  jj=0;
-  ii=0;
-
-  for (rb=0; rb<frame_parms->N_RB_DL; rb++) {
-    for (re=0; re<12; re++) {
-      rxdataF_comp[0][jj++] = rxdataF_comp[0][ii];
-      ii++;
-    }
-  }
-}
-#endif
-
-#ifdef NR_PDCCH_DCI_RUN
 int32_t nr_rx_pdcch(PHY_VARS_NR_UE *ue,
                     UE_nr_rxtx_proc_t *proc,
                     fapi_nr_dl_config_dci_dl_pdu_rel15_t *rel15) {
@@ -826,36 +796,7 @@ int32_t nr_rx_pdcch(PHY_VARS_NR_UE *ue,
   return (0);
 }
 
-#endif
-
-#if 0
-void nr_pdcch_scrambling(NR_DL_FRAME_PARMS *frame_parms,
-                      uint8_t nr_slot_rx,
-                      uint8_t *e,
-                      uint32_t length) {
-  int i;
-  uint8_t reset;
-  uint32_t x1, x2, s=0;
-  reset = 1;
-  // x1 is set in lte_gold_generic
-  x2 = (nr_slot_rx<<9) + frame_parms->Nid_cell; //this is c_init in 36.211 Sec 6.8.2
-
-  for (i=0; i<length; i++) {
-    if ((i&0x1f)==0) {
-      s = lte_gold_generic(&x1, &x2, reset);
-      //printf("lte_gold[%d]=%x\n",i,s);
-      reset = 0;
-    }
-
-    //    printf("scrambling %d : e %d, c %d\n",i,e[i],((s>>(i&0x1f))&1));
-    if (e[i] != 2) // <NIL> element is 2
-      e[i] = (e[i]&1) ^ ((s>>(i&0x1f))&1);
-  }
-}
-#endif
-
 
-#ifdef NR_PDCCH_DCI_RUN
 
 void nr_pdcch_unscrambling(int16_t *z,
                            uint16_t scrambling_RNTI,
@@ -885,10 +826,7 @@ void nr_pdcch_unscrambling(int16_t *z,
   }
 }
 
-#endif
-
 
-#ifdef NR_PDCCH_DCI_RUN
 /* This function compares the received DCI bits with
  * re-encoded DCI bits and returns the number of mismatched bits
  */
@@ -999,846 +937,4 @@ uint8_t nr_dci_decoding_procedure(PHY_VARS_NR_UE *ue,
   return(dci_ind->number_of_dcis);
 }
 
-/*
-void nr_dci_decoding_procedure0(int s,
-                                int p,
-                                int coreset_time_dur,
-                                uint16_t coreset_nbr_rb,
-                                NR_UE_PDCCH **pdcch_vars,
-                                int do_common,
-                                uint8_t nr_slot_rx,
-                                NR_DCI_ALLOC_t *dci_alloc,
-                                int16_t eNB_id,
-                                uint8_t current_thread_id,
-                                NR_DL_FRAME_PARMS *frame_parms,
-                                //uint8_t mi,
-                                uint16_t crc_scrambled_values[TOTAL_NBR_SCRAMBLED_VALUES],
-                                uint8_t L,
-                                NR_UE_SEARCHSPACE_CSS_DCI_FORMAT_t format_css,
-                                NR_UE_SEARCHSPACE_USS_DCI_FORMAT_t format_uss,
-                                uint8_t sizeof_bits,
-                                uint8_t sizeof_bytes,
-                                uint8_t *dci_cnt,
-                                crc_scrambled_t *crc_scrambled,
-                                format_found_t *format_found,
-                                uint16_t pdcch_DMRS_scrambling_id,
-                                uint32_t *CCEmap0,
-                                uint32_t *CCEmap1,
-                                uint32_t *CCEmap2) {
-  uint32_t crc, CCEind, nCCE[3];
-  uint32_t *CCEmap = NULL, CCEmap_mask = 0;
-  uint8_t L2 = (1 << L);
-  unsigned int Yk, nb_candidates = 0, i, m;
-  unsigned int CCEmap_cand;
-  uint32_t decoderState=0;
-  // A[p], p is the current active CORESET
-  uint16_t A[3]= {39827,39829,39839};
-  //Table 10.1-2: Maximum number of PDCCH candidates    per slot and per serving cell as a function of the subcarrier spacing value 2^mu*15 KHz, mu {0,1,2,3}
-  uint8_t m_max_slot_pdcch_Table10_1_2 [4] = {44,36,22,20};
-  //Table 10.1-3: Maximum number of non-overlapped CCEs per slot and per serving cell as a function of the subcarrier spacing value 2^mu*15 KHz, mu {0,1,2,3}
-  //uint8_t cce_max_slot_pdcch_Table10_1_3 [4] = {56,56,48,32};
-  int coreset_nbr_cce_per_symbol=0;
-  LOG_DDD("format_found is %d \n", *format_found);
-  //if (mode == NO_DCI) {
-  //  #ifdef NR_PDCCH_DCI_DEBUG
-  //    LOG_DDD("skip DCI decoding: expect no DCIs at nr_slot_rx %d in current searchSpace\n", nr_slot_rx);
-  //  #endif
-  //  return;
-  //}
-  LOG_DDD("frequencyDomainResources=%lx, duration=%d\n",
-         pdcch_vars[eNB_id]->coreset[p].frequencyDomainResources, pdcch_vars[eNB_id]->coreset[p].duration);
-
-  // nCCE = get_nCCE(pdcch_vars[eNB_id]->num_pdcch_symbols, frame_parms, mi);
-  for (int i = 0; i < 45; i++) {
-    // this loop counts each bit of the bit map coreset_freq_dom, and increments nbr_RB_coreset for each bit set to '1'
-    if (((pdcch_vars[eNB_id]->coreset[p].frequencyDomainResources & 0x1FFFFFFFFFFF) >> i) & 0x1) coreset_nbr_cce_per_symbol++;
-  }
-
-  nCCE[p] = pdcch_vars[eNB_id]->coreset[p].duration*coreset_nbr_cce_per_symbol; // 1 CCE = 6 RB
-  // p is the current CORESET we are currently monitoring (among the 3 possible CORESETs in a BWP)
-  // the number of CCE in the current CORESET is:
-  //   the number of symbols in the CORESET (pdcch_vars[eNB_id]->coreset[p].duration)
-  //   multiplied by the number of bits set to '1' in the frequencyDomainResources bitmap
-  //   (1 bit set to '1' corresponds to 6 RB and 1 CCE = 6 RB)
-  LOG_DDD("nCCE[%d]=%d\n",p,nCCE[p]);
-
-  //  if (nCCE > get_nCCE(3, frame_parms, 1)) {
-  //LOG_D(PHY,
-  //"skip DCI decoding: nCCE=%d > get_nCCE(3,frame_parms,1)=%d\n",
-  //nCCE, get_nCCE(3, frame_parms, 1));
-  //return;
- // }
-
-//  if (nCCE < L2) {
-//  LOG_D(PHY, "skip DCI decoding: nCCE=%d < L2=%d\n", nCCE, L2);
-//  return;
-//  }
-
-//  if (mode == NO_DCI) {
-//  LOG_D(PHY, "skip DCI decoding: expect no DCIs at nr_slot_rx %d\n",
-//  nr_slot_rx);
-//  return;
-//  }
-
-  if (do_common == 1) {
-    Yk = 0;
-
-    if (pdcch_vars[eNB_id]->searchSpace[s].searchSpaceType.common_dci_formats == cformat2_0) {
-      // for dci_format_2_0, the nb_candidates is obtained from a different variable
-      switch (L2) {
-        case 1:
-          nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].searchSpaceType.sfi_nrofCandidates_aggrlevel1;
-          break;
-
-        case 2:
-          nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].searchSpaceType.sfi_nrofCandidates_aggrlevel2;
-          break;
-
-        case 4:
-          nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].searchSpaceType.sfi_nrofCandidates_aggrlevel4;
-          break;
-
-        case 8:
-          nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].searchSpaceType.sfi_nrofCandidates_aggrlevel8;
-          break;
-
-        case 16:
-          nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].searchSpaceType.sfi_nrofCandidates_aggrlevel16;
-          break;
-
-        default:
-          break;
-      }
-    } else if (pdcch_vars[eNB_id]->searchSpace[s].searchSpaceType.common_dci_formats == cformat2_3) {
-      // for dci_format_2_3, the nb_candidates is obtained from a different variable
-      nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].searchSpaceType.srs_nrofCandidates;
-    } else {
-      nb_candidates = (L2 == 4) ? 4 : ((L2 == 8)? 2 : 1); // according to Table 10.1-1 (38.213 section 10.1)
-      LOG_DDD("we are in common searchSpace and nb_candidates=%u for L2=%d\n", nb_candidates, L2);
-    }
-  } else {
-    switch (L2) {
-      case 1:
-        nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].nrofCandidates_aggrlevel1;
-        break;
-
-      case 2:
-        nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].nrofCandidates_aggrlevel2;
-        break;
-
-      case 4:
-        nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].nrofCandidates_aggrlevel4;
-        break;
-
-      case 8:
-        nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].nrofCandidates_aggrlevel8;
-        break;
-
-      case 16:
-        nb_candidates = pdcch_vars[eNB_id]->searchSpace[s].nrofCandidates_aggrlevel16;
-        break;
-
-      default:
-        break;
-    }
-
-    // Find first available in ue specific search space
-    // according to procedure in Section 10.1 of 38.213
-    // compute Yk
-    Yk = (unsigned int) pdcch_vars[eNB_id]->crnti;
-
-    for (i = 0; i <= nr_slot_rx; i++)
-      Yk = (Yk * A[p%3]) % 65537;
-  }
-
-  LOG_DDD("L2(%d) | nCCE[%d](%d) | Yk(%u) | nb_candidates(%u)\n", L2, p, nCCE[p], Yk, nb_candidates);
-  //  for (CCEind=0;
-  //    CCEind<nCCE2;
-  //    CCEind+=(1<<L)) {
-  //  if (nb_candidates * L2 > nCCE[p])
-  //    nb_candidates = nCCE[p] / L2;
-  // In the next code line there is maybe a bug. The spec is not comparing Table 10.1-2 with nb_candidates, but with total number of candidates for all s and all p
-  int m_p_s_L_max = (m_max_slot_pdcch_Table10_1_2[1]<=nb_candidates ? m_max_slot_pdcch_Table10_1_2[1] : nb_candidates);
-
-  if (L==4) m_p_s_L_max=1; // Table 10.1-2 is not defined for L=4
-
-  if(0 <= L && L < 4) LOG_DDD("m_max_slot_pdcch_Table10_1_2(%d)=%d\n",L,m_max_slot_pdcch_Table10_1_2[L]);
-
-  for (m = 0; m < nb_candidates; m++) {
-    int n_ci = 0;
-
-    if (nCCE[p] < L2) return;
-
-  LOG_DDD("debug1(%d)=nCCE[p]/L2 | nCCE[%d](%d) | L2(%d)\n",nCCE[p] / L2,p,nCCE[p],L2);
-  LOG_DDD("debug2(%d)=L2*m_p_s_L_max | L2(%d) | m_p_s_L_max(%d)\n",L2*m_p_s_L_max,L2,m_p_s_L_max);
-  CCEind = (((Yk + (uint16_t)(floor((m*nCCE[p])/(L2*m_p_s_L_max))) + n_ci) % (uint16_t)(floor(nCCE[p] / L2))) * L2);
-  LOG_DDD("CCEind(%u) = (((Yk(%u) + ((m(%u)*nCCE[p](%u))/(L2(%d)*m_p_s_L_max(%d)))) %% (nCCE[p] / L2)) * L2)\n",
-            CCEind,Yk,m,nCCE[p],L2,m_p_s_L_max);
-  LOG_DDD("n_candidate(m)=%u | CCEind=%u |",m,CCEind);
-
-    if (CCEind < 32)
-      CCEmap = CCEmap0;
-    else if (CCEind < 64)
-      CCEmap = CCEmap1;
-    else if (CCEind < 96)
-      CCEmap = CCEmap2;
-    else AssertFatal(1==0,"Illegal CCEind %u (Yk %u, m %u, nCCE %u, L2 %u\n", CCEind, Yk, m, nCCE[p], L2);
-
-    switch (L2) {
-      case 1:
-        CCEmap_mask = (1 << (CCEind & 0x1f));
-        break;
-
-      case 2:
-        CCEmap_mask = (3 << (CCEind & 0x1f));
-        break;
-
-      case 4:
-        CCEmap_mask = (0xf << (CCEind & 0x1f));
-        break;
-
-      case 8:
-        CCEmap_mask = (0xff << (CCEind & 0x1f));
-        break;
-
-      case 16:
-        CCEmap_mask = (0xfff << (CCEind & 0x1f));
-        break;
-
-      default:
-        LOG_E(PHY, "Illegal L2 value %d\n", L2);
-        //mac_xface->macphy_exit("Illegal L2\n");
-        return; // not reached
-    }
-
-    CCEmap_cand = (*CCEmap) & CCEmap_mask;
-    // CCE is not allocated yet
-    LOG_DDD("CCEmap_cand=%u \n",CCEmap_cand);
-
-    if (CCEmap_cand == 0) {
-#ifdef DEBUG_DCI_DECODING
-
-      if (do_common == 1)
-        LOG_I(PHY,"[DCI search nPdcch %d - common] Attempting candidate %d Aggregation Level %d DCI length %d at CCE %d/%d (CCEmap %x,CCEmap_cand %x)\n",
-              pdcch_vars[eNB_id]->num_pdcch_symbols,m,L2,sizeof_bits,CCEind,nCCE,*CCEmap,CCEmap_mask);
-      else
-        LOG_I(PHY,"[DCI search nPdcch %d - ue spec] Attempting candidate %d Aggregation Level %d DCI length %d at CCE %d/%d (CCEmap %x,CCEmap_cand %x) format %d\n",
-              pdcch_vars[eNB_id]->num_pdcch_symbols,m,L2,sizeof_bits,CCEind,nCCE,*CCEmap,CCEmap_mask,format_uss);
-
-#endif
-      LOG_DDD("... we enter function dci_decoding(sizeof_bits=%d L=%d) -----\n",sizeof_bits,L);
-      LOG_DDD("... we have to replace this part of the code by polar decoding\n");
-      //      for (int m=0; m < (nCCE[p]*6*9*2); m++)
-      LOG_DDD("(polar decoding)-> polar intput (with coreset_time_dur=%d, coreset_nbr_rb=%d, p=%d, CCEind=%u): \n",
-             coreset_time_dur,coreset_nbr_rb,p,CCEind);
-      
-      //int reg_p=0,reg_e=0;
-      //for (int m=0; m < (L2*6); m++){
-      //reg_p = (((int)floor(m/coreset_time_dur))+((m%coreset_time_dur)*(L2*6/coreset_time_dur)))*9*2;
-      //reg_e = m*9*2;
-      //for (int i=0; i<9*2; i++){
-      //polar_input[reg_p+i] = (pdcch_vars[eNB_id]->e_rx[((CCEind*9*6*2) + reg_e + i)]>0) ? (1.0):(-1.0);
-      //polar_input[reg_e+i] = (pdcch_vars[eNB_id]->e_rx[((CCEind*9*6*2) + reg_e + i)]>0) ? (1/sqrt(2)):((-1)/sqrt(2));
-      //printf("\t m=%d \tpolar_input[%d]=%lf <-> e_rx[%d]=%d\n",m,reg_e+i,polar_input[reg_e+i],
-      //        ((CCEind*9*6*2) + reg_e + i),pdcch_vars[eNB_id]->e_rx[((CCEind*9*6*2) + reg_e + i)]);
-      //printf("\t m=%d \tpolar_input[%d]=%lf <-> e_rx[%d]=%d\n",m,reg_p+i,polar_input[reg_p+i],
-      //        ((CCEind*9*6*2) + reg_e + i),pdcch_vars[eNB_id]->e_rx[((CCEind*9*6*2) + reg_e + i)]);
-      //}
-      //}
-
-      //#ifdef NR_PDCCH_DCI_DEBUG
-      //printf("\n");
-      //int j=0;
-      //uint32_t polar_hex[27] = {0};
-      //for (int i=0; i<L2*9*6*2; i++){2
-      //if ((i%32 == 0) && (i!=0)) j++;
-      //polar_hex[j] = (polar_hex[j]<<1) + ((polar_input[i]==-1)? 1:0);
-      //polar_hex[j] = polar_hex[j] + (((polar_input[i]==((-1)/sqrt(2)))?1:0)<<(i%32));
-      //}
-      //for (j=0;j<27;j++) LOG_DDD("polar_hex[%d]=%x\n",j,polar_hex[j]);
-      //#endif
-      
-      uint64_t dci_estimation[2]= {0};
-      const t_nrPolar_params *currentPtrDCI=nr_polar_params(1, sizeof_bits, L2,1);
-      decoderState = polar_decoder_int16(&pdcch_vars[eNB_id]->e_rx[CCEind*9*6*2],
-                                         dci_estimation,
-                                         1,
-                                         currentPtrDCI);
-      crc = decoderState;
-      //crc = (crc16(&dci_decoded_output[current_thread_id][0], sizeof_bits) >> 16) ^ extract_crc(&dci_decoded_output[current_thread_id][0], sizeof_bits);
-      LOG_DDD("... we end function dci_decoding() with crc=%x\n",crc);
-      LOG_DDD("... we have to replace this part of the code by polar decoding\n");
-#ifdef DEBUG_DCI_DECODING
-      LOG_DDD("(nr_dci_decoding_procedure0: crc =>%d\n",crc);
-#endif //uint16_t tc_rnti, uint16_t int_rnti, uint16_t sfi_rnti, uint16_t tpc_pusch_rnti, uint16_t tpc_pucch_rnti, uint16_t tpc_srs__rnti
-      LOG_DDD("format_found=%d\n",*format_found);
-      LOG_DDD("crc_scrambled=%d\n",*crc_scrambled);
-
-      if (crc == crc_scrambled_values[_C_RNTI_])  {
-        *crc_scrambled =_c_rnti;
-        *format_found=1;
-      }
-
-      if (crc == crc_scrambled_values[_CS_RNTI_])  {
-        *crc_scrambled =_cs_rnti;
-        *format_found=1;
-      }
-
-      if (crc == crc_scrambled_values[_NEW_RNTI_])  {
-        *crc_scrambled =_new_rnti;
-        *format_found=1;
-      }
-
-      if (crc == crc_scrambled_values[_TC_RNTI_])  {
-        *crc_scrambled =_tc_rnti;
-        *format_found=_format_1_0_found;
-      }
-
-      if (crc == crc_scrambled_values[_P_RNTI_])  {
-        *crc_scrambled =_p_rnti;
-        *format_found=_format_1_0_found;
-      }
-
-      if (crc == crc_scrambled_values[_SI_RNTI_])  {
-        *crc_scrambled =_si_rnti;
-        *format_found=_format_1_0_found;
-      }
-
-      if (crc == crc_scrambled_values[_RA_RNTI_])  {
-        *crc_scrambled =_ra_rnti;
-        *format_found=_format_1_0_found;
-      }
-
-      if (crc == crc_scrambled_values[_SP_CSI_RNTI_])  {
-        *crc_scrambled =_sp_csi_rnti;
-        *format_found=_format_0_1_found;
-      }
-
-      if (crc == crc_scrambled_values[_SFI_RNTI_])  {
-        *crc_scrambled =_sfi_rnti;
-        *format_found=_format_2_0_found;
-      }
-
-      if (crc == crc_scrambled_values[_INT_RNTI_])  {
-        *crc_scrambled =_int_rnti;
-        *format_found=_format_2_1_found;
-      }
-
-      if (crc == crc_scrambled_values[_TPC_PUSCH_RNTI_]) {
-        *crc_scrambled =_tpc_pusch_rnti;
-        *format_found=_format_2_2_found;
-      }
-
-      if (crc == crc_scrambled_values[_TPC_PUCCH_RNTI_]) {
-        *crc_scrambled =_tpc_pucch_rnti;
-        *format_found=_format_2_2_found;
-      }
-
-      if (crc == crc_scrambled_values[_TPC_SRS_RNTI_]) {
-        *crc_scrambled =_tpc_srs_rnti;
-        *format_found=_format_2_3_found;
-      }
-
-
-      LOG_DDD("format_found=%d\n",*format_found);
-      LOG_DDD("crc_scrambled=%d\n",*crc_scrambled);
-
-      if (*format_found!=255) {
-        dci_alloc[*dci_cnt].dci_length = sizeof_bits;
-        dci_alloc[*dci_cnt].rnti = crc;
-        dci_alloc[*dci_cnt].L = L;
-        dci_alloc[*dci_cnt].firstCCE = CCEind;
-        memcpy(&dci_alloc[*dci_cnt].dci_pdu[0],dci_estimation,8);
-
-        LOG_DDD("rnti matches -> DCI FOUND !!! crc =>0x%x, sizeof_bits %d, sizeof_bytes %d \n",
-                dci_alloc[*dci_cnt].rnti, dci_alloc[*dci_cnt].dci_length, sizeof_bytes);
-        LOG_DDD("dci_cnt %d (format_css %d crc_scrambled %d) L %d, firstCCE %d pdu[0] 0x%lx pdu[1] 0x%lx \n",
-                *dci_cnt, format_css,*crc_scrambled,dci_alloc[*dci_cnt].L, dci_alloc[*dci_cnt].firstCCE,dci_alloc[*dci_cnt].dci_pdu[0],dci_alloc[*dci_cnt].dci_pdu[1]);
-        if ((format_css == cformat0_0_and_1_0) || (format_uss == uformat0_0_and_1_0)) {
-          if ((*crc_scrambled == _p_rnti) || (*crc_scrambled == _si_rnti) || (*crc_scrambled == _ra_rnti)) {
-            dci_alloc[*dci_cnt].format = format1_0;
-            *dci_cnt = *dci_cnt + 1;
-            *format_found=_format_1_0_found;
-            //      LOG_DDD("a format1_0=%d and dci_cnt=%d\n",*format_found,*dci_cnt);
-          } else {
-            if ((dci_estimation[0]&1) == 0) {
-              dci_alloc[*dci_cnt].format = format0_0;
-              *dci_cnt = *dci_cnt + 1;
-              *format_found=_format_0_0_found;
-              //        LOG_DDD("b format0_0=%d and dci_cnt=%d\n",*format_found,*dci_cnt);
-            }
-
-            if ((dci_estimation[0]&1) == 1) {
-              dci_alloc[*dci_cnt].format = format1_0;
-              *dci_cnt = *dci_cnt + 1;
-              *format_found=_format_1_0_found;
-              //        LOG_DDD("c format1_0=%d and dci_cnt=%d\n",*format_found,*dci_cnt);
-            }
-          }
-        }
-
-        if (format_css == cformat2_0) {
-          dci_alloc[*dci_cnt].format = format2_0;
-          *dci_cnt = *dci_cnt + 1;
-          *format_found=_format_2_0_found;
-        }
-
-        if (format_css == cformat2_1) {
-          dci_alloc[*dci_cnt].format = format2_1;
-          *dci_cnt = *dci_cnt + 1;
-          *format_found=_format_2_1_found;
-        }
-
-        if (format_css == cformat2_2) {
-          dci_alloc[*dci_cnt].format = format2_2;
-          *dci_cnt = *dci_cnt + 1;
-          *format_found=_format_2_2_found;
-        }
-
-        if (format_css == cformat2_3) {
-          dci_alloc[*dci_cnt].format = format2_3;
-          *dci_cnt = *dci_cnt + 1;
-          *format_found=_format_2_3_found;
-        }
-
-        if (format_uss == uformat0_1_and_1_1) {
-          if ((dci_estimation[0]&1) == 0) {
-            dci_alloc[*dci_cnt].format = format0_1;
-            *dci_cnt = *dci_cnt + 1;
-            *format_found=_format_0_1_found;
-          }
-
-          if ((dci_estimation[0]&1) == 1) {
-            dci_alloc[*dci_cnt].format = format1_1;
-            *dci_cnt = *dci_cnt + 1;
-            *format_found=_format_1_1_found;
-          }
-        }
-
-        // store first nCCE of group for PUCCH transmission of ACK/NAK
-        pdcch_vars[eNB_id]->nCCE[nr_slot_rx] = CCEind;
-
-        //        if (crc == si_rnti) {
-        //        dci_alloc[*dci_cnt].format = format_si;
-        //        *dci_cnt = *dci_cnt + 1;
-        //        } else if (crc == p_rnti) {
-        //        dci_alloc[*dci_cnt].format = format_p;
-        //        *dci_cnt = *dci_cnt + 1;
-        //        } else if (crc == ra_rnti) {
-        //        dci_alloc[*dci_cnt].format = format_ra;
-        //        // store first nCCE of group for PUCCH transmission of ACK/NAK
-        //        pdcch_vars[eNB_id]->nCCE[nr_slot_rx] = CCEind;
-        //        *dci_cnt = *dci_cnt + 1;
-        //        } else if (crc == pdcch_vars[eNB_id]->crnti) {
-
-        //        if ((mode & UL_DCI) && (format_c == format0)
-        //        && ((dci_decoded_output[current_thread_id][0] & 0x80)
-        //        == 0)) { // check if pdu is format 0 or 1A
-        //        if (*format0_found == 0) {
-        //        dci_alloc[*dci_cnt].format = format0;
-        //        *format0_found = 1;
-        //        *dci_cnt = *dci_cnt + 1;
-        //        pdcch_vars[eNB_id]->nCCE[nr_slot_rx] = CCEind;
-        //        }
-        //        } else if (format_c == format0) { // this is a format 1A DCI
-        //        dci_alloc[*dci_cnt].format = format1A;
-        //        *dci_cnt = *dci_cnt + 1;
-        //        pdcch_vars[eNB_id]->nCCE[nr_slot_rx] = CCEind;
-        //        } else {
-        //        // store first nCCE of group for PUCCH transmission of ACK/NAK
-        //        if (*format_c_found == 0) {
-        //        dci_alloc[*dci_cnt].format = format_c;
-        //        *dci_cnt = *dci_cnt + 1;
-        //        *format_c_found = 1;
-        //        pdcch_vars[eNB_id]->nCCE[nr_slot_rx] = CCEind;
-        //        }
-        //        }
-        //        }
-        //LOG_I(PHY,"DCI decoding CRNTI  [format: %d, nCCE[nr_slot_rx: %d]: %d ], AggregationLevel %d \n",format_c, nr_slot_rx, pdcch_vars[eNB_id]->nCCE[nr_slot_rx],L2);
-        //  memcpy(&dci_alloc[*dci_cnt].dci_pdu[0],dci_decoded_output,sizeof_bytes);
-        switch (1 << L) {
-          case 1:
-            *CCEmap |= (1 << (CCEind & 0x1f));
-            break;
-
-          case 2:
-            *CCEmap |= (1 << (CCEind & 0x1f));
-            break;
-
-          case 4:
-            *CCEmap |= (1 << (CCEind & 0x1f));
-            break;
-
-          case 8:
-            *CCEmap |= (1 << (CCEind & 0x1f));
-            break;
-
-          case 16:
-            *CCEmap |= (1 << (CCEind & 0x1f));
-            break;
-        }
-
-#ifdef DEBUG_DCI_DECODING
-        LOG_I(PHY,"[DCI search] Found DCI %d rnti %x Aggregation %d length %d format %d in CCE %d (CCEmap %x) candidate %d / %d \n",
-              *dci_cnt,crc,1<<L,sizeof_bits,dci_alloc[*dci_cnt-1].format,CCEind,*CCEmap,m,nb_candidates );
-        //  nr_extract_dci_into(
-        //  dump_dci(frame_parms,&dci_alloc[*dci_cnt-1]);
-#endif
-        return;
-      } // rnti match
-    } else { // CCEmap_cand == 0
-      printf("\n");
-    }
-
-    
-    //  if ( agregationLevel != 0xFF &&
-    //  (format_c == format0 && m==0 && si_rnti != SI_RNTI))
-    //  {
-    //  //Only valid for OAI : Save some processing time when looking for DCI format0. From the log we see the DCI only on candidate 0.
-    //  return;
-    //  }
-    
-  } // candidate loop
-
-  LOG_DDD("end candidate loop\n");
-}
-*/
-#endif
-
-
-
-
-
-
-
-
-#if 0
-
-
-uint8_t nr_dci_decoding_procedure(int s,
-                                  int p,
-                                  PHY_VARS_NR_UE *ue,
-                                  NR_DCI_ALLOC_t *dci_alloc,
-                                  NR_SEARCHSPACE_TYPE_t searchSpacetype,
-                                  int16_t eNB_id,
-                                  uint8_t nr_slot_rx,
-                                  uint8_t dci_fields_sizes_cnt[MAX_NR_DCI_DECODED_SLOT][NBR_NR_DCI_FIELDS][NBR_NR_FORMATS],
-                                  uint16_t n_RB_ULBWP,
-                                  uint16_t n_RB_DLBWP,
-                                  crc_scrambled_t *crc_scrambled,
-                                  format_found_t *format_found,
-                                  uint16_t crc_scrambled_values[TOTAL_NBR_SCRAMBLED_VALUES]) {
-  //                                  uint8_t dci_fields_sizes[NBR_NR_DCI_FIELDS][NBR_NR_FORMATS],
-  LOG_DD("(nr_dci_decoding_procedure) nr_slot_rx=%d n_RB_ULBWP=%d n_RB_DLBWP=%d format_found=%d\n",
-         nr_slot_rx,n_RB_ULBWP,n_RB_DLBWP,*format_found);
-  int do_common = (int)searchSpacetype;
-  uint8_t dci_fields_sizes[NBR_NR_DCI_FIELDS][NBR_NR_FORMATS];
-  crc_scrambled_t crc_scrambled_ = *crc_scrambled;
-  format_found_t format_found_   = *format_found;
-  uint8_t dci_cnt = 0, old_dci_cnt = 0;
-  uint32_t CCEmap0 = 0, CCEmap1 = 0, CCEmap2 = 0;
-  NR_UE_PDCCH **pdcch_vars = ue->pdcch_vars[ue->current_thread_id[nr_slot_rx]];
-  NR_UE_PDCCH *pdcch_vars2 = ue->pdcch_vars[ue->current_thread_id[nr_slot_rx]][eNB_id];
-  uint16_t pdcch_DMRS_scrambling_id = pdcch_vars2->coreset[p].pdcchDMRSScramblingID;
-  uint64_t coreset_freq_dom = pdcch_vars2->coreset[p].frequencyDomainResources;
-  int coreset_time_dur = pdcch_vars2->coreset[p].duration;
-  uint16_t coreset_nbr_rb=0;
-
-  for (int i = 0; i < 45; i++) {
-    // this loop counts each bit of the bit map coreset_freq_dom, and increments nbr_RB_coreset for each bit set to '1'
-    if (((coreset_freq_dom & 0x1FFFFFFFFFFF) >> i) & 0x1) coreset_nbr_rb++;
-  }
-
-  coreset_nbr_rb = 6 * coreset_nbr_rb;
-  // coreset_time_dur,coreset_nbr_rb,
-  NR_DL_FRAME_PARMS *frame_parms = &ue->frame_parms;
-  //uint8_t mi;// = get_mi(&ue->frame_parms, nr_slot_rx);
-  //uint8_t tmode = ue->transmission_mode[eNB_id];
-  //uint8_t frame_type = frame_parms->frame_type;
-  uint8_t format_0_0_1_0_size_bits = 0, format_0_0_1_0_size_bytes = 0; //FIXME
-  uint8_t format_0_1_1_1_size_bits = 0, format_0_1_1_1_size_bytes = 0; //FIXME
-  uint8_t format_2_0_size_bits = 0, format_2_0_size_bytes = 0; //FIXME
-  uint8_t format_2_1_size_bits = 0, format_2_1_size_bytes = 0; //FIXME
-  uint8_t format_2_2_size_bits = 0, format_2_2_size_bytes = 0; //FIXME
-  uint8_t format_2_3_size_bits = 0, format_2_3_size_bytes = 0; //FIXME
-  /*
-   *
-   * The implementation of this function will depend on the information given by the searchSpace IE
-   *
-   * In LTE the UE has no knowledge about:
-   * - the type of search (common or ue-specific)
-   * - the DCI format it is going to be decoded when performing the PDCCH monitoring
-   * So the blind decoding has to be done for common and ue-specific searchSpaces for each aggregation level and for each dci format
-   *
-   * In NR the UE has a knowledge about the search Space type and the DCI format it is going to be decoded,
-   * so in the blind decoding we can call the function nr_dci_decoding_procedure0 with the searchSpace type and the dci format parameter
-   * We will call this function as many times as aggregation levels indicated in searchSpace
-   * Implementation according to 38.213 v15.1.0 Section 10.
-   *
-   */
-  NR_UE_SEARCHSPACE_CSS_DCI_FORMAT_t css_dci_format = pdcch_vars2->searchSpace[s].searchSpaceType.common_dci_formats;       //FIXME!!!
-  NR_UE_SEARCHSPACE_USS_DCI_FORMAT_t uss_dci_format = pdcch_vars2->searchSpace[s].searchSpaceType.ue_specific_dci_formats;  //FIXME!!!
-  // The following initialization is only for test purposes. To be removed
-  // NR_UE_SEARCHSPACE_CSS_DCI_FORMAT_t
-  css_dci_format = cformat0_0_and_1_0;
-  //NR_UE_SEARCHSPACE_USS_DCI_FORMAT_t
-  uss_dci_format = uformat0_0_and_1_0;
-  /*
-   * Possible overlap between RE for SS/PBCH blocks (described in section 10, 38.213) has not been implemented yet
-   * This can be implemented by setting variable 'mode = NO_DCI' when overlap occurs
-   */
-  //dci_detect_mode_t mode = 3; //dci_detect_mode_select(&ue->frame_parms, nr_slot_rx);
-  LOG_DD("searSpaceType=%d\n",do_common);
-  LOG_DD("%s_dci_format=%d\n",do_common?"uss":"css",css_dci_format);
-
-
-  // A set of PDCCH candidates for a UE to monitor is defined in terms of PDCCH search spaces
-  if (do_common==0) { // COMMON SearchSpaceType assigned to current SearchSpace/CORESET
-    // Type0-PDCCH  common search space for a DCI format with CRC scrambled by a SI-RNTI
-    // number of consecutive resource blocks and a number of consecutive symbols for
-    // the control resource set of the Type0-PDCCH common search space from
-    // the four most significant bits of RMSI-PDCCH-Config as described in Tables 13-1 through 13-10
-    // and determines PDCCH monitoring occasions
-    // from the four least significant bits of RMSI-PDCCH-Config,
-    // included in MasterInformationBlock, as described in Tables 13-11 through 13-15
-    // Type0A-PDCCH common search space for a DCI format with CRC scrambled by a SI-RNTI
-    // Type1-PDCCH  common search space for a DCI format with CRC scrambled by a RA-RNTI, or a TC-RNTI, or a C-RNTI
-    // Type2-PDCCH  common search space for a DCI format with CRC scrambled by a P-RNTI
-    if (css_dci_format == cformat0_0_and_1_0) {
-      // 38.213 v15.1.0 Table 10.1-1: CCE aggregation levels and maximum number of PDCCH candidates per CCE
-      // aggregation level for Type0/Type0A/Type2-PDCCH common search space
-      //   CCE Aggregation Level    Number of Candidates
-      //           4                       4
-      //           8                       2
-      //           16                      1
-      // FIXME
-      // We shall consider Table 10.1-1 to calculate the blind decoding only for Type0/Type0A/Type2-PDCCH
-      // Shall we consider the nrofCandidates in SearSpace IE that considers Aggregation Levels 1,2,4,8,16? Our implementation considers Table 10.1-1
-      // blind decoding (Type0-PDCCH,Type0A-PDCCH,Type1-PDCCH,Type2-PDCCH)
-      // for format0_0 => we are NOT implementing format0_0 for common search spaces. FIXME!
-      // for format0_0 and format1_0, first we calculate dci pdu size
-      format_0_0_1_0_size_bits = nr_dci_format_size(ue,eNB_id,nr_slot_rx,p,_c_rnti,n_RB_ULBWP,n_RB_DLBWP,dci_fields_sizes,0);
-      format_0_0_1_0_size_bytes = (format_0_0_1_0_size_bits%8 == 0) ? (uint8_t)floor(format_0_0_1_0_size_bits/8) : (uint8_t)(floor(format_0_0_1_0_size_bits/8) + 1);
-      LOG_DD("calculating dci format size for common searchSpaces with format css_dci_format=%d, format_0_0_1_0_size_bits=%d, format_0_0_1_0_size_bytes=%d\n",
-             css_dci_format,format_0_0_1_0_size_bits,format_0_0_1_0_size_bytes);
-
-      for (int aggregationLevel = 0; aggregationLevel<5 ; aggregationLevel++) { // We fix aggregationLevel to 3 for testing=> nbr of CCE=8
-        //for (int aggregationLevel = 2; aggregationLevel<5 ; aggregationLevel++) {
-        // for aggregation level aggregationLevel. The number of candidates (for L2= 2^aggregationLevel) will be calculated in function nr_dci_decoding_procedure0
-        LOG_DD("common searchSpaces with format css_dci_format=%d and aggregation_level=%d\n",
-               css_dci_format,(1<<aggregationLevel));
-        old_dci_cnt = dci_cnt;
-        nr_dci_decoding_procedure0(s,p,coreset_time_dur,coreset_nbr_rb,pdcch_vars, 1, nr_slot_rx, dci_alloc, eNB_id, ue->current_thread_id[nr_slot_rx], frame_parms,
-                                   crc_scrambled_values, aggregationLevel,
-                                   cformat0_0_and_1_0, uformat0_0_and_1_0,
-                                   format_0_0_1_0_size_bits, format_0_0_1_0_size_bytes, &dci_cnt,
-                                   &crc_scrambled_, &format_found_, pdcch_DMRS_scrambling_id,&CCEmap0, &CCEmap1, &CCEmap2);
-
-        if (dci_cnt != old_dci_cnt) {
-          // we will exit the loop as we have found the DCI
-          aggregationLevel = 5;
-          format_0_0_1_0_size_bits = nr_dci_format_size(ue,eNB_id,nr_slot_rx,p,crc_scrambled_,n_RB_ULBWP,n_RB_DLBWP,dci_fields_sizes,
-                                     0); // after decoding dci successfully we recalculate dci pdu size with correct crc scrambled to get the right field sizes
-          old_dci_cnt = dci_cnt;
-
-          for (int i=0; i<NBR_NR_DCI_FIELDS; i++)
-            for (int j=0; j<NBR_NR_FORMATS; j++)
-              dci_fields_sizes_cnt[dci_cnt-1][i][j]=dci_fields_sizes[i][j];
-        }
-      }
-    }
-
-    // Type3-PDCCH  common search space for a DCI format with CRC scrambled by INT-RNTI, or SFI-RNTI,
-    //    or TPC-PUSCH-RNTI, or TPC-PUCCH-RNTI, or TPC-SRS-RNTI, or C-RNTI, or CS-RNTI(s), or SP-CSI-RNTI
-    if (css_dci_format == cformat2_0) {
-      // for format2_0, first we calculate dci pdu size
-      format_2_0_size_bits = nr_dci_format_size(ue,eNB_id,nr_slot_rx,p,_sfi_rnti,n_RB_ULBWP,n_RB_DLBWP,dci_fields_sizes,4);
-      format_2_0_size_bytes = (format_2_0_size_bits%8 == 0) ? (uint8_t)floor(format_2_0_size_bits/8) : (uint8_t)(floor(format_2_0_size_bits/8) + 1);
-      LOG_DD("calculating dci format size for common searchSpaces with format css_dci_format=%d, format2_0_size_bits=%d, format2_0_size_bytes=%d\n",
-             css_dci_format,format_2_0_size_bits,format_2_0_size_bytes);
-
-      for (int aggregationLevelSFI = 0; aggregationLevelSFI<5 ; aggregationLevelSFI++) {
-        LOG_DD("common searchSpaces with format css_dci_format=%d and aggregation_level=%d\n",
-               css_dci_format,(1<<aggregationLevelSFI));
-        // for aggregation level 'aggregationLevelSFI'. The number of candidates (nrofCandidates-SFI) will be calculated in function nr_dci_decoding_procedure0
-        old_dci_cnt = dci_cnt;
-        nr_dci_decoding_procedure0(s,p,coreset_time_dur,coreset_nbr_rb,pdcch_vars, 1, nr_slot_rx, dci_alloc, eNB_id, ue->current_thread_id[nr_slot_rx], frame_parms,
-                                   crc_scrambled_values, aggregationLevelSFI,
-                                   cformat2_0, uformat0_0_and_1_0,
-                                   format_2_0_size_bits, format_2_0_size_bytes, &dci_cnt,
-                                   &crc_scrambled_, &format_found_,pdcch_DMRS_scrambling_id, &CCEmap0, &CCEmap1, &CCEmap2);
-
-        if (dci_cnt != old_dci_cnt) {
-          // we will exit the loop as we have found the DCI
-          aggregationLevelSFI = 5;
-          old_dci_cnt = dci_cnt;
-
-          for (int i=0; i<NBR_NR_DCI_FIELDS; i++)
-            for (int j=0; j<NBR_NR_FORMATS; j++)
-              dci_fields_sizes_cnt[dci_cnt-1][i][j]=dci_fields_sizes[i][j];
-        }
-      }
-    }
-
-    if (css_dci_format == cformat2_1) {
-      // for format2_1, first we calculate dci pdu size
-      format_2_1_size_bits = nr_dci_format_size(ue,eNB_id,nr_slot_rx,p,_int_rnti,n_RB_ULBWP,n_RB_DLBWP,dci_fields_sizes,5);
-      format_2_1_size_bytes = (format_2_1_size_bits%8 == 0) ? (uint8_t)floor(format_2_1_size_bits/8) : (uint8_t)(floor(format_2_1_size_bits/8) + 1);
-      LOG_DD("calculating dci format size for common searchSpaces with format css_dci_format=%d, format2_1_size_bits=%d, format2_1_size_bytes=%d\n",
-             css_dci_format,format_2_1_size_bits,format_2_1_size_bytes);
-
-      for (int aggregationLevel = 0; aggregationLevel<5 ; aggregationLevel++) {
-        LOG_DD("common searchSpaces with format css_dci_format=%d and aggregation_level=%d\n",
-               css_dci_format,(1<<aggregationLevel));
-        // for aggregation level 'aggregationLevelSFI'. The number of candidates (nrofCandidates-SFI) will be calculated in function nr_dci_decoding_procedure0
-        old_dci_cnt = dci_cnt;
-        nr_dci_decoding_procedure0(s,p,coreset_time_dur,coreset_nbr_rb,pdcch_vars, 1, nr_slot_rx, dci_alloc, eNB_id, ue->current_thread_id[nr_slot_rx], frame_parms,
-                                   crc_scrambled_values, aggregationLevel,
-                                   cformat2_1, uformat0_0_and_1_0,
-                                   format_2_1_size_bits, format_2_1_size_bytes, &dci_cnt,
-                                   &crc_scrambled_, &format_found_,pdcch_DMRS_scrambling_id, &CCEmap0, &CCEmap1, &CCEmap2);
-
-        if (dci_cnt != old_dci_cnt) {
-          // we will exit the loop as we have found the DCI
-          aggregationLevel = 5;
-          old_dci_cnt = dci_cnt;
-
-          for (int i=0; i<NBR_NR_DCI_FIELDS; i++)
-            for (int j=0; j<NBR_NR_FORMATS; j++)
-              dci_fields_sizes_cnt[dci_cnt-1][i][j]=dci_fields_sizes[i][j];
-        }
-      }
-    }
-
-    if (css_dci_format == cformat2_2) {
-      // for format2_2, first we calculate dci pdu size
-      format_2_2_size_bits = nr_dci_format_size(ue,eNB_id,nr_slot_rx,p,_tpc_pucch_rnti,n_RB_ULBWP,n_RB_DLBWP,dci_fields_sizes,6);
-      format_2_2_size_bytes = (format_2_2_size_bits%8 == 0) ? (uint8_t)floor(format_2_2_size_bits/8) : (uint8_t)(floor(format_2_2_size_bits/8) + 1);
-      LOG_DD("calculating dci format size for common searchSpaces with format css_dci_format=%d, format2_2_size_bits=%d, format2_2_size_bytes=%d\n",
-             css_dci_format,format_2_2_size_bits,format_2_2_size_bytes);
-
-      for (int aggregationLevel = 0; aggregationLevel<5 ; aggregationLevel++) {
-        LOG_DD("common searchSpaces with format css_dci_format=%d and aggregation_level=%d\n",
-               css_dci_format,(1<<aggregationLevel));
-        // for aggregation level 'aggregationLevelSFI'. The number of candidates (nrofCandidates-SFI) will be calculated in function nr_dci_decoding_procedure0
-        old_dci_cnt = dci_cnt;
-        nr_dci_decoding_procedure0(s,p,coreset_time_dur,coreset_nbr_rb,pdcch_vars, 1, nr_slot_rx, dci_alloc, eNB_id, ue->current_thread_id[nr_slot_rx], frame_parms,
-                                   crc_scrambled_values, aggregationLevel,
-                                   cformat2_2, uformat0_0_and_1_0,
-                                   format_2_2_size_bits, format_2_2_size_bytes, &dci_cnt,
-                                   &crc_scrambled_, &format_found_,pdcch_DMRS_scrambling_id, &CCEmap0, &CCEmap1, &CCEmap2);
-
-        if (dci_cnt != old_dci_cnt) {
-          // we will exit the loop as we have found the DCI
-          aggregationLevel = 5;
-          old_dci_cnt = dci_cnt;
-
-          for (int i=0; i<NBR_NR_DCI_FIELDS; i++)
-            for (int j=0; j<NBR_NR_FORMATS; j++)
-              dci_fields_sizes_cnt[dci_cnt-1][i][j]=dci_fields_sizes[i][j];
-        }
-      }
-    }
-
-    if (css_dci_format == cformat2_3) {
-      // for format2_1, first we calculate dci pdu size
-      format_2_3_size_bits = nr_dci_format_size(ue,eNB_id,nr_slot_rx,p,_tpc_srs_rnti,n_RB_ULBWP,n_RB_DLBWP,dci_fields_sizes,7);
-      format_2_3_size_bytes = (format_2_3_size_bits%8 == 0) ? (uint8_t)floor(format_2_3_size_bits/8) : (uint8_t)(floor(format_2_3_size_bits/8) + 1);
-      LOG_DD("calculating dci format size for common searchSpaces with format css_dci_format=%d, format2_3_size_bits=%d, format2_3_size_bytes=%d\n",
-             css_dci_format,format_2_3_size_bits,format_2_3_size_bytes);
-
-      for (int aggregationLevel = 0; aggregationLevel<5 ; aggregationLevel++) {
-        LOG_DD("common searchSpaces with format css_dci_format=%d and aggregation_level=%d\n",
-               css_dci_format,(1<<aggregationLevel));
-        // for aggregation level 'aggregationLevelSFI'. The number of candidates (nrofCandidates-SFI) will be calculated in function nr_dci_decoding_procedure0
-        old_dci_cnt = dci_cnt;
-        nr_dci_decoding_procedure0(s,p,coreset_time_dur,coreset_nbr_rb,pdcch_vars, 1, nr_slot_rx, dci_alloc, eNB_id, ue->current_thread_id[nr_slot_rx], frame_parms,
-                                   crc_scrambled_values, aggregationLevel,
-                                   cformat2_3, uformat0_0_and_1_0,
-                                   format_2_3_size_bits, format_2_3_size_bytes, &dci_cnt,
-                                   &crc_scrambled_, &format_found_,pdcch_DMRS_scrambling_id, &CCEmap0, &CCEmap1, &CCEmap2);
-
-        if (dci_cnt != old_dci_cnt) {
-          // we will exit the loop as we have found the DCI
-          aggregationLevel = 5;
-          old_dci_cnt = dci_cnt;
-
-          for (int i=0; i<NBR_NR_DCI_FIELDS; i++)
-            for (int j=0; j<NBR_NR_FORMATS; j++)
-              dci_fields_sizes_cnt[dci_cnt-1][i][j]=dci_fields_sizes[i][j];
-        }
-      }
-    }
-  } else { // UE-SPECIFIC SearchSpaceType assigned to current SearchSpace/CORESET
-    // UE-specific search space for a DCI format with CRC scrambled by C-RNTI, or CS-RNTI(s), or SP-CSI-RNTI
-    if (uss_dci_format == uformat0_0_and_1_0) {
-      // for format0_0 and format1_0, first we calculate dci pdu size
-      format_0_0_1_0_size_bits = nr_dci_format_size(ue,eNB_id,nr_slot_rx,p,_c_rnti,n_RB_ULBWP,n_RB_DLBWP,dci_fields_sizes,0);
-      format_0_0_1_0_size_bytes = (format_0_0_1_0_size_bits%8 == 0) ? (uint8_t)floor(format_0_0_1_0_size_bits/8) : (uint8_t)(floor(format_0_0_1_0_size_bits/8) + 1);
-      LOG_DD("calculating dci format size for UE-specific searchSpaces with format uss_dci_format=%d, format_0_0_1_0_size_bits=%d, format_0_0_1_0_size_bytes=%d\n",
-             css_dci_format,format_0_0_1_0_size_bits,format_0_0_1_0_size_bytes);
-
-      for (int aggregationLevel = 0; aggregationLevel<5 ; aggregationLevel++) { // We fix aggregationLevel to 3 for testing=> nbr of CCE=8
-        //for (int aggregationLevel = 2; aggregationLevel<5 ; aggregationLevel++) {
-        // for aggregation level aggregationLevel. The number of candidates (for L2= 2^aggregationLevel) will be calculated in function nr_dci_decoding_procedure0
-        LOG_DD("common searchSpaces with format css_dci_format=%d and aggregation_level=%d\n",
-               css_dci_format,(1<<aggregationLevel));
-        old_dci_cnt = dci_cnt;
-        nr_dci_decoding_procedure0(s,p,coreset_time_dur,coreset_nbr_rb,pdcch_vars, 0, nr_slot_rx, dci_alloc, eNB_id, ue->current_thread_id[nr_slot_rx], frame_parms,
-                                   crc_scrambled_values, aggregationLevel,
-                                   cformat0_0_and_1_0, uformat0_0_and_1_0,
-                                   format_0_0_1_0_size_bits, format_0_0_1_0_size_bytes, &dci_cnt,
-                                   &crc_scrambled_, &format_found_,pdcch_DMRS_scrambling_id, &CCEmap0, &CCEmap1, &CCEmap2);
-
-        if (dci_cnt != old_dci_cnt) {
-          // we will exit the loop as we have found the DCI
-          aggregationLevel = 5;
-          old_dci_cnt = dci_cnt;
-
-          for (int i=0; i<NBR_NR_DCI_FIELDS; i++)
-            for (int j=0; j<NBR_NR_FORMATS; j++)
-              dci_fields_sizes_cnt[dci_cnt-1][i][j]=dci_fields_sizes[i][j];
-        }
-      }
-    }
 
-    if (uss_dci_format == uformat0_1_and_1_1) {
-      // for format0_0 and format1_0, first we calculate dci pdu size
-      format_0_1_1_1_size_bits = nr_dci_format_size(ue,eNB_id,nr_slot_rx,p,_c_rnti,n_RB_ULBWP,n_RB_DLBWP,dci_fields_sizes,1);
-      format_0_1_1_1_size_bytes = (format_0_1_1_1_size_bits%8 == 0) ? (uint8_t)floor(format_0_1_1_1_size_bits/8) : (uint8_t)(floor(format_0_1_1_1_size_bits/8) + 1);
-      LOG_DD("calculating dci format size for UE-specific searchSpaces with format uss_dci_format=%d, format_0_1_1_1_size_bits=%d, format_0_1_1_1_size_bytes=%d\n",
-             css_dci_format,format_0_1_1_1_size_bits,format_0_1_1_1_size_bytes);
-
-      for (int aggregationLevel = 0; aggregationLevel<5 ; aggregationLevel++) { // We fix aggregationLevel to 3 for testing=> nbr of CCE=8
-        //for (int aggregationLevel = 2; aggregationLevel<5 ; aggregationLevel++) {
-        // for aggregation level aggregationLevel. The number of candidates (for L2= 2^aggregationLevel) will be calculated in function nr_dci_decoding_procedure0
-        LOG_DD("common searchSpaces with format css_dci_format=%d and aggregation_level=%d\n",
-               css_dci_format,(1<<aggregationLevel));
-        old_dci_cnt = dci_cnt;
-        nr_dci_decoding_procedure0(s,p,coreset_time_dur,coreset_nbr_rb,pdcch_vars, 0, nr_slot_rx, dci_alloc, eNB_id, ue->current_thread_id[nr_slot_rx], frame_parms,
-                                   crc_scrambled_values, aggregationLevel,
-                                   cformat0_0_and_1_0, uformat0_1_and_1_1,
-                                   format_0_1_1_1_size_bits, format_0_1_1_1_size_bytes, &dci_cnt,
-                                   &crc_scrambled_, &format_found_,pdcch_DMRS_scrambling_id, &CCEmap0, &CCEmap1, &CCEmap2);
-
-        if (dci_cnt != old_dci_cnt) {
-          // we will exit the loop as we have found the DCI
-          aggregationLevel = 5;
-          old_dci_cnt = dci_cnt;
-
-          for (int i=0; i<NBR_NR_DCI_FIELDS; i++)
-            for (int j=0; j<NBR_NR_FORMATS; j++)
-              dci_fields_sizes_cnt[dci_cnt-1][i][j]=dci_fields_sizes[i][j];
-        }
-      }
-    }
-  }
-
-  *crc_scrambled = crc_scrambled_;
-  *format_found  = format_found_;
-  LOG_DD("at the end crc_scrambled=%d and format_found=%d\n",*crc_scrambled,*format_found);
-  LOG_DD("at the end dci_cnt=%d \n",dci_cnt);
-  return(dci_cnt);
-}
-
-#endif
diff --git a/openair1/PHY/NR_UE_TRANSPORT/dci_nr.h b/openair1/PHY/NR_UE_TRANSPORT/dci_nr.h
index 5f1321dd321..7bbc59ede24 100644
--- a/openair1/PHY/NR_UE_TRANSPORT/dci_nr.h
+++ b/openair1/PHY/NR_UE_TRANSPORT/dci_nr.h
@@ -33,13 +33,7 @@
 #ifndef __PHY_NR_UE_TRANSPORT_DCI_NR__H__
 #define __PHY_NR_UE_TRANSPORT_DCI_NR__H__
 
-#ifndef USER_MODE
-#include "PHY/types.h"
-#else
 #include <stdint.h>
-#endif
-
-
 
 #define MAX_DCI_SIZE_BITS 45
 
diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c b/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
index fb6e7bf6b5d..625c0dfc90d 100644
--- a/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
+++ b/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
@@ -42,12 +42,6 @@
 #include "PHY/NR_REFSIG/nr_refsig.h"
 #include "PHY/NR_REFSIG/dmrs_nr.h"
 
-#ifndef USER_MODE
-#define NOCYGWIN_STATIC static
-#else
-#define NOCYGWIN_STATIC
-#endif
-
 /* dynamic shift for LLR computation for TM3/4
  * set as command line argument, see lte-softmodem.c
  * default value: 0
diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c b/openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
index 4d9e2dce352..86c9974f683 100644
--- a/openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
+++ b/openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
@@ -40,9 +40,7 @@
 //#define DEBUG_PBCH 
 //#define DEBUG_PBCH_ENCODING
 
-#ifdef OPENAIR2
   //#include "PHY_INTERFACE/defs.h"
-#endif
 
 #define PBCH_A 24
 
diff --git a/openair1/PHY/defs_L1_NB_IoT.h b/openair1/PHY/defs_L1_NB_IoT.h
index cc3ec94a95d..a4552c8c271 100644
--- a/openair1/PHY/defs_L1_NB_IoT.h
+++ b/openair1/PHY/defs_L1_NB_IoT.h
@@ -48,7 +48,6 @@
 #ifdef MEX
   #define msg mexPrintf
 #else
-  #ifdef OPENAIR2
     #if ENABLE_RAL
       #include "collection/hashtable/hashtable.h"
       #include "COMMON/ral_messages_types.h"
@@ -56,9 +55,6 @@
     #endif
     #include "common/utils/LOG/log.h"
     #define msg(aRGS...) LOG_D(PHY, ##aRGS)
-  #else
-    #define msg printf
-  #endif
 #endif
 //use msg in the real-time thread context
 #define msg_nrt printf
@@ -196,19 +192,6 @@ typedef struct {
   NB_IoT_UE_DLSCH_t   *dlsch_rn_MCH[10];
 
 } PHY_VARS_RN_NB_IoT;
-/*
-#ifdef OCP_FRAMEWORK
-#include <enums.h>
-#else
-//typedef enum {normal_txrx=0,rx_calib_ue=1,rx_calib_ue_med=2,rx_calib_ue_byp=3,debug_prach=4,no_L2_connect=5,calib_prach_tx=6,rx_dump_frame=7,loop_through_memory=8} runmode_t;
-*/
-// enum transmission_access_mode {
-//   NO_ACCESS=0,
-//   POSTPONED_ACCESS,
-//   CANCELED_ACCESS,
-//   UNKNOWN_ACCESS,
-//   SCHEDULED_ACCESS,
-//   CBA_ACCESS};
 
 typedef enum  {
   eNodeB_3GPP_NB_IoT=0,   // classical eNodeB function
diff --git a/openair1/PHY/defs_UE.h b/openair1/PHY/defs_UE.h
index e17b752e7b7..2d2697a4b7a 100644
--- a/openair1/PHY/defs_UE.h
+++ b/openair1/PHY/defs_UE.h
@@ -87,7 +87,6 @@
   #define LOG_W(x, ...) mexPrintf(__VA_ARGS__)
   #define LOG_M(x, ...) mexPrintf(__VA_ARGS__)
 #else
-  #ifdef OPENAIR2
     #if ENABLE_RAL
       #include "collection/hashtable/hashtable.h"
       #include "COMMON/ral_messages_types.h"
@@ -95,9 +94,6 @@
     #endif
     #include "common/utils/LOG/log.h"
     #define msg(aRGS...) LOG_D(PHY, ##aRGS)
-  #else
-    #define msg printf
-  #endif
 #endif
 
 
diff --git a/openair1/PHY/defs_nr_UE.h b/openair1/PHY/defs_nr_UE.h
index 8ce18aa667d..8d8df870fc6 100644
--- a/openair1/PHY/defs_nr_UE.h
+++ b/openair1/PHY/defs_nr_UE.h
@@ -51,16 +51,12 @@
 #ifdef MEX
   #define msg mexPrintf
 #else
-  #ifdef OPENAIR2
     #if ENABLE_RAL
       #include "common/utils/hashtable/hashtable.h"
       #include "COMMON/ral_messages_types.h"
       #include "UTIL/queue.h"
     #endif
     #define msg(aRGS...) LOG_D(PHY, ##aRGS)
-  #else
-    #define msg printf
-  #endif
 #endif
 //use msg in the real-time thread context
 #define msg_nrt printf
diff --git a/openair1/PHY/phy_extern.h b/openair1/PHY/phy_extern.h
index d5fea5aec66..1ce042d086d 100644
--- a/openair1/PHY/phy_extern.h
+++ b/openair1/PHY/phy_extern.h
@@ -55,12 +55,6 @@ extern char mode_string[4][20];
 extern unsigned char NB_RU;
 
 
-#ifndef OPENAIR2
-extern unsigned char NB_eNB_INST;
-extern uint16_t NB_UE_INST;
-extern unsigned char NB_RN_INST;
-#endif
-
 extern int flag_LA;
 extern double sinr_bler_map[MCS_COUNT][2][MCS_TABLE_LENGTH_MAX];
 extern double sinr_bler_map_up[MCS_COUNT][2][16];
diff --git a/openair1/PHY/phy_extern_nr_ue.h b/openair1/PHY/phy_extern_nr_ue.h
index f1704a7902e..66d554f245b 100644
--- a/openair1/PHY/phy_extern_nr_ue.h
+++ b/openair1/PHY/phy_extern_nr_ue.h
@@ -63,12 +63,6 @@ extern char mode_string[4][20];
 
 extern unsigned char NB_RU;
 
-#ifndef OPENAIR2
-extern unsigned char NB_eNB_INST;
-extern uint16_t NB_UE_INST;
-extern unsigned char NB_RN_INST;
-#endif
-
 extern int flag_LA;
 extern double sinr_bler_map[MCS_COUNT][2][MCS_TABLE_LENGTH_MAX];
 extern double sinr_bler_map_up[MCS_COUNT][2][16];
diff --git a/openair1/PHY/phy_extern_ue.h b/openair1/PHY/phy_extern_ue.h
index 9f227806fd6..cff03e375d8 100644
--- a/openair1/PHY/phy_extern_ue.h
+++ b/openair1/PHY/phy_extern_ue.h
@@ -53,12 +53,6 @@ extern int flagMag;
 extern char mode_string[4][20];
 
 
-#ifndef OPENAIR2
-extern unsigned char NB_eNB_INST;
-extern uint16_t NB_UE_INST;
-extern unsigned char NB_RN_INST;
-#endif
-
 extern int flag_LA;
 extern double sinr_bler_map[MCS_COUNT][2][MCS_TABLE_LENGTH_MAX];
 extern double sinr_bler_map_up[MCS_COUNT][2][16];
diff --git a/openair1/PHY/phy_vars.h b/openair1/PHY/phy_vars.h
index 9edb7031b95..58797848271 100644
--- a/openair1/PHY/phy_vars.h
+++ b/openair1/PHY/phy_vars.h
@@ -55,13 +55,6 @@ const short conjugate2[8]__attribute__((aligned(16))) = {1,-1,1,-1,1,-1,1,-1};
 
 unsigned char NB_RU=0;
 
-#ifndef OPENAIR2
-//unsigned char NB_eNB_INST=0;
-//uint16_t NB_UE_INST=0;
-//unsigned char NB_RN_INST=0;
-//unsigned char NB_INST=0;
-#endif
-
 int number_of_cards;
 
 
diff --git a/openair1/PHY/phy_vars_nr_ue.h b/openair1/PHY/phy_vars_nr_ue.h
index baa64561f0e..cfdfbeb49d0 100644
--- a/openair1/PHY/phy_vars_nr_ue.h
+++ b/openair1/PHY/phy_vars_nr_ue.h
@@ -57,13 +57,6 @@ const short conjugate2[8]__attribute__((aligned(16))) = {1,-1,1,-1,1,-1,1,-1};
 
 unsigned char NB_RU=0;
 
-#ifndef OPENAIR2
-unsigned char NB_eNB_INST=0;
-uint16_t NB_UE_INST=0;
-unsigned char NB_RN_INST=0;
-unsigned char NB_INST=0;
-#endif
-
 
 int number_of_cards;
 
diff --git a/openair1/PHY/phy_vars_ue.h b/openair1/PHY/phy_vars_ue.h
index 469a5c47547..ca35ab6629c 100644
--- a/openair1/PHY/phy_vars_ue.h
+++ b/openair1/PHY/phy_vars_ue.h
@@ -47,14 +47,6 @@ const short conjugate2[8]__attribute__((aligned(16))) = {1,-1,1,-1,1,-1,1,-1};
 #include "SIMULATION/ETH_TRANSPORT/vars.h"
 
 
-#ifndef OPENAIR2
-  unsigned char NB_eNB_INST=0;
-  uint16_t NB_UE_INST=0;
-  unsigned char NB_RN_INST=0;
-  unsigned char NB_INST=0;
-#endif
-
-
 int number_of_cards;
 
 
diff --git a/openair1/PHY/types_NB_IoT.h b/openair1/PHY/types_NB_IoT.h
index 6735092583c..e41129169c7 100644
--- a/openair1/PHY/types_NB_IoT.h
+++ b/openair1/PHY/types_NB_IoT.h
@@ -22,11 +22,6 @@
 #ifndef __openair_TYPES_NB_IOT_H__
 #define __openair_TYPES_NB_IOT_H__
 
-#ifdef USER_MODE
 #include <stdint.h>
-#else
-#include <linux/types.h>
-#endif
-
 
 #endif /*__openair_TYPES_NB_IOT_H__ */
diff --git a/openair1/SCHED_NR_UE/fapi_nr_ue_l1.h b/openair1/SCHED_NR_UE/fapi_nr_ue_l1.h
index 9b7b87a18c7..f00ce14b56c 100755
--- a/openair1/SCHED_NR_UE/fapi_nr_ue_l1.h
+++ b/openair1/SCHED_NR_UE/fapi_nr_ue_l1.h
@@ -44,4 +44,4 @@ int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response);
 int8_t nr_ue_phy_config_request(nr_phy_config_t *phy_config);
 
 
-#endif
\ No newline at end of file
+#endif
diff --git a/openair1/SIMULATION/LTE_PHY/gpib_send.c b/openair1/SIMULATION/LTE_PHY/gpib_send.c
index a8ae48cdfae..06ce60da0f2 100644
--- a/openair1/SIMULATION/LTE_PHY/gpib_send.c
+++ b/openair1/SIMULATION/LTE_PHY/gpib_send.c
@@ -19,10 +19,10 @@
  *      contact@openairinterface.org
  */
 
-#include<stdio.h>
-#include<string.h>
-#include<gpib/ib.h>
-#include"gpib_send.h"
+#include <stdio.h>
+#include <string.h>
+#include <gpib/ib.h>
+#include "gpib_send.h"
 void gpib_send(unsigned int gpib_board, unsigned int gpib_device, char *command_string )
 {
   unsigned short addlist[2] = {gpib_device, NOADDR};
diff --git a/openair2/COMMON/mac_rrc_primitives.h b/openair2/COMMON/mac_rrc_primitives.h
index 5a45f2f1966..d258bb872ae 100644
--- a/openair2/COMMON/mac_rrc_primitives.h
+++ b/openair2/COMMON/mac_rrc_primitives.h
@@ -22,9 +22,7 @@
 #ifndef __MAC_RRC_PRIMITIVES_H__
 #define __MAC_RRC_PRIMITIVES_H__
 
-#ifndef OPENAIR2_IN
-  #include "LAYER2/RLC/rlc.h"
-#endif
+#include "LAYER2/RLC/rlc.h"
 #include "COMMON/platform_types.h"
 #include "COMMON/platform_constants.h"
 #include "openair2/RRC/LTE/rrc_defs.h"
@@ -306,8 +304,6 @@ typedef struct {
 
 
 
-#ifndef OPENAIR2_IN
-
 typedef struct {  //RRC_INTERFACE_FUNCTIONS
   unsigned int Frame_index;
   unsigned short UE_index[NB_MODULES_MAX][NB_SIG_CNX_UE];
@@ -375,10 +371,6 @@ typedef struct {
 } MAC_RLC_XFACE;
 
 
-#endif
-
-
-
 //#define IDLE 0
 #define NEED_RADIO_CONFIG 3
 #define RADIO_CONFIG_TX 2
diff --git a/openair2/COMMON/rrm_config_structs.h b/openair2/COMMON/rrm_config_structs.h
deleted file mode 100644
index 9d060d102d1..00000000000
--- a/openair2/COMMON/rrm_config_structs.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.1  (the "License"); you may not use this file
- * except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.openairinterface.org/?page_id=698
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *-------------------------------------------------------------------------------
- * For more information about the OpenAirInterface (OAI) Software Alliance:
- *      contact@openairinterface.org
- */
-
-/*
-                               rrm_config_structs.h
-                             -------------------
-  AUTHOR  : Linus GASSER modified by Lionel GAUTHIER Raymond KNOPP
-  COMPANY : EURECOM
-  EMAIL   : linus.gasser@epfl.ch
-  EMAIL   : lionel.gauthier@eurecom.fr
-  EMAIL   : raymond.knopp@eurecom.fr
-
-
-
- ***************************************************************************/
-#ifdef OLD_RRC_CELLULAR
-#    ifndef __RRM_CONFIG_STRUCTS_H__
-#        define __RRM_CONFIG_STRUCTS_H__
-
-#        include "platform_types.h"
-#        include "platform_constants.h"
-#        include "rrm_constants.h"
-#        include "rlc.h"
-
-typedef volatile struct {
-  uint32_t             e_r;
-  int             timer_poll;
-  int             timer_poll_prohibit;
-  int             timer_discard;
-  int             timer_poll_periodic;
-  int             timer_status_prohibit;
-  int             timer_status_periodic;
-  int             timer_rst;
-  int             timer_mrw;
-  int             missing_pdu_indicator;
-  uint32_t             pdu_size;
-  //      int                                 in_sequence_delivery; // not implemented
-  uint8_t              max_rst;
-  uint8_t              max_dat;
-  uint16_t             poll_pdu;
-  uint16_t             poll_sdu;
-  uint8_t              poll_window;
-  uint32_t             tx_window_size;
-  uint32_t             rx_window_size;
-  uint8_t              max_mrw;
-  uint8_t              last_transmission_pdu_poll_trigger;
-  uint8_t              last_retransmission_pdu_poll_trigger;
-  enum RLC_SDU_DISCARD_MODE sdu_discard_mode;
-  uint32_t             send_mrw;
-} AM;
-
-typedef volatile struct {
-  uint32_t             e_r;
-  uint32_t             timer_discard;
-  uint32_t             sdu_discard_mode;
-  uint32_t             segmentation_indication;
-  uint32_t             delivery_of_erroneous_sdu;
-} TM;
-
-typedef volatile struct {
-  uint32_t             e_r;
-  uint32_t             timer_discard;
-  uint32_t             sdu_discard_mode;
-} UM;
-
-typedef volatile struct {
-  uint8_t              logch_identity;
-  uint8_t              mac_logch_priority;
-} MAP_INFO;
-
-typedef volatile struct {
-  uint32_t             rlc_mode;
-  AM              am;
-  TM              tm;
-  UM              um;
-} RLC_INFO;
-
-typedef volatile struct {
-  int             header_compression_algorithm;
-} PDCP_INFO;
-
-
-
-
-typedef volatile struct {
-  rb_type_t       rb_type;
-  RLC_INFO        rlc_info;
-  PDCP_INFO       pdcp_info;
-  uint16_t             rb_id;
-  // Added for OPENAIR MAC
-  //LCHAN_DESC      Lchan_desc;
-
-} RADIOBEARER;
-
-
-typedef volatile struct {
-  int             TIMER300;
-  int             TIMER302;
-  int             TIMER305;
-  int             TIMER307;
-  int             TIMER308;
-  int             TIMER312;
-  int             TIMER313;
-  int             TIMER314;
-  int             TIMER315;
-} L3TIMERS_;
-
-typedef volatile struct {
-  int             COUNTERN300;
-  int             COUNTERN302;
-  int             COUNTERN308;
-  int             COUNTERN312;
-  int             COUNTERN313;
-} L3COUNTERS_;
-
-
-typedef volatile struct {
-  int             MaxNumRemote;
-  L3TIMERS_       Timers;
-  L3COUNTERS_     Counters;
-} L3_;
-
-
-typedef volatile struct {
-  uint8_t              rrm_action;   // ACTION_NULL,ADD,REMOVE,MODIFY
-  uint8_t              rrm_element;  // rb,trch,cctrch
-  uint8_t              rrm_element_index;    // rb/trch/cctrch index
-} RRM_COMMAND_MT;
-
-typedef volatile struct {
-  uint8_t              rrm_action;   // ACTION_NULL,ADD,REMOVE,MODIFY
-  uint8_t              mobile;
-  uint8_t              rrm_element;  // rb,trch,cctrch
-  uint8_t              rrm_element_index;    // rb/trch/cctrch index
-} RRM_COMMAND_RG;
-
-
-typedef volatile struct {
-  uint8_t              nb_commands;
-  RRM_COMMAND_RG  rrm_commands[JRRM_MAX_COMMANDS_PER_TRANSACTION];
-
-
-  RADIOBEARER     bearer[MAX_RB_RG];
-  L3_             L3;
-
-} RG_CONFIG;
-
-typedef volatile struct {
-  uint8_t              nb_commands;
-  RRM_COMMAND_MT  rrm_commands[JRRM_MAX_COMMANDS_PER_TRANSACTION];
-
-  RADIOBEARER     bearer[MAX_RB_MOBILE];
-  L3_             L3;
-
-} MT_CONFIG;
-
-#        ifdef NODE_RG
-typedef volatile struct {
-  RG_CONFIG       rg_config;
-  MT_CONFIG       mt_config[MAX_MOBILES_PER_RG];
-} RRM_VARS;
-
-#        else
-/* NODE_RG */
-typedef volatile struct {
-  MT_CONFIG       mt_config[MAX_MANAGED_RG_PER_MOBILE];
-
-
-
-} RRM_VARS;
-#        endif
-/* NODE_RG */
-//typedef   MT_CONFIG MAIN_MOBILE ;
-//typedef   RG_CONFIG MAIN_RADIO_GATEWAY;
-
-#    endif
-#endif
diff --git a/openair2/GNB_APP/gnb_config.h b/openair2/GNB_APP/gnb_config.h
index 46102e44888..013997f4397 100644
--- a/openair2/GNB_APP/gnb_config.h
+++ b/openair2/GNB_APP/gnb_config.h
@@ -42,10 +42,7 @@
 #include "ngap_messages_types.h"
 #include "f1ap_messages_types.h"
 
-#ifdef CMAKER
 #include "rrc_messages_types.h"
-#endif
-
 #include "intertask_interface.h"
 #include "RRC/NR/nr_rrc_defs.h"
 
diff --git a/openair2/LAYER2/MAC/defs_NB_IoT.h b/openair2/LAYER2/MAC/defs_NB_IoT.h
index 78524e104d2..d4945f0182d 100644
--- a/openair2/LAYER2/MAC/defs_NB_IoT.h
+++ b/openair2/LAYER2/MAC/defs_NB_IoT.h
@@ -9,11 +9,9 @@
  */
 #ifndef __LAYER2_MAC_DEFS_NB_IOT_H__
 #define __LAYER2_MAC_DEFS_NB_IOT_H__
-#ifdef USER_MODE
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#endif
 //#include "COMMON/openair_defs.h"
 #include "COMMON/platform_constants.h"
 #include "COMMON/mac_rrc_primitives.h"
diff --git a/openair2/LAYER2/MAC/mac_vars.h b/openair2/LAYER2/MAC/mac_vars.h
index bd25bd60474..3b51820171e 100644
--- a/openair2/LAYER2/MAC/mac_vars.h
+++ b/openair2/LAYER2/MAC/mac_vars.h
@@ -105,13 +105,11 @@ eNB_ULSCH_INFO eNB_ulsch_info[NUMBER_OF_eNB_MAX][MAX_NUM_CCs][MAX_MOBILES_PER_EN
 eNB_DLSCH_INFO eNB_dlsch_info[NUMBER_OF_eNB_MAX][MAX_NUM_CCs][MAX_MOBILES_PER_ENB]; // eNBxUE = 8x8
 
 
-#ifdef OPENAIR2
   unsigned char NB_eNB_INST = 0;
   uint16_t NB_UE_INST = 0;
   uint16_t NB_THREAD_INST = 0;
   unsigned char NB_RN_INST = 0;
   unsigned char NB_INST = 0;
-#endif
 
 
 DCI0_5MHz_TDD_1_6_t UL_alloc_pdu;
diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c
index 9ae8f82a00c..21d349ea528 100644
--- a/openair2/LAYER2/MAC/ue_procedures.c
+++ b/openair2/LAYER2/MAC/ue_procedures.c
@@ -77,13 +77,6 @@ static int mbms_mch_i=0;
 //static int num_msi_per_CSA[28];
 
 
-/*
- *
-#ifndef USER_MODE
-#define msg debug_msg
-#endif
- */
-
 mapping BSR_names[] = {
   {"NONE", 0},
   {"SHORT BSR", 1},
@@ -1251,65 +1244,6 @@ int ue_query_mch_fembms(module_id_t module_idP, uint8_t CC_id, uint32_t frameP,
   }
 
 
-
-  
-#ifdef OLD
-          // Acount for sf_allocable in CSA
-        int num_sf_alloc = 0;
-
-        for (l = 0; l < 8; l++) {
-          if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[l] == NULL)
-            continue;
-
-          if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[l]->subframeAllocation.present != LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame)
-            continue;
-
-          uint32_t common_mbsfn_SubframeConfig = UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[l]->subframeAllocation.choice.oneFrame.buf[0];
-
-
-          for (j = 0; j < 6; j++)
-            num_sf_alloc += ((common_mbsfn_SubframeConfig & (0x80 >> j)) == (0x80 >> j));
-            //num_sf_alloc=1;
-        }
-	
-	num_sf_alloc = 10;
-
-        num_non_mbsfn_SubframeConfig = (UE_mac_inst[module_idP].non_mbsfn_SubframeConfig->subframeAllocation_r14.buf[0]<<1 | UE_mac_inst[module_idP].non_mbsfn_SubframeConfig->subframeAllocation_r14.buf[0]>>7);
-	int ones=0;
-	for(j=0; j < 16; j++){
-		if(num_non_mbsfn_SubframeConfig & 1)
-			ones++;
-		num_non_mbsfn_SubframeConfig>>=1;
-	}
-
-        for (l = 0; l < 28; l++) {
-          if (UE_mac_inst[module_idP].pmch_stop_mtch[l] >= 1/*num_sf_alloc*/) {
-            if (UE_mac_inst[module_idP].pmch_stop_mtch[l] != 2047) {
-              if (UE_mac_inst[module_idP].pmch_Config[UE_mac_inst[module_idP].msi_pmch] != NULL){
-                mtch_mcs = UE_mac_inst[module_idP].pmch_Config[UE_mac_inst[module_idP].msi_pmch]->dataMCS_r9;
-    	       //int common_mbsfn_alloc_offset = UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[0]->radioframeAllocationOffset;
-               long common_mbsfn_period  = 1 << UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[0]->radioframeAllocationPeriod;
-               long commonSF_AllocPeriod = 4 << UE_mac_inst[module_idP].commonSF_AllocPeriod_r9;
-               if(UE_mac_inst[module_idP].common_num_sf_alloc >= UE_mac_inst[module_idP].pmch_stop_mtch[l]){
-                       //LOG_E(MAC,"Attemp to UE_mac_inst[module_idP].common_num_sf_alloc %d\n",UE_mac_inst[module_idP].common_num_sf_alloc);
-
-                       mtch_mcs = -1;
-               }/*else
-                       OG_W(MAC,"Attemp to UE_mac_inst[module_idP].common_num_sf_alloc %d\n",UE_mac_inst[module_idP].common_num_sf_alloc);*/
-                       LOG_D(MAC,"Attemp to UE_mac_inst[module_idP].common_num_sf_alloc %d num_sf_alloc %d commonSF_AllocPeriod %ld, common_mbsfn_period %ld num_non_mbsfn_SubframeConfig %x ones %d\n",UE_mac_inst[module_idP].common_num_sf_alloc,num_sf_alloc, commonSF_AllocPeriod,common_mbsfn_period,num_non_mbsfn_SubframeConfig,ones);
-                UE_mac_inst[module_idP].common_num_sf_alloc++;
-                UE_mac_inst[module_idP].common_num_sf_alloc = UE_mac_inst[module_idP].common_num_sf_alloc % (num_sf_alloc * commonSF_AllocPeriod / common_mbsfn_period-(1+ones)*(commonSF_AllocPeriod/4)); //TODO
-              }
-              else
-                mtch_mcs = -1;
-
-              mch_lcid = (uint8_t)l;
-              break;
-            }
-          }
-        }
-#endif
-
 {
  	 // Acount for sf_allocable in Common SF Allocation
  	 int num_sf_alloc = 0;
@@ -1869,49 +1803,7 @@ int ue_query_mch(module_id_t module_idP, uint8_t CC_id, uint32_t frameP, uint32_
 	//}
   }
 
-#ifdef OLD
-        // Acount for sf_allocable in CSA
-        int num_sf_alloc = 0;
 
-        for (l = 0; l < 8; l++) {
-          if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[l] == NULL)
-            continue;
-
-          if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[l]->subframeAllocation.present != LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame)
-            continue;
-
-          uint32_t common_mbsfn_SubframeConfig = UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[l]->subframeAllocation.choice.oneFrame.buf[0];
-
-          for (j = 0; j < 6; j++)
-            num_sf_alloc += ((common_mbsfn_SubframeConfig & (0x80 >> j)) == (0x80 >> j));
-	    //num_sf_alloc=1;
-        }
-
-        for (l = 0; l < 28; l++) {
-          if (UE_mac_inst[module_idP].pmch_stop_mtch[l] >= 1/*num_sf_alloc*/) {
-            if (UE_mac_inst[module_idP].pmch_stop_mtch[l] != 2047) {
-              if (UE_mac_inst[module_idP].pmch_Config[UE_mac_inst[module_idP].msi_pmch] != NULL){
-                mtch_mcs = UE_mac_inst[module_idP].pmch_Config[UE_mac_inst[module_idP].msi_pmch]->dataMCS_r9;
-               long common_mbsfn_period  = 1 << UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[0]->radioframeAllocationPeriod;
-               long commonSF_AllocPeriod = 4 << UE_mac_inst[module_idP].commonSF_AllocPeriod_r9;
-               if(UE_mac_inst[module_idP].common_num_sf_alloc >= UE_mac_inst[module_idP].pmch_stop_mtch[l]){
-		       //LOG_E(MAC,"Attemp to UE_mac_inst[module_idP].common_num_sf_alloc %d\n",UE_mac_inst[module_idP].common_num_sf_alloc);
-
-                       mtch_mcs = -1;
-	       }/*else
-		       LOG_W(MAC,"Attemp to UE_mac_inst[module_idP].common_num_sf_alloc %d\n",UE_mac_inst[module_idP].common_num_sf_alloc);*/
-               	UE_mac_inst[module_idP].common_num_sf_alloc++;
-           	UE_mac_inst[module_idP].common_num_sf_alloc = UE_mac_inst[module_idP].common_num_sf_alloc % (num_sf_alloc * commonSF_AllocPeriod / common_mbsfn_period);
-	      }
-              else
-                mtch_mcs = -1;
-
-              mch_lcid = (uint8_t)l;
-              break;
-            }
-          }
-        }
-#endif
 
 {
  	 // Acount for sf_allocable in Common SF Allocation
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
index 0c3dd2f04fe..9d9224d6604 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
@@ -67,9 +67,7 @@ typedef struct {
 } pdcp_params_t;
 
 
-#ifndef PDCP_USE_NETLINK
-  #define PDCP_USE_NETLINK          ( get_pdcp_optmask() & PDCP_USE_NETLINK_BIT)
-#endif
+#define PDCP_USE_NETLINK          ( get_pdcp_optmask() & PDCP_USE_NETLINK_BIT)
 #define LINK_ENB_PDCP_TO_IP_DRIVER  ( get_pdcp_optmask() & LINK_ENB_PDCP_TO_IP_DRIVER_BIT)
 #define LINK_ENB_PDCP_TO_GTPV1U     ( get_pdcp_optmask() & LINK_ENB_PDCP_TO_GTPV1U_BIT)
 #define UE_NAS_USE_TUN              ( get_pdcp_optmask() & UE_NAS_USE_TUN_BIT)
@@ -501,7 +499,6 @@ typedef struct {
 #define REORDERING_WINDOW_SN_7BIT 64
 #define REORDERING_WINDOW_SN_12BIT 2048
 
-extern signed int             pdcp_2_nas_irq;
 extern pdcp_stats_t              UE_pdcp_stats[MAX_MOBILES_PER_ENB];
 extern pdcp_stats_t              eNB_pdcp_stats[NUMBER_OF_eNB_MAX];
 
diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h
index c6ab681819d..57e2116a724 100644
--- a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h
+++ b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h
@@ -37,7 +37,6 @@
 //-----------------------------------------------------------------------------
 #        include "rlc_tm_entity.h"
 #        include "mem_block.h"
-//#        include "rrm_config_structs.h"
 #        include "rlc_tm_structs.h"
 //#        include "rlc.h"
 #        include "platform_types.h"
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
index 940740943e0..05c3423f76c 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
@@ -27,7 +27,6 @@
 #include "rlc_um.h"
 #include "rlc_primitives.h"
 #include "list.h"
-#include "rrm_config_structs.h"
 #include "LAYER2/MAC/mac_extern.h"
 #include "common/utils/LOG/log.h"
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h
index 598518f1c86..b762a4fdb45 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h
@@ -33,7 +33,6 @@
 //-----------------------------------------------------------------------------
 #        include "rlc_um_entity.h"
 #        include "mem_block.h"
-#        include "rrm_config_structs.h"
 #        include "rlc_um_structs.h"
 #        include "rlc_um_constants.h"
 //-----------------------------------------------------------------------------
diff --git a/openair2/LAYER2/openair2_proc.c b/openair2/LAYER2/openair2_proc.c
index 3d2c06f4893..7ffdc751956 100644
--- a/openair2/LAYER2/openair2_proc.c
+++ b/openair2/LAYER2/openair2_proc.c
@@ -362,264 +362,5 @@ int dump_eNB_l2_stats(char *buffer, int length) {
 
     return len + 1 /* SR: for trailing \0 */;
 }
-#ifdef PROC
-int openair2_stats_read(char *buffer, char **my_buffer, off_t off, int length) {
-    int len = 0,fg,Overhead, Sign;
-    unsigned int i,j,k,kk;
-    unsigned int Mod_id = 0,CH_index;
-    unsigned int tx_pdcp_sdu;
-    unsigned int tx_pdcp_sdu_discarded;
-    unsigned int tx_retransmit_pdu_unblock;
-    unsigned int tx_retransmit_pdu_by_status;
-    unsigned int tx_retransmit_pdu;
-    unsigned int tx_data_pdu;
-    unsigned int tx_control_pdu;
-    unsigned int rx_sdu;
-    unsigned int rx_error_pdu;
-    unsigned int rx_data_pdu;
-    unsigned int rx_data_pdu_out_of_window;
-    unsigned int rx_control_pdu;
 
-    //    if (mac_xface->is_cluster_head == 0) {
-    for (k=0; k<NB_INST; k++) {
-        if (Mac_rlc_xface->Is_cluster_head[k] == 0) {
-#ifndef PHY_EMUL_ONE_MACHINE
-            Mod_id=k-NB_CH_INST;
-            len+=sprintf(&buffer[len],"UE TTI: %d\n",Mac_rlc_xface->frame);
-
-            for (CH_index = 0; CH_index<NB_CNX_UE; CH_index++) {
-                if (UE_mac_inst[Mod_id].Dcch_lchan[CH_index].Active==1) {
-                    len+=sprintf(&buffer[len],"CH %u: Wideband SINR %d dB---\n",
-                                 CH_index,UE_mac_inst[Mod_id].Def_meas[CH_index].Wideband_sinr);
-                    len+=sprintf(&buffer[len],"CH %u: Subband SINR (dB) :",
-                                 CH_index);
-
-                    for (fg=0; fg<NUMBER_OF_MEASUREMENT_SUBBANDS; fg++) {
-                        len+=sprintf(&buffer[len],"%d ",UE_mac_inst[Mod_id].Def_meas[CH_index].Sinr_meas[0][fg]);
-                    }
-
-                    len+=sprintf(&buffer[len],"\n");
-                    len+=sprintf(&buffer[len],"BCCH %d, NB_RX_MAC = %d (%d errors)\n",
-                                 UE_mac_inst[Mod_id].Bcch_lchan[CH_index].Lchan_info.Lchan_id.Index,
-                                 UE_mac_inst[Mod_id].Bcch_lchan[CH_index].Lchan_info.NB_RX,
-                                 UE_mac_inst[Mod_id].Bcch_lchan[CH_index].Lchan_info.NB_RX_ERRORS);
-                    len+=sprintf(&buffer[len],"CCCH %d, NB_RX_MAC = %d (%d errors)\n",
-                                 UE_mac_inst[Mod_id].Ccch_lchan[CH_index].Lchan_info.Lchan_id.Index,
-                                 UE_mac_inst[Mod_id].Ccch_lchan[CH_index].Lchan_info.NB_RX,
-                                 UE_mac_inst[Mod_id].Ccch_lchan[CH_index].Lchan_info.NB_RX_ERRORS);
-                    len+=sprintf(&buffer[len],"LCHAN %d (DCCH), NB_TX_MAC = %d (%d bits/TTI, %d kbits/sec), NB_RX_MAC = %d (%d errors)\n",
-                                 UE_mac_inst[Mod_id].Dcch_lchan[CH_index].Lchan_info.Lchan_id.Index,
-                                 UE_mac_inst[Mod_id].Dcch_lchan[CH_index].Lchan_info.NB_TX,
-                                 UE_mac_inst[Mod_id].Dcch_lchan[CH_index].Lchan_info.output_rate,
-                                 (10*UE_mac_inst[Mod_id].Dcch_lchan[CH_index].Lchan_info.output_rate)>>5,
-                                 UE_mac_inst[Mod_id].Dcch_lchan[CH_index].Lchan_info.NB_RX,
-                                 UE_mac_inst[Mod_id].Dcch_lchan[CH_index].Lchan_info.NB_RX_ERRORS);
-
-                    for(i=1; i<NB_RAB_MAX; i++) {
-                        if (UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Active==1) {
-                            Overhead=UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.output_rate - Pdcp_stats_tx_rate[k][CH_index][i];
-
-                            if(Overhead<0) {
-                                Overhead=-Overhead;
-                                Sign=-1;
-                            } else {
-                                Sign=1;
-                            }
-
-                            len+=sprintf(&buffer[len],
-                                         "[PDCP]LCHAN %d: NB_TX = %d ,Tx_rate =(%d bits/TTI ,%d Kbits/s), NB_RX = %d ,Rx_rate =(%d bits/TTI ,%d Kbits/s) , LAYER2 TX OVERHEAD: %d Kbits/s\n",
-                                         UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.Lchan_id.Index,
-                                         Pdcp_stats_tx[k][CH_index][i],
-                                         Pdcp_stats_tx_rate[k][CH_index][i],
-                                         (10*Pdcp_stats_tx_rate[k][CH_index][i])>>5,
-                                         Pdcp_stats_rx[k][CH_index][i],
-                                         Pdcp_stats_rx_rate[k][CH_index][i],
-                                         (10*Pdcp_stats_rx_rate[k][CH_index][i])>>5,
-                                         Sign*(10*Overhead)>>5);
-                            int status =  rlc_stat_req     (k,
-                                                            UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.Lchan_id.Index,
-                                                            &tx_pdcp_sdu,
-                                                            &tx_pdcp_sdu_discarded,
-                                                            &tx_retransmit_pdu_unblock,
-                                                            &tx_retransmit_pdu_by_status,
-                                                            &tx_retransmit_pdu,
-                                                            &tx_data_pdu,
-                                                            &tx_control_pdu,
-                                                            &rx_sdu,
-                                                            &rx_error_pdu,
-                                                            &rx_data_pdu,
-                                                            &rx_data_pdu_out_of_window,
-                                                            &rx_control_pdu) ;
-
-                            if (status == RLC_OP_STATUS_OK) {
-                                len+=sprintf(&buffer[len],"RLC LCHAN %d, NB_SDU_TO_TX = %u\tNB_SDU_DISC %u\tNB_RX_SDU %u\n",
-                                             UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.Lchan_id.Index,
-                                             tx_pdcp_sdu,
-                                             tx_pdcp_sdu_discarded,
-                                             rx_sdu);
-                                len+=sprintf(&buffer[len],"RLC LCHAN %d, NB_TB_TX_DATA = %u\tNB_TB_TX_CONTROL %u\tNB_TX_TB_RETRANS %u",
-                                             UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.Lchan_id.Index,
-                                             tx_data_pdu,
-                                             tx_control_pdu,
-                                             tx_retransmit_pdu);
-                                len+=sprintf(&buffer[len],"\tRLC LCHAN %d, NB_TX_TB_RETRANS_BY_STATUS = %u\tNB_TX_TB_RETRANS_PADD %u\n",
-                                             UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.Lchan_id.Index,
-                                             tx_retransmit_pdu_by_status,
-                                             tx_retransmit_pdu_unblock);
-                                len+=sprintf(&buffer[len],"RLC LCHAN %d, NB_RX_DATA = %u\tNB_RX_TB_OUT_WIN %u\tNB_RX_TB_CORRUPT %u\n",
-                                             UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.Lchan_id.Index,
-                                             rx_data_pdu,
-                                             rx_data_pdu_out_of_window,
-                                             rx_error_pdu);
-                            }
-
-                            len+=sprintf(&buffer[len],"[MAC]: LCHAN %d, NB_TX_MAC = %d (%d bits/TTI, %d kbits/s), NB_RX_MAC = %d (%d errors)\n",
-                                         UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.Lchan_id.Index,
-                                         UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.NB_TX,
-                                         UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.output_rate,
-                                         (10*UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.output_rate)>>5,
-                                         UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.NB_RX,
-                                         UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.NB_RX_ERRORS);
-                            len+=sprintf(&buffer[len],"        TX per TB: ");
-
-                            for(kk=0; kk<MAX_NUMBER_TB_PER_LCHAN/2; kk++) {
-                                len+=sprintf(&buffer[len],"%d . ",UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.NB_TX_TB[kk]);
-                            }
-
-                            len+=sprintf(&buffer[len],"\n");
-                            len+=sprintf(&buffer[len],"        RXerr per TB: ");
-
-                            for(kk=0; kk<MAX_NUMBER_TB_PER_LCHAN/2; kk++)
-                                len+=sprintf(&buffer[len],"%d/%d . ",UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.NB_RX_ERRORS_TB[kk],
-                                             UE_mac_inst[Mod_id].Dtch_lchan[i][CH_index].Lchan_info.NB_RX_TB[kk]);
-
-                            len+=sprintf(&buffer[len],"\n");
-                        }
-                    }
-                }
-            }
-
-#endif //PHY_EMUL_ONE_MACHINE
-        } else if(Mac_rlc_xface->Is_cluster_head[k] ==1) {
-            Mod_id=k;
-            len+=sprintf(&buffer[len],
-                         "------------------------------------------------------------------- TTI: %d------------------------------------------------------------------\n",
-                         Mac_rlc_xface->frame);
-
-            for(i=1; i<=NB_CNX_CH; i++) {
-                if (CH_mac_inst[Mod_id].Dcch_lchan[i].Active==1) {
-                    len+=sprintf(&buffer[len],"\nMR index %u: DL SINR (feedback) %d dB, CQI: %s\n\n",
-                                 i,//CH_rrc_inst[Mod_id].Info.UE_info[i].L2_id[0],
-                                 CH_mac_inst[Mod_id].Def_meas[i].Wideband_sinr,
-                                 print_cqi(CH_mac_inst[Mod_id].Def_meas[i].cqi));
-                    len+=sprintf(&buffer[len],
-                                 "[MAC] LCHAN %d (DCCH), NB_TX_MAC= %d (%d bits/TTI, %d kbits/s), NB_RX_MAC= %d (errors %d, sacch errors %d, sach errors %d, sach_missing %d)\n\n",
-                                 CH_mac_inst[Mod_id].Dcch_lchan[i].Lchan_info.Lchan_id.Index,
-                                 CH_mac_inst[Mod_id].Dcch_lchan[i].Lchan_info.NB_TX,
-                                 CH_mac_inst[Mod_id].Dcch_lchan[i].Lchan_info.output_rate,
-                                 (10*CH_mac_inst[Mod_id].Dcch_lchan[i].Lchan_info.output_rate)>>5,
-                                 CH_mac_inst[Mod_id].Dcch_lchan[i].Lchan_info.NB_RX,
-                                 CH_mac_inst[Mod_id].Dcch_lchan[i].Lchan_info.NB_RX_ERRORS,
-                                 CH_mac_inst[Mod_id].Dcch_lchan[i].Lchan_info.NB_RX_SACCH_ERRORS,
-                                 CH_mac_inst[Mod_id].Dcch_lchan[i].Lchan_info.NB_RX_SACH_ERRORS,
-                                 CH_mac_inst[Mod_id].Dcch_lchan[i].Lchan_info.NB_RX_SACH_MISSING);
-
-                    for(j=0; j<NB_RAB_MAX; j++) {
-                        if (CH_mac_inst[Mod_id].Dtch_lchan[j][i].Active==1) {
-                            Overhead=CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.output_rate - Pdcp_stats_tx_rate[k][i][j];
-
-                            if(Overhead<0) {
-                                Overhead=-Overhead;
-                                Sign=-1;
-                            } else {
-                                Sign=1;
-                            }
-
-                            len+=sprintf(&buffer[len],
-                                         "[PDCP]LCHAN %d: NB_TX = %d ,Tx_rate =(%d bits/TTI ,%d Kbits/s), NB_RX = %d ,Rx_rate =(%d bits/TTI ,%d Kbits/s), LAYER2 TX OVERHEAD= %d Kbits/s\n",
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Lchan_id.Index,
-                                         Pdcp_stats_tx[k][i][j],
-                                         Pdcp_stats_tx_rate[k][i][j],
-                                         (10*Pdcp_stats_tx_rate[k][i][j])>>5,
-                                         Pdcp_stats_rx[k][i][j],
-                                         Pdcp_stats_rx_rate[k][i][j],
-                                         (10*Pdcp_stats_rx_rate[k][i][j])>>5,
-                                         Sign*(10*Overhead)>>5);
-                            int status =  rlc_stat_req     (k,
-                                                            CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Lchan_id.Index,
-                                                            &tx_pdcp_sdu,
-                                                            &tx_pdcp_sdu_discarded,
-                                                            &tx_retransmit_pdu_unblock,
-                                                            &tx_retransmit_pdu_by_status,
-                                                            &tx_retransmit_pdu,
-                                                            &tx_data_pdu,
-                                                            &tx_control_pdu,
-                                                            &rx_sdu,
-                                                            &rx_error_pdu,
-                                                            &rx_data_pdu,
-                                                            &rx_data_pdu_out_of_window,
-                                                            &rx_control_pdu) ;
-                            /*
-                            if (status == RLC_OP_STATUS_OK) {
-                            len+=sprintf(&buffer[len],"\t[RLC] LCHAN %d, NB_SDU_TO_TX = %d\tNB_SDU_DISC %d\tNB_RX_SDU %d\n",
-                                CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Lchan_id.Index,
-                             tx_pdcp_sdu,
-                             tx_pdcp_sdu_discarded,
-                             rx_sdu);
-                            len+=sprintf(&buffer[len],"\t[RLC] LCHAN %d, NB_TB_TX_DATA = %d\tNB_TB_TX_CONTROL %d\tNB_TX_TB_RETRANS %\n",
-                                CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Lchan_id.Index,
-                             tx_data_pdu,
-                             tx_control_pdu,
-                             tx_retransmit_pdu);
-                            len+=sprintf(&buffer[len],"\t[RLC] LCHAN %d, NB_TX_TB_RETRANS_BY_STATUS = %d\tNB_TX_TB_RETRANS_PADD %d\n",
-                                CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Lchan_id.Index,
-                             tx_retransmit_pdu_by_status,
-                             tx_retransmit_pdu_unblock);
-                            len+=sprintf(&buffer[len],"\t[RLC] LCHAN %d, NB_RX_DATA = %d\tNB_RX_TB_OUT_WIN %d\tNB_RX_TB_CORRUPT %d\n",
-                                CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Lchan_id.Index,
-                             rx_data_pdu,
-                             rx_data_pdu_out_of_window,
-                             rx_error_pdu);
-                            }
-                            */
-                            len+=sprintf(&buffer[len],
-                                         "[MAC]LCHAN %d (CNX %u,RAB %u), NB_TX_MAC= %d (%d bits/TTI, %d kbit/s), NB_RX_MAC= %d (errors %d, sacch_errors %d, sach_errors %d, sach_missing %d)\n",
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Lchan_id.Index,
-                                         i,j,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.NB_TX,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.output_rate,
-                                         (10*CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.output_rate)>>5,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.NB_RX,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.NB_RX_ERRORS,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.NB_RX_SACCH_ERRORS,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.NB_RX_SACH_ERRORS,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.NB_RX_SACH_MISSING);
-                            len+=sprintf(&buffer[len],"[MAC][SCHEDULER] TX Arrival Rate %d, TX Service Rate %d, RX Arrival rate %d, RX Service rate %d, NB_BW_REQ_RX %d\n\n",
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Arrival_rate,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Tx_rate,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Req_rate,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.Rx_rate,
-                                         CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.NB_BW_REQ_RX);
-                            /*
-                                    len+=sprintf(&buffer[len],"        TX per TB: ");
-                                    for(kk=0;kk<MAX_NUMBER_TB_PER_LCHAN/2;kk++)
-                                len+=sprintf(&buffer[len],"%d.",CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.NB_TX_TB[kk]);
-                                    len+=sprintf(&buffer[len],"\n");
-                                    len+=sprintf(&buffer[len],"        RXerr per TB: ");
-                                    for(kk=0;kk<MAX_NUMBER_TB_PER_LCHAN/2;kk++)
-                                len+=sprintf(&buffer[len],"%d/%d . ",CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.NB_RX_ERRORS_TB[kk],
-                                       CH_mac_inst[Mod_id].Dtch_lchan[j][i].Lchan_info.NB_RX_TB[kk]);
-                                    len+=sprintf(&buffer[len],"\n");
-                            */
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    return len;
-}
-
-#endif
 
diff --git a/openair2/NETWORK_DRIVER/MESH/common.c b/openair2/NETWORK_DRIVER/MESH/common.c
index c5b46440dcf..c04acded3ec 100644
--- a/openair2/NETWORK_DRIVER/MESH/common.c
+++ b/openair2/NETWORK_DRIVER/MESH/common.c
@@ -389,36 +389,19 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
   pdcph.sourceL2Id = 0;
   pdcph.destinationL2Id = 0;
 
-
-
-#ifdef PDCP_USE_NETLINK
   bytes_wrote = nas_netlink_send((char *)&pdcph,NAS_PDCPH_SIZE);
 #ifdef NAS_DEBUG_SEND
   printk("[NAS] Wrote %d bytes (header for %d byte skb) to PDCP via netlink\n",
          bytes_wrote,skb->len);
 #endif
-#else
-  bytes_wrote = rtf_put(NAS2PDCP_FIFO, &pdcph, NAS_PDCPH_SIZE);
-#ifdef NAS_DEBUG_SEND
-  printk("[NAS] Wrote %d bytes (header for %d byte skb) to PDCP fifo\n",
-         bytes_wrote,skb->len);
-#endif
-#endif //PDCP_USE_NETLINK
 
   if (bytes_wrote != NAS_PDCPH_SIZE) {
     printk("NAS_COMMON_QOS_SEND: problem while writing PDCP's header (bytes wrote = %d )\n",bytes_wrote);
     printk("rb_id %ld, Wrote %d, Header Size %lu\n", pdcph.rb_id , bytes_wrote, NAS_PDCPH_SIZE);
-#ifndef PDCP_USE_NETLINK
-    rtf_reset(NAS2PDCP_FIFO);
-#endif //PDCP_USE_NETLINK
     return;
   }
 
-#ifdef  PDCP_USE_NETLINK
   bytes_wrote += nas_netlink_send((char *)skb->data,skb->len);
-#else
-  bytes_wrote += rtf_put(NAS2PDCP_FIFO, skb->data, skb->len);
-#endif //PDCP_USE_NETLINK
 
   if (bytes_wrote != skb->len+NAS_PDCPH_SIZE) {
     printk("NAS_COMMON_QOS_SEND: Inst %d, RB_ID %ld: problem while writing PDCP's data, bytes_wrote = %d, Data_len %d, PDCPH_SIZE %lu\n",
@@ -427,9 +410,6 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
            bytes_wrote,
            skb->len,
            NAS_PDCPH_SIZE); // congestion
-#ifndef PDCP_USE_NETLINK
-    rtf_reset(NAS2PDCP_FIFO);
-#endif //PDCP_USE_NETLINK
     return;
   }
 
@@ -449,69 +429,6 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
 #endif
 }
 
-#ifndef PDCP_USE_NETLINK
-//---------------------------------------------------------------------------
-void nas_COMMON_QOS_receive()
-{
-  //---------------------------------------------------------------------------
-  uint8_t sapi;
-  struct pdcp_data_ind_header_s     pdcph;
-  unsigned char data_buffer[2048];
-  struct classifier_entity *rclass;
-  struct nas_priv *priv;
-  int bytes_read;
-
-  // Start debug information
-#ifdef NAS_DEBUG_RECEIVE
-  printk("NAS_COMMON_QOS_RECEIVE - begin \n");
-#endif
-
-  // End debug information
-
-  bytes_read =  rtf_get(PDCP2PDCP_USE_RT_FIFO,&pdcph, NAS_PDCPH_SIZE);
-
-  while (bytes_read>0) {
-    if (bytes_read != NAS_PDCPH_SIZE) {
-      printk("NAS_COMMON_QOS_RECEIVE: problem while reading PDCP header\n");
-      return;
-    }
-
-    priv=netdev_priv(nasdev[pdcph.inst]);
-    rclass = nas_COMMON_search_class_for_rb(pdcph.rb_id,priv);
-
-    bytes_read+= rtf_get(PDCP2PDCP_USE_RT_FIFO,
-                         data_buffer,
-                         pdcph.data_size);
-
-#ifdef NAS_DEBUG_RECEIVE
-    printk("NAS_COMMON_QOS_RECEIVE - Got header for RB %d, Inst %d \n",
-           pdcph.rb_id,
-           pdcph.inst);
-#endif
-
-    if (rclass) {
-#ifdef NAS_DEBUG_RECEIVE
-      printk("[NAS][COMMON] Found corresponding connection in classifier for RAB\n");
-#endif //NAS_DEBUG_RECEIVE
-
-      nas_COMMON_receive(pdcph.data_size,
-                         (void *)data_buffer,
-                         pdcph.inst,
-                         rclass,
-                         pdcph.rb_id);
-    }
-
-    bytes_read =  rtf_get(PDCP2PDCP_USE_RT_FIFO, &pdcph, NAS_PDCPH_SIZE);
-  }
-
-
-
-#ifdef NAS_DEBUG_RECEIVE
-  printk("NAS_COMMON_QOS_RECEIVE - end \n");
-#endif
-}
-
-#else
 void nas_COMMON_QOS_receive(struct nlmsghdr *nlh)
 {
 
@@ -542,7 +459,6 @@ void nas_COMMON_QOS_receive(struct nlmsghdr *nlh)
   }
 
 }
-#endif //PDCP_USE_NETLINK
 
 //---------------------------------------------------------------------------
 struct cx_entity *nas_COMMON_search_cx(nasLocalConnectionRef_t lcr,struct nas_priv *priv)
diff --git a/openair2/NETWORK_DRIVER/MESH/device.c b/openair2/NETWORK_DRIVER/MESH/device.c
index 47c68466bdc..f63408259c8 100644
--- a/openair2/NETWORK_DRIVER/MESH/device.c
+++ b/openair2/NETWORK_DRIVER/MESH/device.c
@@ -53,10 +53,8 @@
 
 struct net_device *nasdev[NB_INSTANCES_MAX];
 
-#ifdef PDCP_USE_NETLINK
 extern void nas_netlink_release(void);
 extern int nas_netlink_init(void);
-#endif
 
 //int bytes_wrote;
 //int bytes_read;
@@ -82,38 +80,6 @@ int find_inst(struct net_device *dev)
 
 //---------------------------------------------------------------------------
 
-#ifndef PDCP_USE_NETLINK
-//void interrupt(void){
-void *nas_interrupt(void)
-{
-  //---------------------------------------------------------------------------
-  uint8_t cxi;
-
-  //  struct nas_priv *priv=netdev_priv(dev_id);
-  //  unsigned int flags;
-
-  //  priv->lock = SPIN_LOCK_UNLOCKED;
-
-#ifdef DEBUG_INTERRUPT
-  printk("INTERRUPT - begin\n");
-#endif
-  //  spin_lock_irqsave(&priv->lock,flags);
-  cxi=0;
-  //  mesh_GC_receive();
-  //  mesh_DC_receive(naspriv->cx+cxi);
-#ifndef PDCP_USE_NETLINK
-  nas_COMMON_QOS_receive();
-#endif
-  //  spin_unlock_irqrestore(&priv->lock,flags);
-#ifdef DEBUG_INTERRUPT
-  printk("INTERRUPT: end\n");
-#endif
-  //  return 0;
-  return NULL;
-}
-#endif //NETLINK
-
-//---------------------------------------------------------------------------
 // Called by ifconfig when the device is activated by ifconfig
 int nas_open(struct net_device *dev)
 {
@@ -121,15 +87,6 @@ int nas_open(struct net_device *dev)
   printk("OPEN: begin\n");
   //  MOD_INC_USE_COUNT;
   // Address has already been set at init
-#ifndef PDCP_USE_NETLINK
-
-  if (pdcp_2_nas_irq==-EBUSY) {
-    printk("OPEN: irq failure\n");
-    return -EBUSY;
-  }
-
-#endif //PDCP_USE_NETLINK
-
   /*
   netif_start_queue(dev);
   //
@@ -449,16 +406,6 @@ int init_module (void)
 
   printk("Starting NASMESH, number of IMEI paramters %d, IMEI %X%X\n",m_arg,nas_IMEI[0],nas_IMEI[1]);
 
-#ifndef PDCP_USE_NETLINK
-
-  if (pdcp_2_nas_irq == -EBUSY || pdcp_2_nas_irq == -EINVAL) {
-    printk("[NAS][INIT] No interrupt resource available\n");
-    return -EBUSY;
-  } else
-    printk("[NAS][INIT]: Interrupt %d\n", pdcp_2_nas_irq);
-
-#endif //NETLINK
-
   for (inst=0; inst<NB_INSTANCES_MAX; inst++) {
     printk("[NAS][INIT] nasmesh_init_module: begin init instance %d\n",inst);
 
@@ -493,15 +440,11 @@ int init_module (void)
     }
   }
 
-#ifdef PDCP_USE_NETLINK
-
   if ((err=nas_netlink_init()) == -1)
     printk("[NAS][INIT] NETLINK failed\n");
 
   printk("[NAS][INIT] NETLINK INIT\n");
 
-#endif //NETLINK
-
   return err;
 
 }
@@ -516,22 +459,6 @@ void cleanup_module(void)
 
   printk("[NAS][CLEANUP]nasmesh_cleanup_module: begin\n");
 
-#ifndef PDCP_USE_NETLINK
-
-  if (pdcp_2_nas_irq!=-EBUSY) {
-    pdcp_2_nas_irq=0;
-    // Start IRQ linux
-    //    free_irq(priv->irq, NULL);
-    // End IRQ linux
-
-  }
-
-#else // NETLINK
-
-
-
-#endif //NETLINK
-
   for (inst=0; inst<NB_INSTANCES_MAX; inst++) {
 #ifdef DEBUG_DEVICE
     printk("nasmesh_cleanup_module: unregister and free net device instance %d\n",inst);
@@ -541,9 +468,7 @@ void cleanup_module(void)
     free_netdev(nasdev[inst]);
   }
 
-#ifdef PDCP_USE_NETLINK
   nas_netlink_release();
-#endif //PDCP_USE_NETLINK
   printk("nasmesh_cleanup_module: end\n");
 }
 
diff --git a/openair2/NETWORK_DRIVER/MESH/local.h b/openair2/NETWORK_DRIVER/MESH/local.h
index 4918e196280..aa55c076125 100644
--- a/openair2/NETWORK_DRIVER/MESH/local.h
+++ b/openair2/NETWORK_DRIVER/MESH/local.h
@@ -178,10 +178,4 @@ extern struct net_device *nasdev[NB_INSTANCES_MAX];
 
 extern uint8_t NAS_NULL_IMEI[14];
 
-//global variables shared with RRC
-#ifndef PDCP_USE_NETLINK
-  extern int pdcp_2_nas_irq;
-#endif
-
-
 #endif
diff --git a/openair2/NETWORK_DRIVER/MESH/mesh.c b/openair2/NETWORK_DRIVER/MESH/mesh.c
index 7e147feb684..00cfc35bc8b 100644
--- a/openair2/NETWORK_DRIVER/MESH/mesh.c
+++ b/openair2/NETWORK_DRIVER/MESH/mesh.c
@@ -293,10 +293,6 @@ int nas_mesh_DC_send_cx_establish_request(struct cx_entity *cx,struct nas_priv *
     nas_tool_print_buffer((char *)p,p->length);
 #endif
     ++cx->retry;
-#ifdef PDCP_USE_NETLINK
-#else
-    //    bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length);
-#endif
     cx->countimer=gpriv->timer_establishment;
 
     if (bytes_wrote==p->length) {
@@ -353,11 +349,6 @@ int nas_mesh_DC_send_cx_release_request(struct cx_entity *cx,
     p->length =  NAS_TL_SIZE + sizeof(struct NASConnReleaseReq);
     p->nasUEDCPrimitive.conn_release_req.localConnectionRef = cx->lcr;
     p->nasUEDCPrimitive.conn_release_req.releaseCause = NAS_CX_RELEASE_UNDEF_CAUSE;
-#ifdef PDCP_USE_NETLINK
-
-#else
-    //      bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length);
-#endif
 
     if (bytes_wrote==p->length) {
       cx->state=NAS_IDLE;
@@ -441,22 +432,12 @@ void nas_mesh_DC_send_sig_data_request(struct sk_buff *skb,
   p->nasUEDCPrimitive.data_transfer_req.localConnectionRef = cx->lcr;
   p->nasUEDCPrimitive.data_transfer_req.priority = 3;  // TBD
   p->nasUEDCPrimitive.data_transfer_req.nasDataLength = (skb->len)+1; //adds category character
-#ifdef PDCP_USE_NETLINK
-#else
-  //  bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length);
-#endif
 
   if (bytes_wrote!=p->length) {
     printk("NAS_MESH_DC_SEND_SIG: Header sent failure in DC-FIFO\n");
     return;
   }
 
-#ifdef PDCP_USE_NETLINK
-#else
-  //  bytes_wrote += rtf_put(cx->sap[NAS_DC_INPUT_SAPI], &data_type, 1);
-  //  bytes_wrote += rtf_put(cx->sap[NAS_DC_INPUT_SAPI], skb->data, skb->len);
-#endif
-
   if (bytes_wrote != p->length + skb->len + 1) {
     printk("NAS_MESH_DC_SEND_SIG: Data sent failure in DC-FIFO\n");
     return;
@@ -511,22 +492,12 @@ void nas_mesh_DC_send_peer_sig_data_request(struct cx_entity *cx, uint8_t sig_ca
   p->nasUEDCPrimitive.data_transfer_req.localConnectionRef = cx->lcr;
   p->nasUEDCPrimitive.data_transfer_req.priority = 3;  // TBD
   p->nasUEDCPrimitive.data_transfer_req.nasDataLength = (nas_length)+1; //adds category character
-#ifdef PDCP_USE_NETLINK
-#else
-  //  bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length);
-#endif
 
   if (bytes_wrote!=p->length) {
     printk("NAS_MESH_DC_PEER_SEND_SIG: Header sent failure in DC-FIFO\n");
     return;
   }
 
-#ifdef PDCP_USE_NETLINK
-#else
-  //  bytes_wrote += rtf_put(cx->sap[NAS_DC_INPUT_SAPI], &data_type, 1);
-  //  bytes_wrote += rtf_put(cx->sap[NAS_DC_INPUT_SAPI], (char *)nas_data, nas_length);
-#endif
-
   if (bytes_wrote != p->length + nas_length + 1) {
     printk("NAS_MESH_DC_PEER_SEND_SIG: Data sent failure in DC-FIFO\n");
     return;
@@ -665,9 +636,6 @@ void nas_mesh_DC_decode_sig_data_ind(struct cx_entity *cx, struct nas_ue_dc_elem
   }
 
   // End debug information
-#ifndef PDCP_USE_NETLINK
-  //  nas_COMMON_receive(p->length, p->nasUEDCPrimitive.data_transfer_ind.nasDataLength, cx->sap[NAS_DC_OUTPUT_SAPI]);
-#endif
 #ifdef NAS_DEBUG_DC
   printk("NAS_MESH_DC_RECEIVE: DATA_TRANSFER_IND reception\n");
   printk(" Local Connection reference %u\n",p->nasUEDCPrimitive.data_transfer_ind.localConnectionRef);
@@ -842,20 +810,12 @@ int nas_mesh_DC_receive(struct cx_entity *cx,struct nas_priv *gpriv)
   }
 
   // End debug information
-#ifdef PDCP_USE_NETLINK
-#else
-  //  bytes_read = rtf_get(cx->sap[NAS_DC_OUTPUT_SAPI] , gpriv->rbuffer, NAS_TL_SIZE);
-#endif
 
   if (bytes_read>0) {
     struct nas_ue_dc_element *p;
 
     p= (struct nas_ue_dc_element *)(gpriv->rbuffer);
     //get the rest of the primitive
-#ifdef PDCP_USE_NETLINK
-#else
-    //    bytes_read += rtf_get(cx->sap[NAS_DC_OUTPUT_SAPI], (uint8_t *)p+NAS_TL_SIZE, p->length-NAS_TL_SIZE);
-#endif
 
     if (bytes_read!=p->length) {
       printk("NAS_MESH_DC_RECEIVE: Problem while reading primitive header\n");
@@ -982,19 +942,11 @@ int nas_mesh_GC_receive(struct nas_priv *gpriv)
 #ifdef NAS_DEBUG_GC
   printk("NAS_MESH_GC_RECEIVE - begin \n");
 #endif
-#ifdef PDCP_USE_NETLINK
-#else
-  //  bytes_read = rtf_get(gpriv->sap[NAS_GC_SAPI], gpriv->rbuffer, NAS_TL_SIZE);
-#endif
 
   if (bytes_read>0) {
     struct nas_ue_gc_element *p;
     p= (struct nas_ue_gc_element *)(gpriv->rbuffer);
     //get the rest of the primitive
-#ifdef PDCP_USE_NETLINK
-#else
-    //      bytes_read += rtf_get(gpriv->sap[NAS_GC_SAPI], (uint8_t *)p+NAS_TL_SIZE, p->length-NAS_TL_SIZE);
-#endif
 
     if (bytes_read!=p->length) {
       printk("NAS_MESH_GC_RECEIVE: Problem while reading primitive's header\n");
@@ -1004,10 +956,6 @@ int nas_mesh_GC_receive(struct nas_priv *gpriv)
     // start decoding message
     switch (p->type) {
     case INFO_BROADCAST_IND :
-#ifdef PDCP_USE_NETLINK
-#else
-      //    bytes_read += rtf_get(gpriv->sap[NAS_GC_SAPI], (uint8_t *)p+p->length, p->nasUEGCPrimitive.broadcast_ind.nasDataLength);
-#endif
       if (bytes_read!=p->length+p->nasUEGCPrimitive.broadcast_ind.nasDataLength) {
         printk("NAS_MESH_GC_RECEIVE: INFO_BROADCAST_IND reception, Problem while reading primitive's data\n");
         return bytes_read;
diff --git a/openair2/NETWORK_DRIVER/MESH/proto_extern.h b/openair2/NETWORK_DRIVER/MESH/proto_extern.h
index ac92b2f8bdc..332540f3b70 100644
--- a/openair2/NETWORK_DRIVER/MESH/proto_extern.h
+++ b/openair2/NETWORK_DRIVER/MESH/proto_extern.h
@@ -110,14 +110,6 @@ void nas_COMMON_del_send(struct sk_buff *skb,
                          struct cx_entity *cx,
                          struct classifier_entity *gc,int inst, struct nas_priv *gpriv);
 
-#ifndef PDCP_USE_NETLINK
-/**
-\fn void nas_COMMON_QOS_receive()
-\brief Retrieve PDU from PDCP for connection
- */
-void nas_COMMON_QOS_receive(void);
-#endif //PDCP_USE_NETLINK
-
 /**
 \fn struct rb_entity *nas_COMMON_add_rb(struct cx_entity *cx, nasRadioBearerId_t rabi, nasQoSTrafficClass_t qos)
 \brief Add a radio-bearer descriptor
@@ -168,7 +160,6 @@ struct classifier_entity
  */
 void nas_COMMON_flush_rb(struct cx_entity *cx);
 
-#ifdef PDCP_USE_NETLINK
 /**
 \fn int nas_netlink_send(unsigned char *data,unsigned int len)
 \brief Request the transfer of data by PDCP via netlink socket
@@ -185,7 +176,6 @@ int nas_netlink_send(unsigned char *data,unsigned int len);
  */
 void nas_COMMON_QOS_receive(struct nlmsghdr *nlh);
 
-#endif //PDCP_USE_NETLINK
 //nasmesh.c
 
 /**
@@ -305,13 +295,10 @@ void nas_tool_print_buffer(char * buffer,int length);
 void nas_print_rb_entity(struct rb_entity *rb);
 void nas_print_classifier(struct classifier_entity *gc);
 
-#ifdef PDCP_USE_NETLINK
 // nas_netlink.c
 
 void nas_netlink_release(void);
 int nas_netlink_init(void);
 
-#endif
-
 /** @} */
 #endif
diff --git a/openair2/RRC/LITE/rrc_common.c b/openair2/RRC/LITE/rrc_common.c
index f0279f0ef2a..a4239e857d9 100644
--- a/openair2/RRC/LITE/rrc_common.c
+++ b/openair2/RRC/LITE/rrc_common.c
@@ -97,35 +97,6 @@ rrc_init_global_param(
 //-----------------------------------------------------------------------------
 {
 
-  //#ifdef USER_MODE
-  //  Rrc_xface = (RRC_XFACE*)malloc16(sizeof(RRC_XFACE));
-  //#endif //USRE_MODE
-
-  //  Rrc_xface->openair_rrc_top_init = openair_rrc_top_init;
-  //  Rrc_xface->openair_rrc_eNB_init = openair_rrc_eNB_init;
-  //  Rrc_xface->openair_rrc_UE_init  = openair_rrc_ue_init;
-  //  Rrc_xface->mac_rrc_data_ind     = mac_rrc_data_ind;
-  //Rrc_xface->mac_rrc_data_req     = mac_rrc_data_req;
-  // Rrc_xface->rrc_data_indP        = (void *)rlcrrc_data_ind;
-  //  Rrc_xface->rrc_rx_tx            = rrc_rx_tx;
-  //  Rrc_xface->mac_rrc_meas_ind     = mac_rrc_meas_ind;
-  //  Rrc_xface->get_rrc_status       = get_rrc_status;
-
-  //Rrc_xface->rrc_get_status = ...
-
-  //  Mac_rlc_xface->mac_out_of_sync_ind=mac_out_of_sync_ind;
-
-#ifndef NO_RRM
-  //  Rrc_xface->fn_rrc=fn_rrc;
-#endif
-  //  LOG_D(RRC, "[RRC]INIT_GLOBAL_PARAM: Mac_rlc_xface %p, rrc_rlc_register %p,rlcrrc_data_ind%p\n",Mac_rlc_xface,Mac_rlc_xface->rrc_rlc_register_rrc,rlcrrc_data_ind);
-  /*
-   if((Mac_rlc_xface==NULL) || (Mac_rlc_xface->rrc_rlc_register_rrc==NULL) ||
-   (rlcrrc_data_ind==NULL)) {
-   LOG_E(RRC,"Data structured is not initialized \n");
-   return -1;
-   }
-   */
   rrc_rlc_register_rrc (rrc_data_ind, NULL); //register with rlc
 
   DCCH_LCHAN_DESC.transport_block_size = 4;
diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.h b/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.h
index 6b56be1022e..a862af78368 100644
--- a/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.h
+++ b/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.h
@@ -28,7 +28,6 @@
 * \email: raymond.knopp@eurecom.fr ,navid.nikaein@eurecom.fr, michele.paffetti@studio.unibo.it
 */
 
-#ifdef USER_MODE
 #include <stdio.h>
 #include <sys/types.h>
 #include <stdlib.h> /* for atoi(3) */
@@ -36,9 +35,6 @@
 #include <string.h> /* for strerror(3) */
 #include <sysexits.h> /* for EX_* exit codes */
 #include <errno.h>  /* for errno */
-#else
-#include <linux/module.h>  /* Needed by all modules */
-#endif
 
 #include <asn_application.h>
 #include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */
diff --git a/openair2/RRC/LTE/MESSAGES/asn1_patch b/openair2/RRC/LTE/MESSAGES/asn1_patch
deleted file mode 100644
index 8682f178957..00000000000
--- a/openair2/RRC/LTE/MESSAGES/asn1_patch
+++ /dev/null
@@ -1,522 +0,0 @@
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_codecs_prim.c patch_dir/asn_codecs_prim.c
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_codecs_prim.c	2011-03-31 10:22:56.000000000 +0200
---- patch_dir/asn_codecs_prim.c	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 4,10 ****
-   */
-  #include <asn_internal.h>
-  #include <asn_codecs_prim.h>
-- #include <errno.h>
-  
-  /*
-   * Decode an always-primitive type.
---- 4,9 ----
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_internal.h patch_dir/asn_internal.h
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_internal.h	2011-03-31 10:22:57.000000000 +0200
---- patch_dir/asn_internal.h	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 10,20 ****
---- 10,31 ----
-  #define	_ASN_INTERNAL_H_
-  
-  #include "asn_application.h"	/* Application-visible API */
-+ #ifndef USER_MODE
-+ #include <rtai.h>
-+ #include <rtai_malloc.h>
-+ #include "rtai_mem.h"
-+ #endif
-  
-  #ifndef	__NO_ASSERT_H__		/* Include assert.h only for internal use. */
-  #include <assert.h>		/* for assert() macro */
-  #endif
-  
-+ #ifndef USER_MODE
-+ #ifndef assert
-+ #define assert(expr) ((expr) ? (void) 0 : printk("Assertion failed in %s:%d\n", __FILE__, __LINE__))
-+ #endif
-+ #endif
-+ 
-  #ifdef	__cplusplus
-  extern "C" {
-  #endif
-***************
-*** 23,32 ****
---- 34,51 ----
-  #define	ASN1C_ENVIRONMENT_VERSION	922	/* Compile-time version */
-  int get_asn1c_environment_version(void);	/* Run-time version */
-  
-+ #ifdef USER_MODE
-  #define	CALLOC(nmemb, size)	calloc(nmemb, size)
-  #define	MALLOC(size)		malloc(size)
-  #define	REALLOC(oldptr, size)	realloc(oldptr, size)
-  #define	FREEMEM(ptr)		free(ptr)
-+ #else
-+ #define	CALLOC(nmemb, size)	rt_calloc(nmemb,size)
-+ #define	MALLOC(size)		rt_malloc(size)
-+ #define	REALLOC(oldptr, size)	rt_realloc(oldptr, size)
-+ #define	FREEMEM(ptr)		rt_free(ptr);
-+ #endif
-+ 
-  
-  /*
-   * A macro for debugging the ASN.1 internals.
-***************
-*** 38,45 ****
-  #ifdef	ASN_THREAD_SAFE
-  #define	asn_debug_indent	0
-  #else	/* !ASN_THREAD_SAFE */
-! int asn_debug_indent;
-  #endif	/* ASN_THREAD_SAFE */
-  #define	ASN_DEBUG(fmt, args...)	do {			\
-  		int adi = asn_debug_indent;		\
-  		while(adi--) fprintf(stderr, " ");	\
---- 57,65 ----
-  #ifdef	ASN_THREAD_SAFE
-  #define	asn_debug_indent	0
-  #else	/* !ASN_THREAD_SAFE */
-! extern int asn_debug_indent;
-  #endif	/* ASN_THREAD_SAFE */
-+ #ifdef USER_MODE
-  #define	ASN_DEBUG(fmt, args...)	do {			\
-  		int adi = asn_debug_indent;		\
-  		while(adi--) fprintf(stderr, " ");	\
-***************
-*** 47,52 ****
---- 67,81 ----
-  		fprintf(stderr, " (%s:%d)\n",		\
-  			__FILE__, __LINE__);		\
-  	} while(0)
-+ #else
-+ #define ASN_DEBUG(fmt, args...) do {			\
-+ 		int adi = asn_debug_indent;		\
-+ 		while(adi--) printk(" ");	\
-+ 		printk(fmt, ##args);			\
-+ 		printk(" (%s:%d)\n",			\
-+ 			__FILE__, __LINE__);		\
-+ 	} while(0)
-+ #endif
-  #else	/* !__GNUC__ */
-  void ASN_DEBUG_f(const char *fmt, ...);
-  #define	ASN_DEBUG	ASN_DEBUG_f
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_SET_OF.c patch_dir/asn_SET_OF.c
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_SET_OF.c	2011-03-31 10:22:56.000000000 +0200
---- patch_dir/asn_SET_OF.c	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 4,10 ****
-   */
-  #include <asn_internal.h>
-  #include <asn_SET_OF.h>
-- #include <errno.h>
-  
-  /*
-   * Add another element into the set.
---- 4,9 ----
-***************
-*** 21,26 ****
---- 20,27 ----
-  	/*
-  	 * Make sure there's enough space to insert an element.
-  	 */
-+ 	ASN_DEBUG("SET ADD: count %d, size %d",as->count,as->size);
-+ 
-  	if(as->count == as->size) {
-  		int _newsize = as->size ? (as->size << 1) : 4;
-  		void *_new_arr;
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_system.h patch_dir/asn_system.h
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_system.h	2011-03-31 10:22:57.000000000 +0200
---- patch_dir/asn_system.h	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 13,25 ****
-  #include "config.h"
-  #endif
-  
-! #include <stdio.h>	/* For snprintf(3) */
-! #include <stdlib.h>	/* For *alloc(3) */
-! #include <string.h>	/* For memcpy(3) */
-! #include <sys/types.h>	/* For size_t */
-! #include <limits.h>	/* For LONG_MAX */
-! #include <stdarg.h>	/* For va_start */
-! #include <stddef.h>	/* for offsetof and ptrdiff_t */
-  
-  #ifdef	WIN32
-  
---- 13,39 ----
-  #include "config.h"
-  #endif
-  
-! #ifdef USER_MODE
-! #include <stdio.h>	// For snprintf(3)
-! #include <stdlib.h>	// For *alloc(3)
-! #include <string.h>	// For memcpy(3)
-! #include <sys/types.h>	// For size_t
-! #include <limits.h>	// For LONG_MAX
-! #include <stdarg.h>	// For va_start
-! #include <stddef.h>	// for offsetof and ptrdiff_t
-! #include <errno.h>      // For errno
-! #else
-! typedef char FILE;
-! #include <linux/types.h>
-! #include <linux/slab.h> // For snprintf
-! #include <linux/sort.h> // For sort
-! #define qsort(base,num,size,cmp_func) sort(base,num,size,cmp_func,NULL)
-! #include <linux/errno.h>// For errno
-! #ifndef errno
-! extern int errno;
-! #endif
-! #include "bsearch.h"
-! #endif
-  
-  #ifdef	WIN32
-  
-***************
-*** 63,69 ****
-  #include <types/vxTypes.h>
-  #else	/* !defined(__vxworks) */
-  
-! #include <inttypes.h>	/* C99 specifies this file */
-  /*
-   * 1. Earlier FreeBSD version didn't have <stdint.h>,
-   * but <inttypes.h> was present.
---- 77,85 ----
-  #include <types/vxTypes.h>
-  #else	/* !defined(__vxworks) */
-  
-! #ifdef USER_MODE
-! #include <inttypes.h>	 /*C99 specifies this file */
-! #endif
-  /*
-   * 1. Earlier FreeBSD version didn't have <stdint.h>,
-   * but <inttypes.h> was present.
-***************
-*** 81,91 ****
-  #define inline
-  #endif	/* __GNUC__ */
-  #else
-! #include <stdint.h>	/* SUSv2+ and C99 specify this file, for uintXX_t */
-  #endif	/* defined(sun) */
-  #endif
-  
-! #include <netinet/in.h> /* for ntohl() */
-  #define	sys_ntohl(foo)	ntohl(foo)
-  
-  #endif	/* defined(__vxworks) */
---- 97,109 ----
-  #define inline
-  #endif	/* __GNUC__ */
-  #else
-! #ifdef USER_MODE
-! #include <stdint.h>	 /*SUSv2+ and C99 specify this file, for uintXX_t */
-! #endif
-  #endif	/* defined(sun) */
-  #endif
-  
-! /*#include <netinet/in.h>  for ntohl() */
-  #define	sys_ntohl(foo)	ntohl(foo)
-  
-  #endif	/* defined(__vxworks) */
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/ber_tlv_tag.c patch_dir/ber_tlv_tag.c
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/ber_tlv_tag.c	2011-03-31 10:22:56.000000000 +0200
---- patch_dir/ber_tlv_tag.c	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 4,10 ****
-   */
-  #include <asn_internal.h>
-  #include <ber_tlv_tag.h>
-- #include <errno.h>
-  
-  ssize_t
-  ber_fetch_tag(const void *ptr, size_t size, ber_tlv_tag_t *tag_r) {
---- 4,9 ----
-***************
-*** 57,63 ****
-  	return 0;	/* Want more */
-  }
-  
-! 
-  ssize_t
-  ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *f) {
-  	char buf[sizeof("[APPLICATION ]") + 32];
---- 56,62 ----
-  	return 0;	/* Want more */
-  }
-  
-! #ifdef USER_MODE
-  ssize_t
-  ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *f) {
-  	char buf[sizeof("[APPLICATION ]") + 32];
-***************
-*** 71,76 ****
---- 70,76 ----
-  
-  	return fwrite(buf, 1, ret, f);
-  }
-+ #endif
-  
-  ssize_t
-  ber_tlv_tag_snprint(ber_tlv_tag_t tag, char *buf, size_t size) {
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/constraints.c patch_dir/constraints.c
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/constraints.c	2011-03-31 10:22:57.000000000 +0200
---- patch_dir/constraints.c	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 1,4 ****
-! #include "asn_internal.h"
-  #include "constraints.h"
-  
-  int
---- 1,4 ----
-! #include <asn_internal.h>
-  #include "constraints.h"
-  
-  int
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/constr_TYPE.c patch_dir/constr_TYPE.c
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/constr_TYPE.c	2011-03-31 10:22:56.000000000 +0200
---- patch_dir/constr_TYPE.c	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 4,10 ****
-   */
-  #include <asn_internal.h>
-  #include <constr_TYPE.h>
-- #include <errno.h>
-  
-  /*
-   * Version of the ASN.1 infrastructure shipped with compiler.
---- 4,9 ----
-***************
-*** 29,34 ****
---- 28,34 ----
-  	return type_descriptor->outmost_tag(type_descriptor, struct_ptr, 0, 0);
-  }
-  
-+ #ifdef USER_MODE
-  /*
-   * Print the target language's structure in human readable form.
-   */
-***************
-*** 75,77 ****
---- 75,78 ----
-  	fprintf(stderr, "\n");
-  	va_end(ap);
-  }
-+ #endif
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/der_encoder.c patch_dir/der_encoder.c
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/der_encoder.c	2011-03-31 10:22:56.000000000 +0200
---- patch_dir/der_encoder.c	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 3,9 ****
-   * Redistribution and modifications are permitted subject to BSD license.
-   */
-  #include <asn_internal.h>
-- #include <errno.h>
-  
-  static ssize_t der_write_TL(ber_tlv_tag_t tag, ber_tlv_len_t len,
-  	asn_app_consume_bytes_f *cb, void *app_key, int constructed);
---- 3,8 ----
-***************
-*** 81,89 ****
---- 80,90 ----
-  		asn_app_consume_bytes_f *cb,
-  		void *app_key) {
-  	ber_tlv_tag_t *tags;	/* Copy of tags stream */
-+ 	ber_tlv_tag_t tags_array[8];
-  	int tags_count;		/* Number of tags */
-  	size_t overall_length;
-  	ssize_t *lens;
-+ 	ssize_t lens_array[8];
-  	int i;
-  
-  	ASN_DEBUG("Writing tags (%s, tm=%d, tc=%d, tag=%s, mtc=%d)",
-***************
-*** 102,111 ****
-  		 * and initialize it appropriately.
-  		 */
-  		int stag_offset;
-! 		tags = (ber_tlv_tag_t *)alloca((sd->tags_count + 1) * sizeof(ber_tlv_tag_t));
-  		if(!tags) {	/* Can fail on !x86 */
-! 			errno = ENOMEM;
-! 			return -1;
-  		}
-  		tags_count = sd->tags_count
-  			+ 1	/* EXPLICIT or IMPLICIT tag is given */
---- 103,121 ----
-  		 * and initialize it appropriately.
-  		 */
-  		int stag_offset;
-! 		//tags = (ber_tlv_tag_t *)alloca((sd->tags_count + 1) * sizeof(ber_tlv_tag_t));
-! 		tags = &(tags_array[0]);
-! 		if ((sd->tags_count + 1)>=8) {
-! #ifdef USER_MODE
-! 		  printf("der_encoder.c: ERROR tags array too small. Increase size!\n");
-! 		  exit(-1);
-! #endif
-! 		  errno = ENOMEM;
-! 		  return -1;
-! 		}
-  		if(!tags) {	/* Can fail on !x86 */
-! 		  errno = ENOMEM;
-! 		  return -1;
-  		}
-  		tags_count = sd->tags_count
-  			+ 1	/* EXPLICIT or IMPLICIT tag is given */
-***************
-*** 124,135 ****
-  	if(tags_count == 0)
-  		return 0;
-  
-! 	lens = (ssize_t *)alloca(tags_count * sizeof(lens[0]));
-  	if(!lens) {
-! 		errno = ENOMEM;
-! 		return -1;
-  	}
-! 
-  	/*
-  	 * Array of tags is initialized.
-  	 * Now, compute the size of the TLV pairs, from right to left.
---- 134,154 ----
-  	if(tags_count == 0)
-  		return 0;
-  
-! 	//lens = (ssize_t *)alloca(tags_count * sizeof(lens[0]));
-! 	lens = &(lens_array[0]);
-! 	if (tags_count>=8) {
-! #ifdef USER_MODE
-! 	  printf("der_encoder.c: ERROR lens array too small. Increase size!\n");
-! 	  exit(-1);
-! #endif
-! 	  errno = ENOMEM;
-! 	  return -1;
-! 	}
-  	if(!lens) {
-! 	  errno = ENOMEM;
-! 	  return -1;
-  	}
-! 	
-  	/*
-  	 * Array of tags is initialized.
-  	 * Now, compute the size of the TLV pairs, from right to left.
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/INTEGER.c patch_dir/INTEGER.c
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/INTEGER.c	2011-03-31 10:22:56.000000000 +0200
---- patch_dir/INTEGER.c	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 6,12 ****
-  #include <asn_internal.h>
-  #include <INTEGER.h>
-  #include <asn_codecs_prim.h>	/* Encoder and decoder of a primitive type */
-- #include <errno.h>
-  
-  /*
-   * INTEGER basic type description.
---- 6,11 ----
-***************
-*** 103,109 ****
-  static ssize_t
-  INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_bytes_f *cb, void *app_key, int plainOrXER) {
-  	asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
-! 	char scratch[32];	/* Enough for 64-bit integer */
-  	uint8_t *buf = st->buf;
-  	uint8_t *buf_end = st->buf + st->size;
-  	signed long accum;
---- 102,108 ----
-  static ssize_t
-  INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_bytes_f *cb, void *app_key, int plainOrXER) {
-  	asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
-! 	char scratch[128];	
-  	uint8_t *buf = st->buf;
-  	uint8_t *buf_end = st->buf + st->size;
-  	signed long accum;
-***************
-*** 142,149 ****
---- 141,152 ----
-  
-  		el = INTEGER_map_value2enum(specs, accum);
-  		if(el) {
-+ 			scrsize = sizeof(scratch);
-+ 			scr = scratch;
-+ 			/* cannot use alloca in kernel
-  			scrsize = el->enum_len + 32;
-  			scr = (char *)alloca(scrsize);
-+ 			*/
-  			if(plainOrXER == 0)
-  				ret = snprintf(scr, scrsize,
-  					"%ld (%s)", accum, el->enum_name);
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/NativeEnumerated.c patch_dir/NativeEnumerated.c
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/NativeEnumerated.c	2011-03-31 10:22:57.000000000 +0200
---- patch_dir/NativeEnumerated.c	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 46,51 ****
---- 46,52 ----
-                  asn_app_consume_bytes_f *cb, void *app_key) {
-  	asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
-          asn_enc_rval_t er;
-+ 	char scratch[128];
-          const long *native = (const long *)sptr;
-  	const asn_INTEGER_enum_map_t *el;
-  
-***************
-*** 57,63 ****
-  	el = INTEGER_map_value2enum(specs, *native);
-  	if(el) {
-  		size_t srcsize = el->enum_len + 5;
-! 		char *src = (char *)alloca(srcsize);
-  
-  		er.encoded = snprintf(src, srcsize, "<%s/>", el->enum_name);
-  		assert(er.encoded > 0 && (size_t)er.encoded < srcsize);
---- 58,64 ----
-  	el = INTEGER_map_value2enum(specs, *native);
-  	if(el) {
-  		size_t srcsize = el->enum_len + 5;
-! 		char *src = (char *)scratch; //alloca(srcsize);
-  
-  		er.encoded = snprintf(src, srcsize, "<%s/>", el->enum_name);
-  		assert(er.encoded > 0 && (size_t)er.encoded < srcsize);
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/OCTET_STRING.c patch_dir/OCTET_STRING.c
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/OCTET_STRING.c	2011-03-31 10:22:55.000000000 +0200
---- patch_dir/OCTET_STRING.c	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 6,12 ****
-  #include <asn_internal.h>
-  #include <OCTET_STRING.h>
-  #include <BIT_STRING.h>	/* for .bits_unused member */
-- #include <errno.h>
-  
-  /*
-   * OCTET STRING basic type description.
---- 6,11 ----
-diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/xer_encoder.c patch_dir/xer_encoder.c
-*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/xer_encoder.c	2011-04-11 18:03:26.000000000 +0200
---- patch_dir/xer_encoder.c	2011-05-31 10:28:26.000000000 +0200
-***************
-*** 3,10 ****
-   * Redistribution and modifications are permitted subject to BSD license.
-   */
-  #include <asn_internal.h>
-! #include <stdio.h>
-! #include <errno.h>
-  
-  /*
-   * The XER encoder of any type. May be invoked by the application.
---- 3,10 ----
-   * Redistribution and modifications are permitted subject to BSD license.
-   */
-  #include <asn_internal.h>
-! //#include <stdio.h>
-! //#include <errno.h>
-  
-  /*
-   * The XER encoder of any type. May be invoked by the application.
-***************
-*** 41,46 ****
---- 41,47 ----
-   * This is a helper function for xer_fprint, which directs all incoming data
-   * into the provided file descriptor.
-   */
-+ #ifdef USER_MODE
-  static int
-  xer__print2fp(const void *buffer, size_t size, void *app_key) {
-  	FILE *stream = (FILE *)app_key;
-***************
-*** 65,67 ****
---- 66,69 ----
-  
-  	return fflush(stream);
-  }
-+ #endif
diff --git a/openair2/RRC/LTE/rrc_UE.c b/openair2/RRC/LTE/rrc_UE.c
index b2230df623c..4374837b124 100644
--- a/openair2/RRC/LTE/rrc_UE.c
+++ b/openair2/RRC/LTE/rrc_UE.c
@@ -393,15 +393,7 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_
   init_SI_UE(&ctxt,eNB_index);
   LOG_D(RRC,PROTOCOL_RRC_CTXT_FMT"  INIT: phy_sync_2_ch_ind\n",
         PROTOCOL_RRC_CTXT_ARGS(&ctxt));
-#ifndef NO_RRM
-  send_msg(&S_rrc,msg_rrc_phy_synch_to_CH_ind(ctxt.module_id,eNB_index,UE_rrc_inst[ctxt.module_id].Mac_id));
-#endif
-#ifndef NO_RRM
-  send_msg(&S_rrc,msg_rrc_phy_synch_to_CH_ind(ctxt.module_id,eNB_index,UE_rrc_inst[ctxt.module_id].Mac_id));
-#endif
-#ifdef NO_RRM //init ch SRB0, SRB1 & BDTCH
   openair_rrc_on_ue(&ctxt);
-#endif
   return 0;
 }
 
@@ -2249,9 +2241,6 @@ rrc_ue_decode_dcch(
     }
   }
 
-#ifndef NO_RRM
-  send_msg(&S_rrc,msg_rrc_end_scan_req(ctxt_pP->module_id,eNB_indexP));
-#endif
 }
 
 const char siWindowLength[9][5] = {"1ms","2ms","5ms","10ms","15ms","20ms","40ms","80ms","ERR"};
@@ -2530,14 +2519,6 @@ int decode_BCCH_MBMS_DLSCH_Message(
         break;
     }
   }*/
-  /*if ((rrc_get_sub_state(ctxt_pP->module_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE)
-  #if defined(ENABLE_USE_MME)
-      && (UE_rrc_inst[ctxt_pP->module_id].initialNasMsg.data != NULL)
-  #endif
-     ) {
-    rrc_ue_generate_RRCConnectionRequest(ctxt_pP, 0);
-    rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_CONNECTING );
-  }*/
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_BCCH, VCD_FUNCTION_OUT );
   return 0;
 }
diff --git a/openair2/RRC/LTE/rrc_defs.h b/openair2/RRC/LTE/rrc_defs.h
index 1c02c3de46c..9083598cd73 100644
--- a/openair2/RRC/LTE/rrc_defs.h
+++ b/openair2/RRC/LTE/rrc_defs.h
@@ -173,13 +173,6 @@ extern pthread_mutex_t slrb_mutex;
 //the thread function
 void *send_UE_status_notification(void *);
 
-
-
-//#include "COMMON/openair_defs.h"
-#ifndef USER_MODE
-  //#include <rtai.h>
-#endif
-
 #include "LTE_SystemInformationBlockType1.h"
 #include "LTE_SystemInformation.h"
 #include "LTE_RRCConnectionReconfiguration.h"
@@ -217,12 +210,6 @@ void *send_UE_status_notification(void *);
 #define NB_SIG_CNX_UE 2 //MAX_MANAGED_RG_PER_MOBILE
 #define NB_CNX_UE 2//MAX_MANAGED_RG_PER_MOBILE
 
-#ifndef NO_RRM
-  #include "L3_rrc_interface.h"
-  #include "rrc_rrm_msg.h"
-  #include "rrc_rrm_interface.h"
-#endif
-
 
 #include "intertask_interface.h"
 
diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c
index a03fb51749a..aa29441995f 100644
--- a/openair2/RRC/LTE/rrc_eNB.c
+++ b/openair2/RRC/LTE/rrc_eNB.c
@@ -7287,9 +7287,6 @@ rrc_eNB_decode_ccch(
                 PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
                 rrcConnectionReestablishmentRequest->ue_Identity.physCellId,
                 ue_context_p->ue_context.reestablishment_cause);
-#ifndef NO_RRM
-          send_msg(&S_rrc, msg_rrc_MR_attach_ind(ctxt_pP->module_id, Mac_id));
-#else
           ue_context_p->ue_context.primaryCC_id = CC_id;
           //LG COMMENT Idx = (ue_mod_idP * NB_RB_MAX) + DCCH;
           Idx = DCCH;
@@ -7343,7 +7340,6 @@ rrc_eNB_decode_ccch(
                                    );
           }
 
-#endif //NO_RRM
         }
         break;
 
@@ -7532,9 +7528,6 @@ rrc_eNB_decode_ccch(
           }
         }
 
-#ifndef NO_RRM
-        send_msg(&S_rrc, msg_rrc_MR_attach_ind(ctxt_pP->module_id, Mac_id));
-#else
         ue_context_p->ue_context.primaryCC_id = CC_id;
         //LG COMMENT Idx = (ue_mod_idP * NB_RB_MAX) + DCCH;
         Idx = DCCH;
@@ -7587,7 +7580,6 @@ rrc_eNB_decode_ccch(
                                  );
         }
 
-#endif //NO_RRM
         break;
 
       default:
diff --git a/openair2/RRC/LTE/rrc_rrm_interface.c b/openair2/RRC/LTE/rrc_rrm_interface.c
deleted file mode 100644
index fe15dae46d6..00000000000
--- a/openair2/RRC/LTE/rrc_rrm_interface.c
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.1  (the "License"); you may not use this file
- * except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.openairinterface.org/?page_id=698
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *-------------------------------------------------------------------------------
- * For more information about the OpenAirInterface (OAI) Software Alliance:
- *      contact@openairinterface.org
- */
-
-/*!
-*******************************************************************************
-
-\file     rrm_sock.c
-
-\brief    RRM (Radio Ressource Manager ) Socket: communication withe other medium:
-          - RRC ,
-          - CMM ,
-          - PUSU
-
-\author   BURLOT Pascal
-
-\date     10/07/08
-
-
-\par     Historique:
-        P.BURLOT 2009-01-20
-            + send a message via fifo:
-                - sending header
-                - and data if any
-
-*******************************************************************************
-*/
-
-#ifndef RRC_RRM_FIFOS_XFACE
-  #include <stdio.h>
-  #include <stdlib.h>
-  #include <errno.h>
-  #include <string.h>
-  #include <unistd.h>
-
-  #include <sys/socket.h>
-  #include <sys/un.h>
-
-#else
-
-  #include<rtai_fifos.h>
-
-#endif
-
-#include "rrc_rrm_interface.h"
-#include "defs.h"
-//! \brief  Taille maximale de la charge utile
-#define SIZE_MAX_PAYLOAD  2048
-//! \brief PID de l'espace utilisateur (Netlink mode)
-//#define PID_USERSPACE   0xAA
-
-
-
-
-
-#ifndef RRC_RRM_FIFOS_XFACE
-
-/*!
-*******************************************************************************
-\brief  This function opens a unix socket for the rrm communication
-\return  The return value is a socket handle
-*/
-int open_socket(
-  sock_rrm_t *s,    ///< socket descriptor
-  char *path_local,   ///< local socket path if unix socket
-  char *path_dest,    ///< host  Socket path if unix socket
-  int rrm_inst        ///< instance of the rrm entity
-) {
-  /* Unix socket */
-  int   socket_fd ;
-  int   len ;
-
-  if ((socket_fd = socket(AF_UNIX, SOCK_DGRAM, 0)) == -1) {
-    perror("unix socket");
-    return -1 ;
-  }
-
-  memset(&(s->un_local_addr), 0, sizeof(struct  sockaddr_un));
-  s->un_local_addr.sun_family = AF_UNIX;
-  sprintf(s->un_local_addr.sun_path,"%s%d", path_local, rrm_inst );
-  unlink(s->un_local_addr.sun_path);
-  msg("local %s\n",s->un_local_addr.sun_path);
-  len = strlen((s->un_local_addr).sun_path) + sizeof((s->un_local_addr).sun_family);
-
-  if (bind(socket_fd, (struct sockaddr *)&(s->un_local_addr), len) == -1) {
-    perror("bind");
-    return -1 ;
-  }
-
-  memset(&(s->un_dest_addr), 0, sizeof(struct   sockaddr_un));
-  s->un_dest_addr.sun_family = AF_UNIX;
-  sprintf(s->un_dest_addr.sun_path,"%s%d", path_dest, rrm_inst );
-  msg("Dest %s\n",s->un_dest_addr.sun_path);
-  s->s = socket_fd ;
-  return socket_fd ;
-}
-/*!
-*******************************************************************************
-\brief  This function closes a RRM socket
-\return none
-*/
-void close_socket(
-  sock_rrm_t *sock  ///< the socket handle
-) {
-  shutdown(sock->s, SHUT_RDWR);
-  close(sock->s);
-}
-
-/*!
-*******************************************************************************
-\brief  This function send a buffer message to the unix socket
-\return if OK then "0" is returned else "-1"
-*/
-char BUFF[2048];
-int send_msg_sock(
-  sock_rrm_t *s,   ///< socket descriptor
-  msg_t *smsg       ///< the message to send
-) {
-  /* Unix socket */
-  int         ret   = 0 ;
-  //  char        *buf    = NULL;
-  struct  msghdr    msghd ;
-  struct  iovec     iov;
-  int         taille  = sizeof(msg_head_t)  ;
-
-  if ( smsg == NULL ) {
-    return -1 ;
-  }
-
-  if ( smsg->data != NULL ) {
-    taille += smsg->head.size ;
-  }
-
-  //buf = RRM_MALLOC(char, taille);
-  //if (buf ==NULL)
-  //return -1 ;
-  memcpy( BUFF, &(smsg->head), sizeof(msg_head_t) ) ;
-  memcpy( BUFF+sizeof(msg_head_t), smsg->data, smsg->head.size ) ;
-  iov.iov_base    = (void *)BUFF;
-  iov.iov_len     = taille ;
-  msghd.msg_name        = (void *)&(s->un_dest_addr);
-  msghd.msg_namelen     = sizeof(s->un_dest_addr);
-  msghd.msg_iov         = &iov;
-  msghd.msg_iovlen      = 1;
-  msghd.msg_control     = NULL ;
-  msghd.msg_controllen  =   0 ;
-
-  if ( sendmsg(s->s, &msghd, 0) < 0 ) {
-    ret = -1;
-    msg("socket %d, dest %s\n",s->s,s->un_dest_addr.sun_path);
-    perror("sendmsg:unix socket");
-  }
-
-  //RRM_FREE(buf) ;
-  //RRM_FREE(msg->data) ;
-  //RRM_FREE(msg) ;
-  return ret ;
-}
-
-/*!
-*******************************************************************************
-\brief  This function read a buffer from a unix socket
-\return the function returns a message pointer. If the pointeur is NULL, a error
-        is happened.
-*/
-char *recv_msg(
-  sock_rrm_t *s   ///< socket descriptor
-) {
-  /* Unix socket */
-  char        *buf = NULL;
-  char        *smsg = NULL;
-  struct  msghdr    msghd ;
-  struct  iovec     iov;
-  int         size_msg ;
-  msg_head_t      *head  ;
-  int         ret ;
-  int taille =  SIZE_MAX_PAYLOAD ;
-  buf         = RRM_CALLOC( char,taille);
-
-  if ( buf == NULL ) {
-    return NULL ;
-  }
-
-  iov.iov_base      = (void *)buf;
-  iov.iov_len       = taille ;
-  msghd.msg_name      = (void *)&(s->un_dest_addr);
-  msghd.msg_namelen   = sizeof(s->un_dest_addr);
-  msghd.msg_iov       = &iov;
-  msghd.msg_iovlen    = 1;
-  msghd.msg_control   = NULL ;
-  msghd.msg_controllen= 0 ;
-  ret = recvmsg(s->s, &msghd, 0 ) ;
-
-  if ( ret <= 0  ) {
-    // non-blocking socket
-    // perror("PB recvmsg_un");
-    RRM_FREE(buf);
-    return NULL ;
-  }
-
-  if (msghd.msg_flags != 0 ) {
-    fprintf(stderr,"error recvmsg_un: 0x%02x\n", msghd.msg_flags) ;
-    RRM_FREE(buf);
-    return NULL ;
-  }
-
-  head    = (msg_head_t *) buf  ;
-  size_msg  = sizeof(msg_head_t) + head->size ;
-  smsg    = RRM_CALLOC(char, size_msg ) ;
-
-  if ( smsg != NULL ) {
-    memcpy( smsg, buf, size_msg ) ;
-  }
-
-  RRM_FREE( buf ) ;
-  return smsg ;
-}
-
-#else  //XFACE
-
-int send_msg_fifo(int *s, msg_t *fmsg) {
-  int   ret   = 0, ret1;
-  int  taille = sizeof(msg_head_t)  ;
-  msg("write on fifos %d, msg %p\n",*s,fmsg);
-
-  if ( fmsg == NULL ) {
-    return -1 ;
-  }
-
-  // envoi le header
-  ret1 = rtf_put (*s,(char *) &(fmsg->head), taille);
-
-  if(ret1 <0) {
-    msg("rtf_put H ERR %d\n",ret1);
-    rtf_reset(*s);
-    return ret1;
-  }
-
-  ret=ret1;
-
-  // envoi les datas si elles sont definis
-  if ( fmsg->data != NULL ) {
-    ret1 += rtf_put (*s,(char *) fmsg->data, fmsg->head.size);
-
-    if(ret1 <0) {
-      msg("rtf_put D ERR %d\n",ret1);
-      rtf_reset(*s);
-      return ret1;
-    }
-  }
-
-  ret+=ret1;
-  return ret;
-}
-
-#endif //XFACE
-
-int send_msg(void *s, msg_t *smsg) {
-  send_msg_sock((sock_rrm_t *)s, smsg);
-}
diff --git a/openair2/RRC/NR/MESSAGES/asn1_msg.c b/openair2/RRC/NR/MESSAGES/asn1_msg.c
index eb6f86fda6e..e0640d7413f 100755
--- a/openair2/RRC/NR/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/NR/MESSAGES/asn1_msg.c
@@ -133,18 +133,6 @@
 
 #include "common/ran_context.h"
 
-//#include "PHY/defs.h"
-/*#ifndef USER_MODE
-#define msg printk
-#ifndef errno
-int errno;
-#endif
-#else
-# if !defined (msg)
-#   define msg printf
-# endif
-#endif*/
-
 //#define XER_PRINT
 
 typedef struct xer_sprint_string_s {
diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c
index 655e6973a16..6983e2e555e 100755
--- a/openair2/RRC/NR/rrc_gNB.c
+++ b/openair2/RRC/NR/rrc_gNB.c
@@ -3305,57 +3305,6 @@ void *rrc_gnb_task(void *args_p) {
       case GTPV1U_GNB_DELETE_TUNNEL_RESP:
         break;
 
-      /*
-      #if defined(ENABLE_USE_MME)
-
-            // Messages from S1AP
-          case S1AP_DOWNLINK_NAS:
-            rrc_eNB_process_S1AP_DOWNLINK_NAS(msg_p, msg_name_p, instance, &rrc_gNB_mui);
-            break;
-
-          case S1AP_INITIAL_CONTEXT_SETUP_REQ:
-            rrc_eNB_process_S1AP_INITIAL_CONTEXT_SETUP_REQ(msg_p, msg_name_p, instance);
-            break;
-
-          case S1AP_UE_CTXT_MODIFICATION_REQ:
-            rrc_eNB_process_S1AP_UE_CTXT_MODIFICATION_REQ(msg_p, msg_name_p, instance);
-            break;
-
-          case S1AP_PAGING_IND:
-            LOG_D(RRC, "[eNB %d] Received Paging message from S1AP: %s\n", instance, msg_name_p);
-            rrc_eNB_process_PAGING_IND(msg_p, msg_name_p, instance);
-            break;
-
-          case S1AP_E_RAB_SETUP_REQ:
-            rrc_eNB_process_S1AP_E_RAB_SETUP_REQ(msg_p, msg_name_p, instance);
-            LOG_D(RRC, "[eNB %d] Received the message %s\n", instance, msg_name_p);
-            break;
-
-          case S1AP_E_RAB_MODIFY_REQ:
-            rrc_eNB_process_S1AP_E_RAB_MODIFY_REQ(msg_p, msg_name_p, instance);
-            break;
-
-          case S1AP_E_RAB_RELEASE_COMMAND:
-            rrc_eNB_process_S1AP_E_RAB_RELEASE_COMMAND(msg_p, msg_name_p, instance);
-            break;
-
-          case S1AP_UE_CONTEXT_RELEASE_REQ:
-            rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_REQ(msg_p, msg_name_p, instance);
-            break;
-
-          case S1AP_UE_CONTEXT_RELEASE_COMMAND:
-            rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND(msg_p, msg_name_p, instance);
-            break;
-
-          case GTPV1U_ENB_DELETE_TUNNEL_RESP:
-            ///Nothing to do. Apparently everything is done in S1AP processing
-            //LOG_I(RRC, "[eNB %d] Received message %s, not processed because procedure not synched\n",
-            //instance, msg_name_p);
-            AssertFatal(false, "Removed double mechanism for same feature: now delete_tunnel() function should be called\n");
-            break;
-
-      #endif
-      */
       /* Messages from gNB app */
       case NRRRC_CONFIGURATION_REQ:
         LOG_I(NR_RRC, "[gNB %ld] Received %s : %p\n", instance, msg_name_p,&NRRRC_CONFIGURATION_REQ(msg_p));
diff --git a/openair2/RRC/NR_UE/rrc_list.h b/openair2/RRC/NR_UE/rrc_list.h
index 32a452e4a22..20a0adad566 100644
--- a/openair2/RRC/NR_UE/rrc_list.h
+++ b/openair2/RRC/NR_UE/rrc_list.h
@@ -111,4 +111,4 @@
 #define RRC_LIST_ENTRY(list, i)         \
         list.entries[i]
 
-#endif
\ No newline at end of file
+#endif
diff --git a/openair2/SIMULATION/NR_RRC/itti_sim.c b/openair2/SIMULATION/NR_RRC/itti_sim.c
index 0cd022217db..67a03d8b067 100644
--- a/openair2/SIMULATION/NR_RRC/itti_sim.c
+++ b/openair2/SIMULATION/NR_RRC/itti_sim.c
@@ -60,10 +60,6 @@ unsigned short config_frames[4] = {2,9,11,13};
 #include "common/utils/LOG/vcd_signal_dumper.h"
 #include "UTIL/OPT/opt.h"
 
-#ifndef OPENAIR2
-  #include "UTIL/OTG/otg_vars.h"
-#endif
-
 #include "intertask_interface.h"
 
 
diff --git a/openair2/UTIL/OMG/makefile_old b/openair2/UTIL/OMG/makefile_old
deleted file mode 100644
index 7bc551cb03c..00000000000
--- a/openair2/UTIL/OMG/makefile_old
+++ /dev/null
@@ -1,123 +0,0 @@
-include $(OPENAIR_TARGETS)/Makefile.common
-ifdef TEST_OMG
-
-CC= gcc
-
-OBJstatic = OMG.c common.c static.c
-OBJrwp = OMG.c common.c job.c rwp.c
-OBJrwalk = OMG.c common.c job.c rwalk.c
-OBJtrace = OMG.c common.c job.c trace.c mobility_parser.c hashtable.c
-OBJsumo = OMG.c common.c sumo.c client_traci_OMG.c socket_traci_OMG.c storage_traci_OMG.c id_manager.c
-
-OBJ = OMG.c common.c static.c job.c rwp.c rwalk.c trace.c sumo.c mobility_parser.c hashtable.c client_traci_OMG.c socket_traci_OMG.c storage_traci_OMG.c id_manager.c
-
-CFLAGS += -m32 -DTEST_OMG
-
-.PHONY: help staticOMG rwpOMG clean
-
-help:
-	@echo '  "make staticOMG" to compile the STATIC version'
-	@echo '  "make rwpOMG" to compile the RWP version'
-	@echo '  "make rwalkOMG" to compile the RWALK version'
-	@echo '  "make traceOMG" to compile the TRACE version'
-	@echo '  "make sumoOMG" to compile the SUMO version'
-	@echo '  "make clean" to remove the generated files and restore the original distribution'
-	@echo '  "make OMG" to compile the complete version'
-
-
-staticOMG:	${OBJstatic} 
-	${CC} ${OBJstatic} -o staticOMG $(CFLAGS)
-
-	
-rwpOMG:	${OBJrwp} 
-	${CC} ${OBJrwp} -lm -o rwpOMG $(CFLAGS)
-	@#-lm: used to link to math lib
-	 
-traceOMG:${OBJtrace} 
-	${CC} ${OBJtrace} -lm -o traceOMG $(CFLAGS)
-
-rwalkOMG:	${OBJrwalk} 
-	${CC} ${OBJrwalk} -lm -o rwalkOMG $(CFLAGS)
-
-sumoOMG:	${OBJsumo} 
-	${CC} ${OBJsumo} -lm -o rwalkOMG $(CFLAGS)
-
-OMG:	${OBJ} 
-	${CC} ${OBJ} -lm -o OMG $(CFLAGS)
-
-clean:
-	@echo "Cleaning"
-	@rm OMG
-	@#rm rwpOMG
-	@#rm rwalkOMG
-	@#rm traceOMG
-	@#rm staticOMG
-        @#rm OMG
-	
-else
-
-TOP_DIR      = ../..
-OPENAIR1_TOP = ../..
-OPENAIR2_TOP = ../../../openair2
-OPENAIR3_TOP = ../../../openair3
-OPENAIR3     = $(OPENAIR3_DIR)
-
-CFLAGS += -DPHYSIM -DNODE_RG -DNB_ANTENNAS_RX=2 -DNB_ANTENNAS_TX=2 -DMAX_MODULES=1 -I/usr/include/X11 #-Wno-packed-bitfield-compat
-
-
-CFLAGS += -DOPENAIR_LTE -DOPENAIR2 #-DOFDMA_ULSCH -DIFFT_FPGA -DIFFT_FPGA_UE 
-
-#CFLAGS += -DXFORMS
-
-ifdef DEBUG_PHY
-CFLAGS += -DDEBUG_PHY
-endif
-
-ifdef PDCP_USE_NETLINK
-CFLAGS += -DPDCP_USE_NETLINK -DLINUX -DDEBUG_CONTROL
-endif
-
-include $(OPENAIR1_DIR)/PHY/Makefile.inc
-include $(OPENAIR1_DIR)/SCHED/Makefile.inc
-include $(OPENAIR2_DIR)/LAYER2/Makefile.inc
-include $(OPENAIR1_DIR)/SIMULATION/ETH_TRANSPORT/Makefile.inc
-
-SIMULATION_OBJS  = $(TOP_DIR)/SIMULATION/TOOLS/gauss.o  
-SIMULATION_OBJS += $(TOP_DIR)/SIMULATION/TOOLS/random_channel.o  
-SIMULATION_OBJS += $(TOP_DIR)/SIMULATION/TOOLS/rangen_double.o  
-SIMULATION_OBJS += $(TOP_DIR)/SIMULATION/TOOLS/taus.o  
-SIMULATION_OBJS += $(TOP_DIR)/SIMULATION/TOOLS/multipath_channel.o
-SIMULATION_OBJS += $(TOP_DIR)/SIMULATION/RF/rf.o
-SIMULATION_OBJS += $(TOP_DIR)/SIMULATION/RF/adc.o
-SIMULATION_OBJS += $(TOP_DIR)/SIMULATION/RF/dac.o
-
-OBJ = $(PHY_OBJS) $(SIMULATION_OBJS) $(ETHERNET_TRANSPORT_OBJS) $(TOOLS_OBJS) $(SCHED_OBJS) $(STATS_OBJS)
-
-all: physim
-
-
-$(OBJ) : %.o : %.c
-	$(CC) -c $(CFLAGS) $(EXTRA_CFLAGS) -DPHY_CONTEXT=1 -I$(TOP_DIR) $(L2_incl) -o $@ $<
-
-$(L2_OBJS) : %.o : %.c
-	$(CC) -c $(CFLAGS) $(EXTRA_CFLAGS) -DMAC_CONTEXT=1 -DPHY_CONTEXT=1 -I$(TOP_DIR) $(L2_incl) -o $@ $<
-
-physim : $(OBJ) $(L2_OBJS) OMG.c common.c static.c job.c rwp.c rwalk.c hashtable.c mobility_parser.c trace.c -I$(TOP_DIR) $(L2_incl) -o physim $(CFLAGS) $(EXTRA_CFLAGS) $(OBJ) $(L2_OBJS) -lm -lforms -L/usr/local/lib -lforms -lX11 -L/usr/X11R6/lib -lXpm -lblas -lpthread
-
-clean:
-	rm -f physim
-	rm -f $(OBJ)
-	rm -f $(L2_OBJS)
-	rm -f *.o
-	rm -f *.exe*
-
-cleanl1:
-	rm -f physim
-	rm -f $(OBJ)
-	rm -f *.o
-	rm -f *.exe
-cleanl2:
-	rm -f $(L2_OBJS)
-
-endif
-
diff --git a/openair2/UTIL/OTG/otg_kpi.c b/openair2/UTIL/OTG/otg_kpi.c
index ac2fff89fe4..c55aecf2390 100644
--- a/openair2/UTIL/OTG/otg_kpi.c
+++ b/openair2/UTIL/OTG/otg_kpi.c
@@ -37,8 +37,8 @@ unsigned int start_log_GP=0;
 unsigned int start_log_GP_bg=0;
 unsigned int start_log_jitter=0;
 
-#include"otg_kpi.h"
-#include"otg_externs.h"
+#include "otg_kpi.h"
+#include "otg_externs.h"
 
 extern unsigned char NB_eNB_INST;
 extern uint16_t NB_UE_INST;
diff --git a/openair2/UTIL/OTG/otg_rx_socket.h b/openair2/UTIL/OTG/otg_rx_socket.h
index e7062aaf58c..b0c6d1b3646 100644
--- a/openair2/UTIL/OTG/otg_rx_socket.h
+++ b/openair2/UTIL/OTG/otg_rx_socket.h
@@ -32,7 +32,7 @@
 #ifndef __OTG_RX_SOCKET_H__
 #define __OTG_RX_SOCKET_H__
 
-#include"otg.h"
+#include "otg.h"
 
 
 //-----------------------begin func proto-------------------
diff --git a/openair2/UTIL/OTG/otg_tx_socket.c b/openair2/UTIL/OTG/otg_tx_socket.c
index 073b9b6ddd8..070e44f3615 100644
--- a/openair2/UTIL/OTG/otg_tx_socket.c
+++ b/openair2/UTIL/OTG/otg_tx_socket.c
@@ -30,7 +30,7 @@
 * \warning
 */
 
-#include"otg_tx_socket.h"
+#include "otg_tx_socket.h"
 #include "otg_vars.h"
 
 
diff --git a/openair2/UTIL/OTG/otg_tx_socket.h b/openair2/UTIL/OTG/otg_tx_socket.h
index 17568244fa7..1d2345c2424 100644
--- a/openair2/UTIL/OTG/otg_tx_socket.h
+++ b/openair2/UTIL/OTG/otg_tx_socket.h
@@ -37,8 +37,8 @@
 #include <unistd.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include"otg.h"
-#include"otg_tx.h"
+#include "otg.h"
+#include "otg_tx.h"
 
 
 //-----------------------begin func proto-------------------
diff --git a/openair3/GTPV1-U/gtpv1u_eNB_defs.h b/openair3/GTPV1-U/gtpv1u_eNB_defs.h
index 79d9a1dcdd5..fb317e4ca6f 100644
--- a/openair3/GTPV1-U/gtpv1u_eNB_defs.h
+++ b/openair3/GTPV1-U/gtpv1u_eNB_defs.h
@@ -111,14 +111,6 @@ typedef struct gtpv1u_data_s {
   uint16_t              seq_num;
   uint8_t               restart_counter;
 
-#ifdef GTPU_IN_KERNEL
-  char                 *interface_name;
-  int                   interface_index;
-
-  struct iovec         *malloc_ring;
-  void                 *sock_mmap_ring[16];
-  int                   sock_desc[16]; // indexed by marking
-#endif
 } gtpv1u_data_t;
 
 int
diff --git a/openair3/GTPV1-U/gtpv1u_gNB_defs.h b/openair3/GTPV1-U/gtpv1u_gNB_defs.h
index ddc8b4445e0..d4356aa3cf6 100644
--- a/openair3/GTPV1-U/gtpv1u_gNB_defs.h
+++ b/openair3/GTPV1-U/gtpv1u_gNB_defs.h
@@ -102,14 +102,6 @@ typedef struct nr_gtpv1u_data_s {
   uint16_t              seq_num;
   uint8_t               restart_counter;
 
-#ifdef GTPU_IN_KERNEL
-  char                 *interface_name;
-  int                   interface_index;
-
-  struct iovec         *malloc_ring;
-  void                 *sock_mmap_ring[16];
-  int                   sock_desc[16]; // indexed by marking
-#endif
 } nr_gtpv1u_data_t;
 
 
diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h
index 7b934822ea2..0c71a9999a4 100644
--- a/targets/ARCH/COMMON/common_lib.h
+++ b/targets/ARCH/COMMON/common_lib.h
@@ -57,9 +57,7 @@
 #define RAU_REMOTE_THIRDPARTY_RADIO_HEAD 2
 #define MAX_WRITE_THREAD_PACKAGE     10
 #define MAX_WRITE_THREAD_BUFFER_SIZE 8
-#ifndef MAX_CARDS
-  #define MAX_CARDS 8
-#endif
+#define MAX_CARDS 8
 
 typedef int64_t openair0_timestamp;
 typedef volatile int64_t openair0_vtimestamp;
diff --git a/targets/COMMON/create_tasks.c b/targets/COMMON/create_tasks.c
index 3e0d97f60a0..ffeb368e737 100644
--- a/targets/COMMON/create_tasks.c
+++ b/targets/COMMON/create_tasks.c
@@ -25,7 +25,6 @@
 # include "targets/RT/USER/lte-softmodem.h"
 # include "common/ran_context.h"
 
-#ifdef OPENAIR2
   #include "sctp_eNB_task.h"
   #include "x2ap_eNB.h"
   #include "s1ap_eNB.h"
@@ -36,7 +35,6 @@
     #include "lteRALenb.h"
   #endif
   #include "RRC/LTE/rrc_defs.h"
-#endif
 # include "f1ap_cu_task.h"
 # include "f1ap_du_task.h"
 # include "enb_app.h"
diff --git a/targets/COMMON/create_tasks_mbms.c b/targets/COMMON/create_tasks_mbms.c
index 579e851ea70..8b1736853f2 100644
--- a/targets/COMMON/create_tasks_mbms.c
+++ b/targets/COMMON/create_tasks_mbms.c
@@ -25,7 +25,6 @@
 # include "targets/RT/USER/lte-softmodem.h"
 # include "common/ran_context.h"
 
-#ifdef OPENAIR2
     #include "sctp_eNB_task.h"
     #include "x2ap_eNB.h"
     #include "s1ap_eNB.h"
@@ -40,7 +39,6 @@
     #include "lteRALenb.h"
   #endif
   #include "RRC/LTE/rrc_defs.h"
-#endif
 # include "f1ap_cu_task.h"
 # include "f1ap_du_task.h"
 # include "enb_app.h"
diff --git a/targets/COMMON/create_tasks_ue.c b/targets/COMMON/create_tasks_ue.c
index 06f36641e73..3b9b7cf7bb3 100644
--- a/targets/COMMON/create_tasks_ue.c
+++ b/targets/COMMON/create_tasks_ue.c
@@ -23,7 +23,6 @@
 # include "create_tasks.h"
 # include "common/utils/LOG/log.h"
 
-#ifdef OPENAIR2
   #include "sctp_eNB_task.h"
   #include "s1ap_eNB.h"
   #include "openair3/NAS/UE/nas_ue_task.h"
@@ -34,7 +33,6 @@
     #include "lteRALenb.h"
   #endif
   #include "RRC/LTE/rrc_defs.h"
-#endif
 # include "enb_app.h"
 
 int create_tasks_ue(uint32_t ue_nb) {
diff --git a/targets/Makefile.common b/targets/Makefile.common
deleted file mode 100644
index ecd5f3821a8..00000000000
--- a/targets/Makefile.common
+++ /dev/null
@@ -1,248 +0,0 @@
-# This file gathers compilation directive shared between lte-softmodem and oaisim
-export COMMON_UTILS_DIR    = $(OPENAIR_DIR)/common/utils
-export UE_NAS_DIR          = $(OPENAIR_DIR)/openair3/NAS
-export S1AP_DIR            = $(OPENAIR_DIR)/openair3/S1AP
-export X2AP_DIR            = $(OPENAIR_DIR)/openair2/X2AP
-export SCTP_DIR            = $(OPENAIR_DIR)/openair3/SCTP
-export UDP_DIR             = $(OPENAIR_DIR)/openair3/UDP
-export GTPV1U_DIR          = $(OPENAIR_DIR)/openair3/GTPV1-U
-export SECU_DIR            = $(OPENAIR_DIR)/openair3/SECU
-
-UE_NAS_OBJ_DIR      = $(subst $(OPENAIR_DIR),$(OBJS_DIR),$(UE_NAS_DIR))
-SECU_OBJ_DIR        = $(subst $(OPENAIR_DIR),$(OBJS_DIR),$(SECU_DIR))
-S1AP_OBJ_DIR        = $(subst $(OPENAIR_DIR),$(OBJS_DIR),$(S1AP_DIR))
-X2AP_OBJ_DIR        = $(subst $(OPENAIR_DIR),$(OBJS_DIR),$(X2AP_DIR))
-SCTP_OBJ_DIR        = $(subst $(OPENAIR_DIR),$(OBJS_DIR),$(SCTP_DIR))
-UDP_OBJ_DIR         = $(subst $(OPENAIR_DIR),$(OBJS_DIR),$(UDP_DIR))
-GTPV1U_OBJ_DIR      = $(subst $(OPENAIR_DIR),$(OBJS_DIR),$(GTPV1U_DIR))
-
-#Export common cflags (between softmodem and oaisim)
-COMMON_CFLAGS		= \
-	-D'FIRMWARE_VERSION="$(SVN_REV) - $(DATE_REV)"' \
-	-Wall                       \
-	-fno-strict-aliasing        \
-	-O2                         \
-	-Werror=implicit-function-declaration
-
-# the code already uses C99 integer type (like int32_t)
-# switch on full support for C99 + GNU extensions
-CFLAGS += -std=gnu99
-
-ITTI_MESSAGES_H		= messages_xml.h
-ITTI_MESSAGES_XML	= messages.xml
-ITTI_MESSAGES_FILE	= $(ITTI_DIR)/intertask_interface_types.h
-
-include $(COMMON_UTILS_DIR)/Makefile.inc
-include $(OPENAIR_TARGETS)/COMMON/Makefile.inc
-include $(OPENAIR2_DIR)/NAS/Makefile.inc
-
-ifeq ($(SECU), 1)	
-ifeq ($(NETTLE_FOUND), 0)
-@(warning "Nettle library >= 2.5 is not installed on your system, nettle-dev lib needed, continuing with security disabled")
-SECU=0
-else
-ifeq ($(OPENSSL_FOUND), 0)
-@(warning "openssl library is not installed on your system, openssl lib needed, continuing with security disabled")
-SECU=0
-else
-LIBS += $(OPENSSL_LIBS) $(NETTLE_LIBS)
-endif
-endif
-endif
-
-CFLAGS += -DJUMBO_FRAME
-
-ifdef MAX_NUM_CCs
-CFLAGS           += -DMAX_NUM_CCs=$(MAX_NUM_CCs)
-COMMON_CFLAGS    += -DMAX_NUM_CCs=$(MAX_NUM_CCs)
-else
-CFLAGS           += -DMAX_NUM_CCs=1
-COMMON_CFLAGS    += -DMAX_NUM_CCs=1
-endif
-
-ifeq ($(ENABLE_RAL), 1)
-CFLAGS += -DENABLE_RAL
-endif
-
-ifeq ($(PDCP_USE_NETLINK),1)  
-CFLAGS += -DPDCP_USE_NETLINK
-endif
-ifeq ($(LIBCONFIG_LONG),1)	
-CFLAGS += -DLIBCONFIG_LONG
-endif
-
-# add R9
-ifeq ($(USE_MME), R10)	
-COMMON_CFLAGS		+= -DENABLE_USE_MME
-ENABLE_ITTI = 1
-ifeq ($(LINK_ENB_PDCP_TO_GTPV1U), 1)	
-    COMMON_CFLAGS       += -DLINK_ENB_PDCP_TO_GTPV1U
-# COMMON_CFLAGS       += -I$(UDP_DIR)
-# COMMON_CFLAGS       += -I$(GTPV1U_DIR)
-# COMMON_CFLAGS       += -I$(GTPV1U_DIR)/nw-gtpv1u/shared
-endif
-endif
-
-ifeq ($(ENABLE_ITTI),1)
-COMMON_CFLAGS		+= -DENABLE_ITTI
-COMMON_CFLAGS		+= -I$(OPENAIR1_DIR)
-COMMON_CFLAGS		+= -I$(OPENAIR2_DIR)/NAS
-COMMON_CFLAGS 	 	+= $(L2_incl)
-COMMON_CFLAGS		+= $(UTILS_incl)
-SHARED_DEPENDENCIES += $(ITTI_MESSAGES_H)
-endif
-
-ifeq ($(USE_MME), R10)	
-LIBS			+= $(UE_NAS_OBJ_DIR)/libuenas.a $(SECU_OBJ_DIR)/libsecu.a 
-LIBS			+= $(S1AP_OBJ_DIR)/libs1ap.a $(SCTP_OBJ_DIR)/libsctp.a -lsctp -lcrypt
-LIBS			+= $(UDP_OBJ_DIR)/libudp.a $(GTPV1U_OBJ_DIR)/libgtpv1u.a 
-
-ifdef X2AP
-LIBS			+= $(X2AP_OBJ_DIR)/libx2ap.a
-SHARED_DEPENDENCIES	+= $(UE_NAS_OBJ_DIR)/libuenas.a $(SECU_OBJ_DIR)/libsecu.a $(X2AP_OBJ_DIR)/libx2ap.a $(S1AP_OBJ_DIR)/libs1ap.a $(SCTP_OBJ_DIR)/libsctp.a  $(UDP_OBJ_DIR)/libudp.a $(GTPV1U_OBJ_DIR)/libgtpv1u.a
-else 
-SHARED_DEPENDENCIES	+= $(UE_NAS_OBJ_DIR)/libuenas.a $(SECU_OBJ_DIR)/libsecu.a $(S1AP_OBJ_DIR)/libs1ap.a $(SCTP_OBJ_DIR)/libsctp.a  $(UDP_OBJ_DIR)/libudp.a $(GTPV1U_OBJ_DIR)/libgtpv1u.a
-endif 
-
-COMMON_CFLAGS		+= -DLOG_NO_THREAD 
-#-DEMIT_ASN_DEBUG
-
-openair_cn_available := $(shell if [ -d "$(UE_NAS_DIR)" ]; then echo "0" ; else  echo "1" ; fi )
-ifeq 	($(openair_cn_available), 0)
-COMMON_CFLAGS		+= -DENABLE_NAS_UE_LOGGING
-COMMON_CFLAGS		+= -I$(OPENAIR_DIR)/openair3/NAS/EURECOM-NAS/src/api/network
-COMMON_CFLAGS		+= -I$(OPENAIR_DIR)/openair3/NAS/EURECOM-NAS/src/include
-COMMON_CFLAGS		+= -I$(OPENAIR_DIR)/openair3/NAS/EURECOM-NAS/src/ies
-COMMON_CFLAGS		+= -I$(OPENAIR_DIR)/openair3/NAS/EURECOM-NAS/src/emm/msg
-COMMON_CFLAGS		+= -I$(OPENAIR_DIR)/openair3/NAS/EURECOM-NAS/src/esm/msg
-COMMON_CFLAGS		+= -I$(OPENAIR_DIR)/openair3/NAS/EURECOM-NAS/src/util
-endif
-
-UENAS_CFLAGS		= $(COMMON_CFLAGS)
-UENAS_CFLAGS		+= -I$(SECU_DIR)
-export UENAS_CFLAGS
-
-SECU_CFLAGS			= $(COMMON_CFLAGS)
-SECU_CFLAGS			+= -I$(OPENAIR_DIR)/openair3/COMMON
-SECU_CFLAGS			+= -I$(OPENAIR_DIR)/openair3/UTILS
-SECU_CFLAGS			+= -I$(SECU_DIR)
-export SECU_CFLAGS
-
-COMMON_MME_CFLAGS	 = -I$(SECU_DIR)
-COMMON_MME_CFLAGS       += -I$(SCTP_DIR)
-COMMON_MME_CFLAGS	+= -I$(X2AP_DIR) 
-COMMON_MME_CFLAGS	+= -I$(S1AP_DIR)
-COMMON_MME_CFLAGS	+= -I$(UDP_DIR)
-COMMON_MME_CFLAGS	+= -I$(GTPV1U_DIR)
-
-S1AP_CFLAGS          = $(COMMON_CFLAGS) $(COMMON_MME_CFLAGS)
-S1AP_CFLAGS         += -DENB_MODE
-S1AP_CFLAGS         += -I$(TOP_DIR)
-S1AP_CFLAGS         += $(UTIL_incl)
-export S1AP_CFLAGS
-
-X2AP_CFLAGS          = $(COMMON_CFLAGS) 
-X2AP_CFLAGS         += -DENB_MODE
-X2AP_CFLAGS         += -I$(TOP_DIR)
-X2AP_CFLAGS         += $(UTIL_incl)
-export X2AP_CFLAGS
-
-UDP_CFLAGS	 		 = $(COMMON_CFLAGS) $(COMMON_MME_CFLAGS)
-UDP_CFLAGS	 		+= -DENB_MODE
-UDP_CFLAGS	 		+= -I$(TOP_DIR)
-UDP_CFLAGS	 		+= $(UTIL_incl)
-UDP_CFLAGS	 		+= -I$(OPENAIR_DIR)/openair2/ENB_APP
-export UDP_CFLAGS
-
-GTPV1U_CFLAGS            = $(COMMON_CFLAGS) $(COMMON_MME_CFLAGS)
-GTPV1U_CFLAGS           += -DENB_MODE
-GTPV1U_CFLAGS           += -I$(TOP_DIR)
-GTPV1U_CFLAGS           += -I$(GTPV1U_DIR)/nw-gtpv1u/include
-GTPV1U_CFLAGS           += -I$(GTPV1U_DIR)/nw-gtpv1u/shared
-GTPV1U_CFLAGS           += -I$(OPENAIR_DIR)/openair2/ENB_APP
-GTPV1U_CFLAGS           += $(UTIL_incl) -I$(OPENAIR3_DIR)/UTILS
-export GTPV1U_CFLAGS
-
-GTPV1U_ENB_CFLAGS            = $(COMMON_CFLAGS)
-GTPV1U_ENB_CFLAGS           +=  $(OPENAIR_DIR)/openair2/COMMON
-GTPV1U_ENB_CFLAGS           += -I$(X2AP_DIR)
-GTPV1U_ENB_CFLAGS           += -I$(S1AP_DIR)
-GTPV1U_ENB_CFLAGS           += -I$(UDP_DIR)
-GTPV1U_ENB_CFLAGS           += -I$(GTPV1U_DIR)
-GTPV1U_ENB_CFLAGS           += -DENB_MODE
-GTPV1U_ENB_CFLAGS           += -I$(TOP_DIR)
-GTPV1U_ENB_CFLAGS           += -I$(GTPV1U_DIR)/nw-gtpv1u/include
-GTPV1U_ENB_CFLAGS           += -I$(GTPV1U_DIR)/nw-gtpv1u/shared
-GTPV1U_ENB_CFLAGS           += -I$(OPENAIR_DIR)/openair2/ENB_APP
-GTPV1U_ENB_CFLAGS           += $(UTIL_incl) -I$(OPENAIR3_DIR)/UTILS
-export GTPV1U_ENB_CFLAGS
-
-
-$(UE_NAS_OBJ_DIR)/libuenas.a: force_look
-	@$(MAKE) -C $(UE_NAS_DIR) -f Makefile.UE $(UE_NAS_OBJ_DIR)/libuenas.a OUTDIR=$(UE_NAS_OBJ_DIR)
-$(SECU_OBJ_DIR)/libsecu.a: force_look
-	@$(MAKE) -C $(SECU_DIR) -f Makefile.eNB $(SECU_OBJ_DIR)/libsecu.a OUTDIR=$(SECU_OBJ_DIR)
-$(X2AP_OBJ_DIR)/libx2ap.a: force_look
-	@$(MAKE) -C $(X2AP_DIR) -f Makefile.inc $(X2AP_OBJ_DIR)/libx2ap.a OUTDIR=$(X2AP_OBJ_DIR)
-$(S1AP_OBJ_DIR)/libs1ap.a: force_look
-	@$(MAKE) -C $(S1AP_DIR) -f Makefile.eNB $(S1AP_OBJ_DIR)/libs1ap.a OUTDIR=$(S1AP_OBJ_DIR)
-$(SCTP_OBJ_DIR)/libsctp.a: force_look
-	@$(MAKE) -C $(SCTP_DIR) -f Makefile.eNB $(SCTP_OBJ_DIR)/libsctp.a OUTDIR=$(SCTP_OBJ_DIR)
-$(UDP_OBJ_DIR)/libudp.a: force_look
-	@$(MAKE) -C $(UDP_DIR) -f Makefile.eNB $(UDP_OBJ_DIR)/libudp.a OUTDIR=$(UDP_OBJ_DIR)
-$(GTPV1U_OBJ_DIR)/libgtpv1u.a: force_look
-	@$(MAKE) -C $(GTPV1U_DIR) -f Makefile.eNB $(GTPV1U_OBJ_DIR)/libgtpv1u.a OUTDIR=$(GTPV1U_OBJ_DIR)
-
-OBJ = $(NAS_UE_OBJS) $(SECU_OBJS)
-endif
-
-export COMMON_CFLAGS
-
-ifeq ($(ENABLE_ITTI),1)	
-CFLAGS += $(COMMON_CFLAGS) $(COMMON_MME_CFLAGS) $(TARGETS_COMMON_incl)
-OBJ += $(TARGETS_COMMON_OBJS)
-
-gccxml_available = $(shell if [ `gccxml --version | grep GCC-XML -c` = "0" ]; then  echo "0" ; else  echo "1" ; fi )
-ifeq 	($(gccxml_available), 0)
-$(error gccxml is missing, please install)
-endif
-CFLAGS += -I$(OPENAIR2_DIR)/COMMON -DENABLE_ITTI $(UTILS_incl)
-endif
-
-$(ITTI_MESSAGES_XML): $(ITTI_MESSAGES_FILE)
-	@echo "Generating messages.xml ..."
-	@gccxml $(COMMON_CFLAGS) $< -fxml=$@ -I$(ITTI_DIR)
-	@$(CC) -MM $(COMMON_CFLAGS) $< > $(basename $@).d
-	@mv -f $(basename $@).d $(basename $@).d.tmp
-	@sed -e 's|.*:|$@:|' < $(basename $@).d.tmp > $(basename $@).d
-	@sed -e 's/.*://' -e 's/\\$$//' < $(basename $@).d.tmp | fmt -1 | \
-	sed -e 's/^ *//' -e 's/$$/:/' >> $(basename $@).d
-	@rm -f $(basename $@).d.tmp
-
-$(ITTI_MESSAGES_H): $(ITTI_MESSAGES_XML)
-	@echo "Generating messages_xml.h ..."
-	@sed -e 's/[ ]*//' -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' $< > $@
-
-force_look:
-	@true
-
-common-clean:
-	@$(RM_F_V) $(ITTI_MESSAGES_H) $(ITTI_MESSAGES_XML) $(ITTI_MESSAGES_XML:.xml=.d)
-	@$(MAKE) -C $(LFDS_DIR) -f makefile.linux clean OUTDIR=$(LFDS_OBJ_DIR)
-	@if [ -d $(UE_NAS_OBJ_DIR) ]; then $(MAKE) -C $(UE_NAS_DIR) -f Makefile.UE clean OUTDIR=$(UE_NAS_OBJ_DIR); fi
-	@if [ -d $(SECU_OBJ_DIR) ]; then $(MAKE) -C $(SECU_DIR) -f Makefile.eNB clean OUTDIR=$(SECU_OBJ_DIR); fi
-	@if [ -d $(X2AP_OBJ_DIR) ]; then $(MAKE) -C $(X2AP_DIR) -f Makefile.inc clean OUTDIR=$(X2AP_OBJ_DIR); fi
-	@if [ -d $(S1AP_OBJ_DIR) ]; then $(MAKE) -C $(S1AP_DIR) -f Makefile.eNB clean OUTDIR=$(S1AP_OBJ_DIR); fi
-	@if [ -d $(SCTP_OBJ_DIR) ]; then $(MAKE) -C $(SCTP_DIR) -f Makefile.eNB clean OUTDIR=$(SCTP_OBJ_DIR); fi
-	@if [ -d $(UDP_OBJ_DIR) ]; then $(MAKE) -C $(UDP_DIR) -f Makefile.eNB clean OUTDIR=$(UDP_OBJ_DIR); fi
-	@if [ -d $(GTPV1U_OBJ_DIR) ]; then $(MAKE) -C $(GTPV1U_DIR) -f Makefile.eNB clean OUTDIR=$(GTPV1U_OBJ_DIR); fi
-
-common-cleanall:
-	@if [ -d $(UE_NAS_OBJ_DIR) ]; then $(MAKE) -C $(UE_NAS_DIR) -f Makefile.UE cleanall OUTDIR=$(UE_NAS_OBJ_DIR); fi
-	@if [ -d $(SECU_OBJ_DIR) ]; then $(MAKE) -C $(SECU_DIR) -f Makefile.eNB cleanall OUTDIR=$(SECU_OBJ_DIR); fi
-	@if [ -d $(X2AP_OBJ_DIR) ]; then $(MAKE) -C $(X2AP_DIR) -f Makefile.inc cleanall OUTDIR=$(X2AP_OBJ_DIR); fi
-	@if [ -d $(S1AP_OBJ_DIR) ]; then $(MAKE) -C $(S1AP_DIR) -f Makefile.eNB cleanall OUTDIR=$(S1AP_OBJ_DIR); fi
-	@if [ -d $(SCTP_OBJ_DIR) ]; then $(MAKE) -C $(SCTP_DIR) -f Makefile.eNB cleanall OUTDIR=$(SCTP_OBJ_DIR); fi
-	@if [ -d $(UDP_OBJ_DIR) ]; then $(MAKE) -C $(UDP_DIR) -f Makefile.eNB cleanall OUTDIR=$(UDP_OBJ_DIR); fi
-	@if [ -d $(GTPV1U_OBJ_DIR) ]; then $(MAKE) -C $(GTPV1U_DIR) -f Makefile.eNB cleanall OUTDIR=$(GTPV1U_OBJ_DIR); fi
-	
diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c
index 31c142c8dae..632a47707b4 100644
--- a/targets/RT/USER/lte-enb.c
+++ b/targets/RT/USER/lte-enb.c
@@ -88,10 +88,6 @@
 #include "enb_config.h"
 #include "targets/RT/USER/lte-softmodem.h"
 
-#ifndef OPENAIR2
-  #include "UTIL/OTG/otg_extern.h"
-#endif
-
 #include "s1ap_eNB.h"
 #include "SIMULATION/ETH_TRANSPORT/proto.h"
 
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index a67b58d61a9..ed9daf23f68 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -82,10 +82,6 @@ unsigned short config_frames[4] = {2,9,11,13};
 #include "enb_config.h"
 //#include "PHY/TOOLS/time_meas.h"
 
-#ifndef OPENAIR2
-  #include "UTIL/OTG/otg_vars.h"
-#endif
-
 
 #include "create_tasks.h"
 
diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c
index 6e6c2533b4d..1fae6c1e662 100644
--- a/targets/RT/USER/lte-ue.c
+++ b/targets/RT/USER/lte-ue.c
@@ -2067,7 +2067,6 @@ void init_UE_threads_stub(int inst)
 }
 
 
-#ifdef OPENAIR2
 void fill_ue_band_info(void)
 {
   LTE_UE_EUTRA_Capability_t *UE_EUTRA_Capability = UE_rrc_inst[0].UECap->UE_EUTRA_Capability;
@@ -2092,7 +2091,6 @@ void fill_ue_band_info(void)
       }
   }
 }
-#endif
 
 int setup_ue_buffers(PHY_VARS_UE **phy_vars_ue,
                      openair0_config_t *openair0_cfg)
diff --git a/targets/RT/USER/lte-uesoftmodem.c b/targets/RT/USER/lte-uesoftmodem.c
index 25bbef0bc6a..da9b0fdfbac 100644
--- a/targets/RT/USER/lte-uesoftmodem.c
+++ b/targets/RT/USER/lte-uesoftmodem.c
@@ -75,10 +75,6 @@
 #include "common/utils/LOG/vcd_signal_dumper.h"
 #include "UTIL/OPT/opt.h"
 
-#ifndef OPENAIR2
-  #include "UTIL/OTG/otg_vars.h"
-#endif
-
 #include "create_tasks.h"
 #include "system.h"
 
-- 
GitLab