5G-LENA nr-v3.3-120-gdac69c56
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-gnb-cmac-sap.h
1// Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4//
5// Author: Nicola Baldo <nbaldo@cttc.es>
6// Marco Miozzo <mmiozzo@cttc.es>
7
8#ifndef NR_GNB_CMAC_SAP_H
9#define NR_GNB_CMAC_SAP_H
10
11#include "ns3/packet.h"
12
13namespace ns3
14{
15
16class NrMacSapUser;
17
26{
27 public:
28 virtual ~NrGnbCmacSapProvider() = default;
35 virtual void ConfigureMac(uint16_t ulBandwidth, uint16_t dlBandwidth) = 0;
36
42 virtual void AddUe(uint16_t rnti) = 0;
43
49 virtual void RemoveUe(uint16_t rnti) = 0;
50
55 struct LcInfo
56 {
57 uint16_t rnti;
58 uint8_t lcId;
59 uint8_t lcGroup;
60 uint8_t qci;
61 uint8_t resourceType;
63 uint64_t mbrUl;
64 uint64_t mbrDl;
65 uint64_t gbrUl;
66 uint64_t gbrDl;
67 };
68
75 virtual void AddLc(LcInfo lcinfo, NrMacSapUser* msu) = 0;
76
82 virtual void ReconfigureLc(LcInfo lcinfo) = 0;
83
90 virtual void ReleaseLc(uint16_t rnti, uint8_t lcid) = 0;
91
95 struct UeConfig
96 {
100 uint16_t m_rnti;
105 };
106
112 virtual void UeUpdateConfigurationReq(UeConfig params) = 0;
113
125
131
142
152};
153
162{
163 public:
164 virtual ~NrGnbCmacSapUser() = default;
165
171 virtual uint16_t AllocateTemporaryCellRnti() = 0;
172
180 virtual void NotifyLcConfigResult(uint16_t rnti, uint8_t lcid, bool success) = 0;
181
185 struct UeConfig
186 {
190 uint16_t m_rnti;
195 };
196
202 virtual void RrcConfigurationUpdateInd(UeConfig params) = 0;
203
216 virtual bool IsRandomAccessCompleted(uint16_t rnti) = 0;
217};
218
219} // namespace ns3
220
221#endif // MAC_SAP_H
virtual void ConfigureMac(uint16_t ulBandwidth, uint16_t dlBandwidth)=0
virtual AllocateNcRaPreambleReturnValue AllocateNcRaPreamble(uint16_t rnti)=0
virtual RachConfig GetRachConfig()=0
virtual void AddLc(LcInfo lcinfo, NrMacSapUser *msu)=0
virtual void ReconfigureLc(LcInfo lcinfo)=0
virtual void ReleaseLc(uint16_t rnti, uint8_t lcid)=0
virtual void UeUpdateConfigurationReq(UeConfig params)=0
virtual void RemoveUe(uint16_t rnti)=0
virtual void AddUe(uint16_t rnti)=0
virtual void RrcConfigurationUpdateInd(UeConfig params)=0
virtual uint16_t AllocateTemporaryCellRnti()=0
virtual bool IsRandomAccessCompleted(uint16_t rnti)=0
Is random access completed function.
virtual void NotifyLcConfigResult(uint16_t rnti, uint8_t lcid, bool success)=0
AllocateNcRaPreambleReturnValue structure.
bool valid
true if a valid RA config was allocated, false otherwise
uint8_t connEstFailCount
the counter value for T300 timer expiration
uint8_t preambleTransMax
preamble transmit maximum
uint8_t raResponseWindowSize
RA response window size.
uint8_t numberOfRaPreambles
number of RA preambles
Parameters for [re]configuring the UE.
Parameters for [re]configuring the UE.