From 37e7db80a3a9ff7f026f20c8c875b360a8c138ce Mon Sep 17 00:00:00 2001
From: Mahesh <maheshaithal@iisc.ac.in>
Date: Tue, 10 Aug 2021 14:22:50 +0530
Subject: [PATCH] documentation typo, build error, pack/unpack bug fix

---
 doc/NR_NFAPI_archi.md                    |  2 +-
 nfapi/oai_integration/nfapi_pnf.c        |  3 +++
 nfapi/open-nFAPI/nfapi/src/nfapi_p7.c    |  4 ++--
 openair1/SCHED/nfapi_lte_dummy.c         |  4 ++++
 openair1/SCHED/nfapi_nr_dummy.c          |  4 ++++
 openair1/SCHED_NR/fapi_nr_l1.c           |  1 -
 openair2/NR_PHY_INTERFACE/NR_IF_Module.c | 12 ++++++------
 7 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/doc/NR_NFAPI_archi.md b/doc/NR_NFAPI_archi.md
index 2c92f9497da..59c511fb52c 100644
--- a/doc/NR_NFAPI_archi.md
+++ b/doc/NR_NFAPI_archi.md
@@ -112,7 +112,7 @@ While receiving the DL P7 message, we check whether the message was received wit
 
 graph TB
     pselect[PNF socket pselect] -- timed out : end of slot --> slot_inc[Increment sfn/slot];
