diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
index eed515f98001835b3acf12682ebe4b9380bacfed..72a879bba26b46c2018cfe2d15fc3902490a9c83 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
@@ -411,9 +411,11 @@ boolean_t pdcp_data_ind(
   uint8_t      pdcp_tailer_len = 0;
   pdcp_sn_t    sequence_number = 0;
   volatile sdu_size_t   payload_offset  = 0;
-  rb_id_t      rb_id           = rb_idP;
+  rb_id_t      rb_id            = rb_idP;
   boolean_t    packet_forwarded = FALSE;
-
+#if defined(LINK_PDCP_TO_GTPV1U)
+  MessageDef  *message_p        = NULL;
+#endif
  
 
 #ifdef OAI_EMU
@@ -690,13 +692,23 @@ boolean_t pdcp_data_ind(
 #if defined(LINK_PDCP_TO_GTPV1U)
   if ((TRUE == enb_flagP) && (FALSE == srb_flagP)) {
       LOG_I(PDCP,"Sending to GTPV1U %d bytes\n", sdu_buffer_sizeP - payload_offset);
-
-      gtpv1u_new_data_req(
+      gtpu_buffer = itti_malloc(TASK_PDCP_ENB, TASK_GTPV1_U, sdu_buffer_sizeP - payload_offset);
+      AssertFatal(gtpu_buffer != NULL, "OUT OF MEMORY");
+      memcpy(gtpu_buffer, &sdu_buffer_pP->data[payload_offset], sdu_buffer_sizeP - payload_offset);
+      message_p = itti_alloc_new_message(TASK_PDCP_ENB, GTPV1U_TUNNEL_DATA_REQ);
+      AssertFatal(message_p != NULL, "OUT OF MEMORY");
+      GTPV1U_TUNNEL_DATA_REQ(message_p).buffer       = gtpu_buffer);
+      GTPV1U_TUNNEL_DATA_REQ(message_p).length       = sdu_buffer_sizeP - payload_offset;
+      GTPV1U_TUNNEL_DATA_REQ(message_p).ue_module_id = ue_mod_idP;
+      GTPV1U_TUNNEL_DATA_REQ(message_p).rab_id;      = rb_id + 4;
+      itti_send_msg_to_task(TASK_GTPV1_U, INSTANCE_DEFAULT, message_p);
+      /*gtpv1u_new_data_req(
               enb_mod_idP, //gtpv1u_data_t *gtpv1u_data_p,
               ue_mod_idP,//rb_id/maxDRB, TO DO UE ID
               rb_id + 4,
               &sdu_buffer_pP->data[payload_offset],
               sdu_buffer_sizeP - payload_offset);
+              */
       packet_forwarded = TRUE;
   }
 #else