diff --git a/targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp b/targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
index 3133742cd44592ee37ec10dcf4342202024b21a4..7abdf65498acf4c4eff9064481b2961f4ec07fe1 100644
--- a/targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
+++ b/targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
@@ -1,7 +1,8 @@
 
 /** iris_lib.cpp
  *
- * \author: Rahman Doost-Mohammady : doost@rice.edu
+ * \authors: Rahman Doost-Mohammady : doost@rice.edu
+ * 	    Clay Shepard : cws@rice.edu
  */
 
 #include <string.h>
@@ -30,6 +31,7 @@
 #  include <immintrin.h>
 #endif
 
+#define MOVE_DC
 #define SAMPLE_RATE_DOWN 1
 
 /*! \brief Iris Configuration */
@@ -595,7 +597,8 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
     }
 
     for (r = 0; r < s->device_num; r++) {
-        switch ((int) openair0_cfg[0].sample_rate) {
+        //this is unnecessary -- it will set the correct master clock based on sample rate
+        /*switch ((int) openair0_cfg[0].sample_rate) {
             case 1920000:
                 s->iris[r]->setMasterClockRate(256 * openair0_cfg[0].sample_rate);
                 break;
@@ -615,54 +618,34 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
                 printf("Error: unknown sampling rate %f\n", openair0_cfg[0].sample_rate);
                 exit(-1);
                 break;
-        }
-        // display Iris settings
-        printf("Actual master clock: %fMHz...\n", (s->iris[r]->getMasterClockRate() / 1e6));
-
-        /* Setting TX/RX BW after streamers are created due to iris calibration issue */
-        for (i = 0; i < s->tx_num_channels; i++) {
-            if (i < s->iris[r]->getNumChannels(SOAPY_SDR_TX)) {
-                if (s->iris[r]->getHardwareInfo()["frontend"].compare(devFE) != 0)
-                    s->iris[r]->setBandwidth(SOAPY_SDR_TX, i, 30e6);
-                else
-                    s->iris[r]->setBandwidth(SOAPY_SDR_TX, i, openair0_cfg[0].tx_bw);
-
-                printf("Setting tx bandwidth on channel %lu/%lu: BW %f (readback %f)\n", i,
-                       s->iris[r]->getNumChannels(SOAPY_SDR_TX), openair0_cfg[0].tx_bw / 1e6,
-                       s->iris[r]->getBandwidth(SOAPY_SDR_TX, i) / 1e6);
-            }
-        }
-        for (i = 0; i < s->rx_num_channels; i++) {
-            if (i < s->iris[r]->getNumChannels(SOAPY_SDR_RX)) {
-                if (s->iris[r]->getHardwareInfo()["frontend"].compare(devFE) != 0)
-                    s->iris[r]->setBandwidth(SOAPY_SDR_TX, i, 30e6);
-                else
-                    s->iris[r]->setBandwidth(SOAPY_SDR_RX, i, openair0_cfg[0].rx_bw);
-                printf("Setting rx bandwidth on channel %lu/%lu : BW %f (readback %f)\n", i,
-                       s->iris[r]->getNumChannels(SOAPY_SDR_RX), openair0_cfg[0].rx_bw / 1e6,
-                       s->iris[r]->getBandwidth(SOAPY_SDR_RX, i) / 1e6);
-            }
-        }
+        }*/
 
         for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) {
             if (i < s->rx_num_channels) {
                 s->iris[r]->setSampleRate(SOAPY_SDR_RX, i, openair0_cfg[0].sample_rate / SAMPLE_RATE_DOWN);
+#ifdef MOVE_DC
+                printf("Moving DC out of main carrier for rx...\n");
+                s->iris[r]->setFrequency(SOAPY_SDR_RX, i, "RF", openair0_cfg[0].rx_freq[i]-.75*openair0_cfg[0].sample_rate);
+                s->iris[r]->setFrequency(SOAPY_SDR_RX, i, "BB", .75*openair0_cfg[0].sample_rate);
+#else
                 s->iris[r]->setFrequency(SOAPY_SDR_RX, i, "RF", openair0_cfg[0].rx_freq[i]);
+#endif
 
                 set_rx_gain_offset(&openair0_cfg[0], i, bw_gain_adjust);
                 //s->iris[r]->setGain(SOAPY_SDR_RX, i, openair0_cfg[0].rx_gain[i] - openair0_cfg[0].rx_gain_offset[i]);
+                printf("rx gain offset: %f, rx_gain: %f, tx_tgain: %f\n", openair0_cfg[0].rx_gain_offset[i], openair0_cfg[0].rx_gain[i], openair0_cfg[0].tx_gain[i]);
                 if (s->iris[r]->getHardwareInfo()["frontend"].compare(devFE) != 0) {
                     s->iris[r]->setGain(SOAPY_SDR_RX, i, "LNA", openair0_cfg[0].rx_gain[i] - openair0_cfg[0].rx_gain_offset[i]);
                     //s->iris[r]->setGain(SOAPY_SDR_RX, i, "LNA", 0);
                     s->iris[r]->setGain(SOAPY_SDR_RX, i, "LNA1", 30);
                     s->iris[r]->setGain(SOAPY_SDR_RX, i, "LNA2", 17);
-                    s->iris[r]->setGain(SOAPY_SDR_RX, i, "TIA", 0);
-                    s->iris[r]->setGain(SOAPY_SDR_RX, i, "PGA", 0);
+                    s->iris[r]->setGain(SOAPY_SDR_RX, i, "TIA", 7);
+                    s->iris[r]->setGain(SOAPY_SDR_RX, i, "PGA", 18);
                     s->iris[r]->setGain(SOAPY_SDR_RX, i, "ATTN", 0);
                 } else {
                     s->iris[r]->setGain(SOAPY_SDR_RX, i, "LNA", openair0_cfg[0].rx_gain[i] - openair0_cfg[0].rx_gain_offset[i]); //  [0,30]
-                    s->iris[r]->setGain(SOAPY_SDR_RX, i, "TIA", 0);  // [0,12,6]
-                    s->iris[r]->setGain(SOAPY_SDR_RX, i, "PGA", 0);  // [-12,19,1]
+                    s->iris[r]->setGain(SOAPY_SDR_RX, i, "TIA", 7);  // [0,12,6]
+                    s->iris[r]->setGain(SOAPY_SDR_RX, i, "PGA", 18);  // [-12,19,1]
                     //s->iris[r]->setGain(SOAPY_SDR_RX, i, 50);    // [-12,19,1]
 
                 }
@@ -673,22 +656,29 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
         for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) {
             if (i < s->tx_num_channels) {
                 s->iris[r]->setSampleRate(SOAPY_SDR_TX, i, openair0_cfg[0].sample_rate / SAMPLE_RATE_DOWN);
+#ifdef MOVE_DC
+                printf("Moving DC out of main carrier for tx...\n");
+                s->iris[r]->setFrequency(SOAPY_SDR_TX, i, "RF", openair0_cfg[0].tx_freq[i]-.75*openair0_cfg[0].sample_rate);
+                s->iris[r]->setFrequency(SOAPY_SDR_TX, i, "BB", .75*openair0_cfg[0].sample_rate);
+#else
                 s->iris[r]->setFrequency(SOAPY_SDR_TX, i, "RF", openair0_cfg[0].tx_freq[i]);
+#endif
 
                 if (s->iris[r]->getHardwareInfo()["frontend"].compare(devFE) == 0) {
-                    //s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", openair0_cfg[0].tx_gain[i]);
-                    s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", 52);
+                    s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", openair0_cfg[0].tx_gain[i]);
+                    //s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", 50);
                     s->iris[r]->setGain(SOAPY_SDR_TX, i, "IAMP", 12);
                     //s->iris[r]->writeSetting("TX_ENABLE_DELAY", "0");
                     //s->iris[r]->writeSetting("TX_DISABLE_DELAY", "100");
                 } else {
+                    s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", openair0_cfg[0].tx_gain[i]);
                     s->iris[r]->setGain(SOAPY_SDR_TX, i, "ATTN", 0); // [-18, 0, 6] dB
-                    s->iris[r]->setGain(SOAPY_SDR_TX, i, "IAMP", 9); // [-12, 12, 1] dB
-                    s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", 52); //openair0_cfg[0].tx_gain[i]);
+                    s->iris[r]->setGain(SOAPY_SDR_TX, i, "IAMP", 6); // [-12, 12, 1] dB
+                    //s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", 44); //openair0_cfg[0].tx_gain[i]);
                     //s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", 35); // [0, 52, 1] dB
-                    s->iris[r]->setGain(SOAPY_SDR_TX, i, "PA1", 9); // 17 ??? dB
+                    //s->iris[r]->setGain(SOAPY_SDR_TX, i, "PA1", 17); // 17 ??? dB
                     s->iris[r]->setGain(SOAPY_SDR_TX, i, "PA2", 0); // [0, 17, 17] dB
-                    s->iris[r]->setGain(SOAPY_SDR_TX, i, "PA3", 20); // 33 ??? dB
+                    //s->iris[r]->setGain(SOAPY_SDR_TX, i, "PA3", 20); // 33 ??? dB
                     s->iris[r]->writeSetting("TX_ENABLE_DELAY", "0");
                     s->iris[r]->writeSetting("TX_DISABLE_DELAY", "100");
                 }
@@ -702,32 +692,47 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
         }
 
 
-        for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) {
-            if (i < s->rx_num_channels) {
-
-                //if (s->iris[r]->getHardwareInfo()["frontend"].compare(devFE) != 0) {
-                //    printf("\nUsing SKLK calibration...\n");
-                //    s->iris[r]->writeSetting(SOAPY_SDR_RX, i, "CALIBRATE", "SKLK");
-                //} else {
-                //    s->iris[r]->writeSetting(SOAPY_SDR_RX, i, "CALIBRATE", "");
-                //    printf("\nUsing LMS calibration...\n");
+        
+        printf("Actual master clock: %fMHz...\n", (s->iris[r]->getMasterClockRate() / 1e6));
 
-                //}
+        int tx_filt_bw = openair0_cfg[0].tx_bw;
+        int rx_filt_bw = openair0_cfg[0].rx_bw;
+#ifdef MOVE_DC  //the filter is centered around the carrier, so we have to expand it if we have moved the DC tone.
+        tx_filt_bw *= 3; 
+        rx_filt_bw *= 3; 
+#endif
+        /* Setting TX/RX BW */
+        for (i = 0; i < s->tx_num_channels; i++) {
+            if (i < s->iris[r]->getNumChannels(SOAPY_SDR_TX)) {
+                s->iris[r]->setBandwidth(SOAPY_SDR_TX, i, tx_filt_bw);
+                printf("Setting tx bandwidth on channel %lu/%lu: BW %f (readback %f)\n", i,
+                       s->iris[r]->getNumChannels(SOAPY_SDR_TX), tx_filt_bw / 1e6,
+                       s->iris[r]->getBandwidth(SOAPY_SDR_TX, i) / 1e6);
+            }
+        }
+        for (i = 0; i < s->rx_num_channels; i++) {
+            if (i < s->iris[r]->getNumChannels(SOAPY_SDR_RX)) {
+                s->iris[r]->setBandwidth(SOAPY_SDR_RX, i, rx_filt_bw);
+                printf("Setting rx bandwidth on channel %lu/%lu : BW %f (readback %f)\n", i,
+                       s->iris[r]->getNumChannels(SOAPY_SDR_RX), rx_filt_bw / 1e6,
+                       s->iris[r]->getBandwidth(SOAPY_SDR_RX, i) / 1e6);
             }
-
         }
 
         for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) {
             if (i < s->tx_num_channels) {
+                printf("\nUsing SKLK calibration...\n");
+                s->iris[r]->writeSetting(SOAPY_SDR_TX, i, "CALIBRATE", "SKLK");
 
-                if (s->iris[r]->getHardwareInfo()["frontend"].compare(devFE) != 0) {
-                    printf("\nUsing SKLK calibration...\n");
-                    s->iris[r]->writeSetting(SOAPY_SDR_TX, i, "CALIBRATE", "SKLK");
+            }
+
+        }
+
+        for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) {
+            if (i < s->rx_num_channels) {
+                printf("\nUsing SKLK calibration...\n");
+                s->iris[r]->writeSetting(SOAPY_SDR_RX, i, "CALIBRATE", "SKLK");
 
-                } else {
-                    printf("\nUsing LMS calibration...\n");
-                    s->iris[r]->writeSetting(SOAPY_SDR_TX, i, "CALIBRATE", "");
-                }
             }
 
         }
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band42.tm1.25PRB.iris030.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band42.tm1.25PRB.iris030.conf
new file mode 100644
index 0000000000000000000000000000000000000000..764d7886e2a62a37b34c7e31dcb59384fa9b41b5
--- /dev/null
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band42.tm1.25PRB.iris030.conf
@@ -0,0 +1,264 @@
+Active_eNBs = ( "eNB_Eurecom_LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB_Eurecom_LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  1;
+
+    plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } );
+
+    tr_s_preference     = "local_mac"
+
+       ////////// Physical parameters:
+
+    component_carriers = (
+      {
+        node_function                                         = "eNodeB_3GPP";
+	node_timing                                           = "synch_to_ext_device";
+	node_synch_ref                                        = 0;
+        frame_type					      = "TDD";
+        tdd_config 					      = 1;
+        tdd_config_s            			      = 0;
+        prefix_type             			      = "NORMAL";
+        eutra_band              			      = 42;
+        downlink_frequency      			      = 3500000000L;
+        uplink_frequency_offset 			      = 0;
+        Nid_cell					      = 10;
+        N_RB_DL                 			      = 25;
+        Nid_cell_mbsfn          			      = 0;
+        nb_antenna_ports          			      = 1;
+        nb_antennas_tx          			      = 1;
+        nb_antennas_rx          			      = 1;
+        tx_gain                                               = 48;  # [~50 for DEV-FE, ~30 for CBRS-FE]
+        rx_gain                                               = 80; # [115 for DEV-FE, 90 for CBRS-FE]
+        pbch_repetition                                       = "FALSE";
+        prach_root              			      = 0;
+        prach_config_index      			      = 0;
+        prach_high_speed        			      = "DISABLE";
+        prach_zero_correlation  			      = 1;
+        prach_freq_offset       			      = 2;
+        pucch_delta_shift       			      = 1;
+        pucch_nRB_CQI           			      = 1;
+        pucch_nCS_AN            			      = 0;
+        pucch_n1_AN             			      = 32;
+        pdsch_referenceSignalPower 			      = -30;
+        pdsch_p_b                  			      = 0;
+        pusch_n_SB                 			      = 1;
+        pusch_enable64QAM          			      = "DISABLE";
+        pusch_hoppingMode                                     = "interSubFrame";
+        pusch_hoppingOffset                                   = 0;
+        pusch_groupHoppingEnabled  			      = "ENABLE";
+        pusch_groupAssignment      			      = 0;
+        pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+        pusch_nDMRS1                                          = 1;
+        phich_duration                                        = "NORMAL";
+        phich_resource                                        = "ONESIXTH";
+        srs_enable                                            = "DISABLE";
+        /*  srs_BandwidthConfig                               =;
+        srs_SubframeConfig                                    =;
+        srs_ackNackST                                         =;
+        srs_MaxUpPts                                          =;*/
+
+        pusch_p0_Nominal                                   = -70;
+        pusch_alpha                                        = "AL1";
+        pucch_p0_Nominal                                   = -96;
+        msg3_delta_Preamble                                = 6;
+        pucch_deltaF_Format1                               = "deltaF2";
+        pucch_deltaF_Format1b                              = "deltaF3";
+        pucch_deltaF_Format2                               = "deltaF0";
+        pucch_deltaF_Format2a                              = "deltaF0";
+        pucch_deltaF_Format2b		    	           = "deltaF0";
+
+        rach_numberOfRA_Preambles                          = 64;
+        rach_preamblesGroupAConfig                         = "DISABLE";
+        /*
+        rach_sizeOfRA_PreamblesGroupA                      = ;
+        rach_messageSizeGroupA                             = ;
+        rach_messagePowerOffsetGroupB                      = ;
+        */
+        rach_powerRampingStep                              = 4;
+        rach_preambleInitialReceivedTargetPower            = -96;
+        rach_preambleTransMax                              = 10;
+        rach_raResponseWindowSize                          = 10;
+        rach_macContentionResolutionTimer                  = 48;
+        rach_maxHARQ_Msg3Tx                                = 4;
+
+        pcch_default_PagingCycle                           = 128;
+        pcch_nB                                            = "oneT";
+        bcch_modificationPeriodCoeff			      = 2;
+        ue_TimersAndConstants_t300			      = 1000;
+        ue_TimersAndConstants_t301			      = 1000;
+        ue_TimersAndConstants_t310			      = 1000;
+        ue_TimersAndConstants_t311			      = 10000;
+        ue_TimersAndConstants_n310			      = 20;
+        ue_TimersAndConstants_n311			      = 1;
+	ue_TransmissionMode				      = 1;
+
+      //Parameters for SIB18
+      rxPool_sc_CP_Len                                       = "normal";
+      rxPool_sc_Period                                       = "sf40";
+      rxPool_data_CP_Len                                     = "normal";
+      rxPool_ResourceConfig_prb_Num                          = 20;
+      rxPool_ResourceConfig_prb_Start                        = 5;
+      rxPool_ResourceConfig_prb_End                          = 44;
+      rxPool_ResourceConfig_offsetIndicator_present          = "prSmall";
+      rxPool_ResourceConfig_offsetIndicator_choice           = 0;
+      rxPool_ResourceConfig_subframeBitmap_present           = "prBs40";
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_buf              = "00000000000000000000";
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_size             = 5;
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused      = 0;
+/*    rxPool_dataHoppingConfig_hoppingParameter                       = 0;
+      rxPool_dataHoppingConfig_numSubbands                            = "ns1";
+      rxPool_dataHoppingConfig_rbOffset                               = 0;
+      rxPool_commTxResourceUC-ReqAllowed                              = "TRUE";
+*/
+      // Parameters for SIB19
+      discRxPool_cp_Len                                               = "normal"
+      discRxPool_discPeriod                                           = "rf32"
+      discRxPool_numRetx                                              = 1;
+      discRxPool_numRepetition                                        = 2;
+      discRxPool_ResourceConfig_prb_Num                               = 5;
+      discRxPool_ResourceConfig_prb_Start                             = 3;
+      discRxPool_ResourceConfig_prb_End                               = 21;
+      discRxPool_ResourceConfig_offsetIndicator_present               = "prSmall";
+      discRxPool_ResourceConfig_offsetIndicator_choice                = 0;
+      discRxPool_ResourceConfig_subframeBitmap_present                = "prBs40";
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf          = "f0ffffffff";
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_size         = 5;
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused  = 0;
+
+      }
+    );
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "127.0.0.20";
+                              ipv6       = "fe80::d65d:dfff:fe1d:f4d4";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eno1";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "127.0.0.10/8";
+        ENB_INTERFACE_NAME_FOR_S1U               = "enp5s0";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "127.0.0.10/8";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "127.0.0.10/8";
+        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
+    };
+  }
+);
+
+MACRLCs = (
+	{
+	num_cc = 1;
+	tr_s_preference = "local_L1";
+	tr_n_preference = "local_RRC";
+	phy_test_mode = 0;
+        puSch10xSnr     =  200;
+        puCch10xSnr     =  200;
+        }  
+);
+
+L1s = (
+    	{
+	num_cc = 1;
+	tr_n_preference = "local_mac";
+        }  
+);
+
+RUs = (
+    {		  
+       local_rf       = "yes"
+         nb_tx          = 1;
+         nb_rx          = 1;
+         att_tx         = 44;  #apparently this is being used as tx_gain...
+         att_rx         = 0;  #apparently max_rxgain - att_rx -83 is what is used for rx_gain (at least for 5 MHz)
+         bands          = [7];
+         max_pdschReferenceSignalPower = -27;
+         max_rxgain                    = 107;
+         eNB_instances  = [0];
+         #sdr_addrs = "RF3E000025";
+    }
+);  
+
+NETWORK_CONTROLLER :
+{
+    FLEXRAN_ENABLED        = "no";
+    FLEXRAN_INTERFACE_NAME = "lo";
+    FLEXRAN_IPV4_ADDRESS   = "127.0.0.1";
+    FLEXRAN_PORT           = 2210;
+    FLEXRAN_CACHE          = "/mnt/oai_agent_cache";
+    FLEXRAN_AWAIT_RECONF   = "no";
+};
+
+THREAD_STRUCT = (
+  {
+    #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
+    parallel_config    = "PARALLEL_RU_L1_TRX_SPLIT";
+    #two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
+    worker_config      = "WORKER_ENABLE";
+  }
+);
+
+     log_config :
+     {
+       global_log_level                      ="info";
+       global_log_verbosity                  ="medium";
+       hw_log_level                          ="info";
+       hw_log_verbosity                      ="medium";
+       phy_log_level                         ="info";
+       phy_log_verbosity                     ="medium";
+       mac_log_level                         ="info";
+       mac_log_verbosity                     ="high";
+       rlc_log_level                         ="info";
+       rlc_log_verbosity                     ="medium";
+       pdcp_log_level                        ="info";
+       pdcp_log_verbosity                    ="medium";
+       rrc_log_level                         ="info";
+       rrc_log_verbosity                     ="medium";
+    };
+