-    pselect[PNF socket pselect] -- DL p7 xyz msg recvd --> msg_recvd[Read message pnf_nr_nfapi_p7_read_dispatch_message] --> header_unpack[Unpack Header] -- switch cases on header --> unpack_msg[Unpack Message pnf_handle_nr_xyz] --> fill_pnf_p7[Fill pnf_p7 global structure pnf_handle_nr_xyz] --Data from pnf_p7 struct copied to fapi structures using pnf_phy_***_req. Called every slot from oai_slot_ind-->pselect;
+    pselect[PNF socket pselect] -- DL p7 xyz msg recvd --> msg_recvd[Read message pnf_nr_nfapi_p7_read_dispatch_message] --> header_unpack[Unpack Header] -- switch cases on header --> unpack_msg[Unpack Message pnf_handle_nr_xyz] --> fill_pnf_p7[Fill pnf_p7 global structure pnf_handle_nr_xyz] --Data from pnf_p7 struct copied to fapi structures using pnf_phy_***_req. Called every slot from handle_nr_slot_ind-->pselect;
 
     slot_inc -- next slot --> pselect
 ```
diff --git a/nfapi/oai_integration/nfapi_pnf.c b/nfapi/oai_integration/nfapi_pnf.c
index df32c05b60d..2cbec1a050d 100644
--- a/nfapi/oai_integration/nfapi_pnf.c
+++ b/nfapi/oai_integration/nfapi_pnf.c
@@ -92,6 +92,9 @@ extern void handle_nr_nfapi_pdsch_pdu(PHY_VARS_gNB *gNB,int frame,int slot,
                             uint8_t *sdu);
 extern void handle_nr_nfapi_ssb_pdu(PHY_VARS_gNB *gNB,int frame,int slot,
                              nfapi_nr_dl_tti_request_pdu_t *dl_tti_pdu);
+extern void handle_nfapi_nr_csirs_pdu(PHY_VARS_gNB *gNB,
+			       int frame, int slot,
+			       nfapi_nr_dl_tti_csi_rs_pdu *csirs_pdu);
 extern void nr_fill_ulsch(PHY_VARS_gNB *gNB,
                    int frame,
                    int slot,
diff --git a/nfapi/open-nFAPI/nfapi/src/nfapi_p7.c b/nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
index 878666dbcf6..bc569c3d1be 100755
--- a/nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
+++ b/nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
@@ -708,7 +708,7 @@ static uint8_t pack_dl_tti_request_body_value(void* tlv, uint8_t **ppWritePacked
 {
 	nfapi_nr_dl_tti_request_pdu_t* value = (nfapi_nr_dl_tti_request_pdu_t*)tlv;
 
-	if(!(push16(value->PDUSize, ppWritePackedMsg, end) &&
+	if(!(push32(value->PDUSize, ppWritePackedMsg, end) &&
 	 	 push16(value->PDUType, ppWritePackedMsg, end) ))
 		  return 0;
 
@@ -4607,7 +4607,7 @@ static uint8_t unpack_dl_tti_request_body_value(uint8_t **ppReadPackedMsg, uint8
 {
 	nfapi_nr_dl_tti_request_pdu_t* value = (nfapi_nr_dl_tti_request_pdu_t*)msg;
 
-	if(!(pull16(ppReadPackedMsg, &value->PDUSize, end) &&
+	if(!(pull32(ppReadPackedMsg, &value->PDUSize, end) &&
 	 	 pull16(ppReadPackedMsg, &value->PDUType, end) ))
 		  return 0;
 
diff --git a/openair1/SCHED/nfapi_lte_dummy.c b/openair1/SCHED/nfapi_lte_dummy.c
index 9562e2de30c..7d1e7e76843 100644
--- a/openair1/SCHED/nfapi_lte_dummy.c
+++ b/openair1/SCHED/nfapi_lte_dummy.c
@@ -17,6 +17,10 @@ void handle_nr_nfapi_pdsch_pdu(PHY_VARS_gNB *gNB,int frame,int slot,
                             nfapi_nr_dl_tti_pdsch_pdu *pdsch_pdu,
                             uint8_t *sdu){
                             }
+void handle_nfapi_nr_csirs_pdu(PHY_VARS_gNB *gNB,
+			       int frame, int slot,
+			       nfapi_nr_dl_tti_csi_rs_pdu *csirs_pdu){
+                    }                           
 int l1_north_init_gNB(void){return 0;}
 
 uint8_t slot_ahead=6;
diff --git a/openair1/SCHED/nfapi_nr_dummy.c b/openair1/SCHED/nfapi_nr_dummy.c
index db20017fb81..1286a4e48a2 100644
--- a/openair1/SCHED/nfapi_nr_dummy.c
+++ b/openair1/SCHED/nfapi_nr_dummy.c
@@ -17,6 +17,10 @@ void handle_nr_nfapi_pdsch_pdu(PHY_VARS_gNB *gNB,int frame,int slot,
                             nfapi_nr_dl_tti_pdsch_pdu *pdsch_pdu,
                             uint8_t *sdu){
                             }
+void handle_nfapi_nr_csirs_pdu(PHY_VARS_gNB *gNB,
+			       int frame, int slot,
+			       nfapi_nr_dl_tti_csi_rs_pdu *csirs_pdu){
+                    }
 int l1_north_init_gNB(void){return 0;}
 
 uint8_t slot_ahead=6;
diff --git a/openair1/SCHED_NR/fapi_nr_l1.c b/openair1/SCHED_NR/fapi_nr_l1.c
index 4c1dd7ebddb..fa762fa5b80 100644
--- a/openair1/SCHED_NR/fapi_nr_l1.c
+++ b/openair1/SCHED_NR/fapi_nr_l1.c
@@ -229,7 +229,6 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
           AssertFatal(TX_req->pdu_list[pduIndex].num_TLV == 1, "TX_req->pdu_list[%d].num_TLV %d != 1\n",
           pduIndex,TX_req->pdu_list[pduIndex].num_TLV);
           uint8_t *sdu = (uint8_t *)TX_req->pdu_list[pduIndex].TLVs[0].value.direct;
-          if(NFAPI_MODE != NFAPI_MODE_VNF)
           handle_nr_nfapi_pdsch_pdu(gNB,frame,slot,&dl_tti_pdu->pdsch_pdu, sdu);
           break;
       }
diff --git a/openair2/NR_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_PHY_INTERFACE/NR_IF_Module.c
index 16bffb14f4e..dcd469f363a 100644
--- a/openair2/NR_PHY_INTERFACE/NR_IF_Module.c
+++ b/openair2/NR_PHY_INTERFACE/NR_IF_Module.c
@@ -48,12 +48,12 @@ extern int oai_nfapi_crc_indication(nfapi_crc_indication_t *crc_ind);
 extern int oai_nfapi_cqi_indication(nfapi_cqi_indication_t *cqi_ind);
 extern int oai_nfapi_sr_indication(nfapi_sr_indication_t *ind);
 extern int oai_nfapi_rx_ind(nfapi_rx_indication_t *ind);
-int oai_nfapi_nr_slot_indication(nfapi_nr_slot_indication_scf_t *ind);
-int oai_nfapi_nr_rx_data_indication(nfapi_nr_rx_data_indication_t *ind);
-int oai_nfapi_nr_crc_indication(nfapi_nr_crc_indication_t *ind);
-int oai_nfapi_nr_srs_indication(nfapi_nr_srs_indication_t *ind);
-int oai_nfapi_nr_uci_indication(nfapi_nr_uci_indication_t *ind);
-int oai_nfapi_nr_rach_indication(nfapi_nr_rach_indication_t *ind);
+extern int oai_nfapi_nr_slot_indication(nfapi_nr_slot_indication_scf_t *ind);
+extern int oai_nfapi_nr_rx_data_indication(nfapi_nr_rx_data_indication_t *ind);
+extern int oai_nfapi_nr_crc_indication(nfapi_nr_crc_indication_t *ind);
+extern int oai_nfapi_nr_srs_indication(nfapi_nr_srs_indication_t *ind);
+extern int oai_nfapi_nr_uci_indication(nfapi_nr_uci_indication_t *ind);
+extern int oai_nfapi_nr_rach_indication(nfapi_nr_rach_indication_t *ind);
 extern uint8_t nfapi_mode;
 extern uint16_t sf_ahead;
 extern uint16_t sl_ahead;
-- 
GitLab