From 8656a09fe36b559cae2486b87a4419431e077020 Mon Sep 17 00:00:00 2001 From: Katerina Koutlia Date: Mon, 10 Feb 2020 14:23:04 +0100 Subject: [PATCH 1/3] lte: Rename HARQ related methods in LteEnbPhy, LteUePhy, and update LteHelper --- src/lte/helper/lte-helper.cc | 4 ++-- src/lte/model/lte-enb-phy.cc | 2 +- src/lte/model/lte-enb-phy.h | 7 ++++--- src/lte/model/lte-ue-phy.cc | 4 ++-- src/lte/model/lte-ue-phy.h | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/lte/helper/lte-helper.cc b/src/lte/helper/lte-helper.cc index 52f55b6aa..ddecd85ff 100644 --- a/src/lte/helper/lte-helper.cc +++ b/src/lte/helper/lte-helper.cc @@ -709,7 +709,7 @@ LteHelper::InstallSingleEnbDevice (Ptr n) ccPhy->GetDlSpectrumPhy ()->SetDevice (dev); ccPhy->GetUlSpectrumPhy ()->SetLtePhyRxDataEndOkCallback (MakeCallback (&LteEnbPhy::PhyPduReceived, ccPhy)); ccPhy->GetUlSpectrumPhy ()->SetLtePhyRxCtrlEndOkCallback (MakeCallback (&LteEnbPhy::ReceiveLteControlMessageList, ccPhy)); - ccPhy->GetUlSpectrumPhy ()->SetLtePhyUlHarqFeedbackCallback (MakeCallback (&LteEnbPhy::ReceiveLteUlHarqFeedback, ccPhy)); + ccPhy->GetUlSpectrumPhy ()->SetLtePhyUlHarqFeedbackCallback (MakeCallback (&LteEnbPhy::ReportUlHarqFeedback, ccPhy)); NS_LOG_LOGIC ("set the propagation model frequencies"); double dlFreq = LteSpectrumValueHelper::GetCarrierFrequency (it->second->m_dlEarfcn); NS_LOG_LOGIC ("DL freq: " << dlFreq); @@ -937,7 +937,7 @@ LteHelper::InstallSingleUeDevice (Ptr n) ccPhy->GetDlSpectrumPhy ()->SetLtePhyRxDataEndOkCallback (MakeCallback (&LteUePhy::PhyPduReceived, ccPhy)); ccPhy->GetDlSpectrumPhy ()->SetLtePhyRxCtrlEndOkCallback (MakeCallback (&LteUePhy::ReceiveLteControlMessageList, ccPhy)); ccPhy->GetDlSpectrumPhy ()->SetLtePhyRxPssCallback (MakeCallback (&LteUePhy::ReceivePss, ccPhy)); - ccPhy->GetDlSpectrumPhy ()->SetLtePhyDlHarqFeedbackCallback (MakeCallback (&LteUePhy::ReceiveLteDlHarqFeedback, ccPhy)); + ccPhy->GetDlSpectrumPhy ()->SetLtePhyDlHarqFeedbackCallback (MakeCallback (&LteUePhy::EnqueueDlHarqFeedback, ccPhy)); } nas->SetDevice (dev); diff --git a/src/lte/model/lte-enb-phy.cc b/src/lte/model/lte-enb-phy.cc index 6fc7cb833..780108d3c 100644 --- a/src/lte/model/lte-enb-phy.cc +++ b/src/lte/model/lte-enb-phy.cc @@ -1171,7 +1171,7 @@ LteEnbPhy::SetHarqPhyModule (Ptr harq) void -LteEnbPhy::ReceiveLteUlHarqFeedback (UlInfoListElement_s mes) +LteEnbPhy::ReportUlHarqFeedback (UlInfoListElement_s mes) { NS_LOG_FUNCTION (this); // forward to scheduler diff --git a/src/lte/model/lte-enb-phy.h b/src/lte/model/lte-enb-phy.h index 96809b715..9bfebb5f8 100644 --- a/src/lte/model/lte-enb-phy.h +++ b/src/lte/model/lte-enb-phy.h @@ -286,13 +286,14 @@ public: /** - * \brief PhySpectrum generated a new UL HARQ feedback + * \brief Report the uplink HARQ feedback generated by LteSpectrumPhy to MAC + * * \param mes UlInfoListElement_s */ - virtual void ReceiveLteUlHarqFeedback (UlInfoListElement_s mes); + virtual void ReportUlHarqFeedback (UlInfoListElement_s mes); /** - * \brief PhySpectrum generated a new UL HARQ feedback + * \brief Set the HARQ Phy module * * \param harq the HARQ Phy */ diff --git a/src/lte/model/lte-ue-phy.cc b/src/lte/model/lte-ue-phy.cc index ffb0f8dff..8a864e85c 100644 --- a/src/lte/model/lte-ue-phy.cc +++ b/src/lte/model/lte-ue-phy.cc @@ -1732,10 +1732,10 @@ LteUePhy::SetTxModeGain (uint8_t txMode, double gain) void -LteUePhy::ReceiveLteDlHarqFeedback (DlInfoListElement_s m) +LteUePhy::EnqueueDlHarqFeedback (DlInfoListElement_s m) { NS_LOG_FUNCTION (this); - // generate feedback to eNB and send it through ideal PUCCH + // get the feedback from LteSpectrumPhy and send it through ideal PUCCH to eNB Ptr msg = Create (); msg->SetDlHarqFeedback (m); SetControlMessages (msg); diff --git a/src/lte/model/lte-ue-phy.h b/src/lte/model/lte-ue-phy.h index 8ca888c88..66573677c 100644 --- a/src/lte/model/lte-ue-phy.h +++ b/src/lte/model/lte-ue-phy.h @@ -279,11 +279,11 @@ public: void SendSrs (); /** - * \brief PhySpectrum generated a new DL HARQ feedback + * \brief Enqueue the downlink HARQ feedback generated by LteSpectrumPhy * * \param mes the DlInfoListElement_s */ - virtual void ReceiveLteDlHarqFeedback (DlInfoListElement_s mes); + virtual void EnqueueDlHarqFeedback (DlInfoListElement_s mes); /** * \brief Set the HARQ PHY module From 16f86a6917ffc0a0aa892e553c986e765785343f Mon Sep 17 00:00:00 2001 From: Katerina Koutlia Date: Mon, 10 Feb 2020 14:25:24 +0100 Subject: [PATCH 2/3] Update CHANGES.html --- CHANGES.html | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.html b/CHANGES.html index 7eb92a9cc..096ec9490 100644 --- a/CHANGES.html +++ b/CHANGES.html @@ -76,6 +76,7 @@ transmitted.

Changes to existing API:

  • The internal TCP API for TcpCongestionOps has been extended to support the CongControl method to allow for delivery rate estimation feedback to the congestion control mechanism.
  • +
  • Functions LteEnbPhy::ReceiveUlHarqFeedback and LteUePhy::ReceiveLteDlHarqFeedback are renamed to LteEnbPhy::ReportUlHarqFeedback and LteUePhy::EnqueueDlHarqFeedback, respectively to avoid confusion about their functionality. LteHelper is updated accordingly.

Changes to build system:

    From 5ba88d1dc37e62c17aea39f918cd69d16555a1ec Mon Sep 17 00:00:00 2001 From: Tom Henderson Date: Tue, 11 Feb 2020 09:43:33 +0100 Subject: [PATCH 3/3] lte: Rescan python bindings --- src/lte/bindings/modulegen__gcc_ILP32.py | 30 ++++++++++++++++-------- src/lte/bindings/modulegen__gcc_LP64.py | 30 ++++++++++++++++-------- 2 files changed, 40 insertions(+), 20 deletions(-) diff --git a/src/lte/bindings/modulegen__gcc_ILP32.py b/src/lte/bindings/modulegen__gcc_ILP32.py index e0d1da8e5..0ea057409 100644 --- a/src/lte/bindings/modulegen__gcc_ILP32.py +++ b/src/lte/bindings/modulegen__gcc_ILP32.py @@ -10719,6 +10719,11 @@ def register_Ns3Vector2D_methods(root_module, cls): cls.add_binary_comparison_operator('<') cls.add_binary_numeric_operator('-', root_module['ns3::Vector2D'], root_module['ns3::Vector2D'], param('ns3::Vector2D const &', 'right')) cls.add_binary_numeric_operator('+', root_module['ns3::Vector2D'], root_module['ns3::Vector2D'], param('ns3::Vector2D const &', 'right')) + cls.add_binary_comparison_operator('!=') + cls.add_binary_comparison_operator('==') + cls.add_binary_comparison_operator('>=') + cls.add_binary_comparison_operator('>') + cls.add_binary_comparison_operator('<=') ## vector.h (module 'core'): ns3::Vector2D::Vector2D(ns3::Vector2D const & arg0) [constructor] cls.add_constructor([param('ns3::Vector2D const &', 'arg0')]) ## vector.h (module 'core'): ns3::Vector2D::Vector2D(double _x, double _y) [constructor] @@ -10741,6 +10746,11 @@ def register_Ns3Vector3D_methods(root_module, cls): cls.add_binary_comparison_operator('<') cls.add_binary_numeric_operator('-', root_module['ns3::Vector3D'], root_module['ns3::Vector3D'], param('ns3::Vector3D const &', 'right')) cls.add_binary_numeric_operator('+', root_module['ns3::Vector3D'], root_module['ns3::Vector3D'], param('ns3::Vector3D const &', 'right')) + cls.add_binary_comparison_operator('!=') + cls.add_binary_comparison_operator('==') + cls.add_binary_comparison_operator('>=') + cls.add_binary_comparison_operator('>') + cls.add_binary_comparison_operator('<=') ## vector.h (module 'core'): ns3::Vector3D::Vector3D(ns3::Vector3D const & arg0) [constructor] cls.add_constructor([param('ns3::Vector3D const &', 'arg0')]) ## vector.h (module 'core'): ns3::Vector3D::Vector3D(double _x, double _y, double _z) [constructor] @@ -20853,6 +20863,11 @@ def register_Ns3LteUePhy_methods(root_module, cls): 'void', [], is_virtual=True) + ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::EnqueueDlHarqFeedback(ns3::DlInfoListElement_s mes) [member function] + cls.add_method('EnqueueDlHarqFeedback', + 'void', + [param('ns3::DlInfoListElement_s', 'mes')], + is_virtual=True) ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::GenerateCtrlCqiReport(ns3::SpectrumValue const & sinr) [member function] cls.add_method('GenerateCtrlCqiReport', 'void', @@ -20933,11 +20948,6 @@ def register_Ns3LteUePhy_methods(root_module, cls): 'void', [param('std::list< ns3::Ptr< ns3::LteControlMessage > >', 'msgList')], is_virtual=True) - ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::ReceiveLteDlHarqFeedback(ns3::DlInfoListElement_s mes) [member function] - cls.add_method('ReceiveLteDlHarqFeedback', - 'void', - [param('ns3::DlInfoListElement_s', 'mes')], - is_virtual=True) ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::ReceivePss(uint16_t cellId, ns3::Ptr p) [member function] cls.add_method('ReceivePss', 'void', @@ -26259,11 +26269,6 @@ def register_Ns3LteEnbPhy_methods(root_module, cls): 'void', [param('std::list< ns3::Ptr< ns3::LteControlMessage > >', 'arg0')], is_virtual=True) - ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReceiveLteUlHarqFeedback(ns3::UlInfoListElement_s mes) [member function] - cls.add_method('ReceiveLteUlHarqFeedback', - 'void', - [param('ns3::UlInfoListElement_s', 'mes')], - is_virtual=True) ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReportInterference(ns3::SpectrumValue const & interf) [member function] cls.add_method('ReportInterference', 'void', @@ -26274,6 +26279,11 @@ def register_Ns3LteEnbPhy_methods(root_module, cls): 'void', [param('ns3::SpectrumValue const &', 'power')], is_virtual=True) + ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReportUlHarqFeedback(ns3::UlInfoListElement_s mes) [member function] + cls.add_method('ReportUlHarqFeedback', + 'void', + [param('ns3::UlInfoListElement_s', 'mes')], + is_virtual=True) ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::SendControlChannels(std::list, std::allocator > > ctrlMsgList) [member function] cls.add_method('SendControlChannels', 'void', diff --git a/src/lte/bindings/modulegen__gcc_LP64.py b/src/lte/bindings/modulegen__gcc_LP64.py index 2a5d90181..fd05e7d69 100644 --- a/src/lte/bindings/modulegen__gcc_LP64.py +++ b/src/lte/bindings/modulegen__gcc_LP64.py @@ -10719,6 +10719,11 @@ def register_Ns3Vector2D_methods(root_module, cls): cls.add_binary_comparison_operator('<') cls.add_binary_numeric_operator('-', root_module['ns3::Vector2D'], root_module['ns3::Vector2D'], param('ns3::Vector2D const &', 'right')) cls.add_binary_numeric_operator('+', root_module['ns3::Vector2D'], root_module['ns3::Vector2D'], param('ns3::Vector2D const &', 'right')) + cls.add_binary_comparison_operator('!=') + cls.add_binary_comparison_operator('==') + cls.add_binary_comparison_operator('>=') + cls.add_binary_comparison_operator('>') + cls.add_binary_comparison_operator('<=') ## vector.h (module 'core'): ns3::Vector2D::Vector2D(ns3::Vector2D const & arg0) [constructor] cls.add_constructor([param('ns3::Vector2D const &', 'arg0')]) ## vector.h (module 'core'): ns3::Vector2D::Vector2D(double _x, double _y) [constructor] @@ -10741,6 +10746,11 @@ def register_Ns3Vector3D_methods(root_module, cls): cls.add_binary_comparison_operator('<') cls.add_binary_numeric_operator('-', root_module['ns3::Vector3D'], root_module['ns3::Vector3D'], param('ns3::Vector3D const &', 'right')) cls.add_binary_numeric_operator('+', root_module['ns3::Vector3D'], root_module['ns3::Vector3D'], param('ns3::Vector3D const &', 'right')) + cls.add_binary_comparison_operator('!=') + cls.add_binary_comparison_operator('==') + cls.add_binary_comparison_operator('>=') + cls.add_binary_comparison_operator('>') + cls.add_binary_comparison_operator('<=') ## vector.h (module 'core'): ns3::Vector3D::Vector3D(ns3::Vector3D const & arg0) [constructor] cls.add_constructor([param('ns3::Vector3D const &', 'arg0')]) ## vector.h (module 'core'): ns3::Vector3D::Vector3D(double _x, double _y, double _z) [constructor] @@ -20853,6 +20863,11 @@ def register_Ns3LteUePhy_methods(root_module, cls): 'void', [], is_virtual=True) + ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::EnqueueDlHarqFeedback(ns3::DlInfoListElement_s mes) [member function] + cls.add_method('EnqueueDlHarqFeedback', + 'void', + [param('ns3::DlInfoListElement_s', 'mes')], + is_virtual=True) ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::GenerateCtrlCqiReport(ns3::SpectrumValue const & sinr) [member function] cls.add_method('GenerateCtrlCqiReport', 'void', @@ -20933,11 +20948,6 @@ def register_Ns3LteUePhy_methods(root_module, cls): 'void', [param('std::list< ns3::Ptr< ns3::LteControlMessage > >', 'msgList')], is_virtual=True) - ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::ReceiveLteDlHarqFeedback(ns3::DlInfoListElement_s mes) [member function] - cls.add_method('ReceiveLteDlHarqFeedback', - 'void', - [param('ns3::DlInfoListElement_s', 'mes')], - is_virtual=True) ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::ReceivePss(uint16_t cellId, ns3::Ptr p) [member function] cls.add_method('ReceivePss', 'void', @@ -26259,11 +26269,6 @@ def register_Ns3LteEnbPhy_methods(root_module, cls): 'void', [param('std::list< ns3::Ptr< ns3::LteControlMessage > >', 'arg0')], is_virtual=True) - ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReceiveLteUlHarqFeedback(ns3::UlInfoListElement_s mes) [member function] - cls.add_method('ReceiveLteUlHarqFeedback', - 'void', - [param('ns3::UlInfoListElement_s', 'mes')], - is_virtual=True) ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReportInterference(ns3::SpectrumValue const & interf) [member function] cls.add_method('ReportInterference', 'void', @@ -26274,6 +26279,11 @@ def register_Ns3LteEnbPhy_methods(root_module, cls): 'void', [param('ns3::SpectrumValue const &', 'power')], is_virtual=True) + ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReportUlHarqFeedback(ns3::UlInfoListElement_s mes) [member function] + cls.add_method('ReportUlHarqFeedback', + 'void', + [param('ns3::UlInfoListElement_s', 'mes')], + is_virtual=True) ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::SendControlChannels(std::list, std::allocator > > ctrlMsgList) [member function] cls.add_method('SendControlChannels', 'void',