5#ifndef NR_GNB_NET_DEVICE_H
6#define NR_GNB_NET_DEVICE_H
8#include "nr-fh-control.h"
9#include "nr-net-device.h"
11#include "ns3/deprecated.h"
12#include "ns3/traced-callback.h"
23class BandwidthPartGnb;
24class NrGnbComponentCarrierManager;
37 static TypeId GetTypeId();
43 Ptr<NrMacScheduler> GetScheduler(uint8_t index)
const;
45 Ptr<NrGnbMac> GetMac(uint8_t index)
const;
47 Ptr<NrGnbPhy> GetPhy(uint8_t index)
const;
49 Ptr<BwpManagerGnb> GetBwpManager()
const;
51 uint16_t GetBwpId(uint8_t index)
const;
69 uint16_t GetEarfcn(uint8_t index)
const;
71 void SetRrc(Ptr<NrGnbRrc> rrc);
73 Ptr<NrGnbRrc> GetRrc();
75 void SetCcMap(
const std::map<uint8_t, Ptr<BandwidthPartGnb>>& ccm);
103 void RouteIngoingCtrlMsgs(
const std::list<Ptr<NrControlMessage>>& msgList, uint8_t sourceBwpId);
111 uint8_t sourceBwpId);
132 NS_DEPRECATED(
"Obsolete method")
194 void DoInitialize()
override;
196 void DoDispose()
override;
197 bool DoSend(Ptr<Packet> packet,
const Address& dest, uint16_t protocolNumber)
override;
204 std::map<uint8_t, Ptr<BandwidthPartGnb>> m_ccMap;
206 Ptr<NrGnbComponentCarrierManager>
207 m_componentCarrierManager;
208 Ptr<NrFhControl> m_nrFhControl;
210 bool m_isCellConfigured{
false};
The NrGnbNetDevice class.
void RouteOutgoingCtrlMsgs(const std::list< Ptr< NrControlMessage > > &msgList, uint8_t sourceBwpId)
Route the outgoing messages to the right BWP.
uint16_t GetCellIdDlBandwidth(uint16_t cellId) const
Get downlink bandwidth for a given physical cell Id.
void SetNrFhControl(Ptr< NrFhControl > nrFh)
Set the NrFhControl for this cell.
std::vector< uint16_t > GetCellIds() const
uint16_t GetCellId() const
void SetCellId(uint16_t cellId)
Set this gnb cell id.
void RouteIngoingCtrlMsgs(const std::list< Ptr< NrControlMessage > > &msgList, uint8_t sourceBwpId)
The gNB received a CTRL message list.
uint32_t GetCcMapSize() const
Get the size of the component carriers map.
bool IsCellConfigured() const
Return true if ConfigureCell() has been called.
uint32_t GetCellIdDlEarfcn(uint16_t cellId) const
Get uplink earfcn for a given physical cell Id.
uint16_t GetCellIdUlBandwidth(uint16_t cellId) const
Get uplink bandwidth for a given physical cell Id.
void UpdateConfig()
Update the RRC configuration after installation.
void ConfigureCell()
Update the RRC configuration after installation.
Ptr< NrFhControl > GetNrFhControl()
Get the NrFhControl for this cell.
uint32_t GetCellIdUlEarfcn(uint16_t cellId) const
Get uplink earfcn for a given physical cell Id.