A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
mac-messages.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2007,2008,2009 INRIA, UDcast
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Authors: Jahanzeb Farooq <jahanzeb.farooq@sophia.inria.fr>
7 * Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
8 * <amine.ismail@UDcast.com>
9 */
10
11/*
12 *This file does not contain all MAC messages, the rest of MAC messages have
13 *This been categorized as DL and UL messages and are placed in
14 *This dl-mac-messages.h and ul-mac-messages.h files.
15 */
16
17#ifndef MANAGEMENT_MESSAGE_TYPE_H
18#define MANAGEMENT_MESSAGE_TYPE_H
19
20#include "ns3/header.h"
21
22#include <stdint.h>
23
24namespace ns3
25{
26
27/**
28 * \ingroup wimax
29 * Mac Management messages
30 * Section 6.3.2.3 MAC Management messages page 42, Table 14 page 43
31 */
33{
34 public:
35 /// Message type enumeration
50
52 /**
53 * Constructor
54 *
55 * \param type message type
56 */
57 ManagementMessageType(uint8_t type);
58 ~ManagementMessageType() override;
59 /**
60 * Set type field
61 * \param type the type
62 */
63 void SetType(uint8_t type);
64 /**
65 * Get type field
66 * \returns the type value
67 */
68 uint8_t GetType() const;
69
70 /** \returns the name field */
71 std::string GetName() const;
72 /**
73 * \brief Get the type ID.
74 * \return the object TypeId
75 */
76 static TypeId GetTypeId();
77 TypeId GetInstanceTypeId() const override;
78 void Print(std::ostream& os) const override;
79 uint32_t GetSerializedSize() const override;
80 void Serialize(Buffer::Iterator start) const override;
82
83 private:
84 uint8_t m_type; ///< type
85};
86
87} // namespace ns3
88
89#endif /* MANAGEMENT_MESSAGE_TYPE_H */
90
91// ---------------------------------------------------------------------
92
93#ifndef RNG_RSP_H
94#define RNG_RSP_H
95
96#include "cid.h"
97#include "service-flow.h"
98
99#include "ns3/header.h"
100#include "ns3/mac48-address.h"
101
102#include <stdint.h>
103
104namespace ns3
105{
106
107/**
108 * \ingroup wimax
109 * This class implements the ranging response message described by "IEEE Standard for
110 * Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access
111 * Systems" 6.3.2.3.6 Ranging response (RNG-RSP) message, page 50
112 */
113class RngRsp : public Header
114{
115 public:
116 RngRsp();
117 ~RngRsp() override;
118 /**
119 * \brief set the Tx timing offset adjustment (signed 32-bit).
120 * \param timingAdjust The time required to advance SS transmission so frames
121 * arrive at the expected time instance at the BS.
122 */
123 void SetTimingAdjust(uint32_t timingAdjust);
124 /**
125 * \brief set the relative change in transmission power level that the SS should make in order
126 * that transmissions arrive at the BS at the desired power. When subchannelization is employed,
127 * the subscriber shall interpret the power offset adjustment as a required change to the
128 * transmitted power density.
129 * \param powerLevelAdjust the relative change in transmission power level
130 */
131 void SetPowerLevelAdjust(uint8_t powerLevelAdjust);
132 /**
133 * \brief set the relative change in transmission frequency that the SS should take in order to
134 * better match the BS. This is fine-frequency adjustment within a channel, not reassignment to
135 * a different channel
136 * \param offsetFreqAdjust Offset frequency adjustment
137 */
138 void SetOffsetFreqAdjust(uint32_t offsetFreqAdjust);
139 /**
140 * \brief set the range status.
141 * \param rangStatus Range status
142 */
143 void SetRangStatus(uint8_t rangStatus);
144 /**
145 * \brief set the Center frequency, in kHz, of new downlink channel where the SS should redo
146 * initial ranging.
147 * \param dlFreqOverride the Center frequency in kHz
148 */
149 void SetDlFreqOverride(uint32_t dlFreqOverride);
150 /**
151 * \brief set the identifier of the uplink channel with which the SS is to redo initial ranging
152 * \param ulChnlIdOverride the uplink channel index
153 */
154 void SetUlChnlIdOverride(uint8_t ulChnlIdOverride);
155 /**
156 * \brief set the DL oper burst profile
157 * \param dlOperBurstProfile the oper burt profile
158 */
159 void SetDlOperBurstProfile(uint16_t dlOperBurstProfile);
160 /**
161 * \brief set the MAC address
162 * \param macAddress the MAC address
163 */
164 void SetMacAddress(Mac48Address macAddress);
165
166 /**
167 * \brief set basic CID.
168 * \param basicCid Basic CID
169 */
170 void SetBasicCid(Cid basicCid);
171 /**
172 * \brief set primary CID.
173 * \param primaryCid Primary CID
174 */
175 void SetPrimaryCid(Cid primaryCid);
176
177 /**
178 * \brief set AAS broadcast permission.
179 * \param aasBdcastPermission AAS broadcast permission
180 */
181 void SetAasBdcastPermission(uint8_t aasBdcastPermission);
182 /**
183 * \brief set frame number.
184 * \param frameNumber Frame number
185 */
186 void SetFrameNumber(uint32_t frameNumber);
187 /**
188 * \brief set initial range opp number.
189 * \param initRangOppNumber Initial range opp number
190 */
191 void SetInitRangOppNumber(uint8_t initRangOppNumber);
192 /**
193 * \brief set range sub channel.
194 * \param rangSubchnl Range subchannel
195 */
196 void SetRangSubchnl(uint8_t rangSubchnl);
197 /**
198 * \return Tx timing offset adjustment (signed 32-bit). The time required to advance SS
199 * transmission so frames arrive at the expected time instance at the BS.
200 */
202 /**
203 * \return the relative change in transmission power level that the SS should take in order
204 * that transmissions arrive at the BS at the desired power. When subchannelization is employed,
205 * the subscriber shall interpret the power offset adjustment as a required change to the
206 * transmitted power density.
207 */
208 uint8_t GetPowerLevelAdjust() const;
209 /**
210 * \return the relative change in transmission frequency that the SS should take in order to
211 * better match the BS. This is fine-frequency adjustment within a channel, not reassignment to
212 * a different channel.
213 */
215 /**
216 * \return the range status.
217 */
218 uint8_t GetRangStatus() const;
219 /**
220 * \return Center frequency, in kHz, of new downlink channel where the SS should redo initial
221 * ranging.
222 */
224 /**
225 * \return The identifier of the uplink channel with which the SS is to redo initial ranging
226 */
227 uint8_t GetUlChnlIdOverride() const;
228 /**
229 * \return DlOperBurstProfile: This parameter is sent in response to the RNG-REQ Requested
230 * Downlink Burst Profile parameter
231 */
232 uint16_t GetDlOperBurstProfile() const;
233 /**
234 * \return MAC address
235 */
237 /**
238 * \return basic CID
239 */
240 Cid GetBasicCid() const;
241 /**
242 * \return primary CID
243 */
244 Cid GetPrimaryCid() const;
245 /**
246 * \return AAS broadcast permission
247 */
248 uint8_t GetAasBdcastPermission() const;
249 /**
250 * \return frame number
251 */
252 uint32_t GetFrameNumber() const;
253 /**
254 * \return initial range opp number
255 */
256 uint8_t GetInitRangOppNumber() const;
257 /**
258 * \return range sub channel
259 */
260 uint8_t GetRangSubchnl() const;
261
262 /**
263 * \return name string
264 */
265 std::string GetName() const;
266 /**
267 * Register this type.
268 * \return The TypeId.
269 */
270 static TypeId GetTypeId();
271 TypeId GetInstanceTypeId() const override;
272 void Print(std::ostream& os) const override;
273 uint32_t GetSerializedSize() const override;
274 void Serialize(Buffer::Iterator start) const override;
275 uint32_t Deserialize(Buffer::Iterator start) override;
276
277 private:
278 uint8_t m_reserved; ///< changed as per the amendment 802.16e-2005
279
280 // TLV Encoded Information
281
282 /**
283 * Tx timing offset adjustment (signed 32-bit). The time required to advance SS transmission so
284 * frames arrive at the expected time instance at the BS.
285 */
287
288 /**
289 * Specifies the relative change in transmission power level that the SS is to make in order
290 * that transmissions arrive at the BS at the desired power. When subchannelization is employed,
291 * the subscriber shall interpret the power offset adjustment as a required change to the
292 * transmitted power density.
293 */
295
296 /**
297 * Specifies the relative change in transmission frequency that the SS is to make in order to
298 * better match the BS. This is fine-frequency adjustment within a channel, not reassignment to
299 * a different channel.
300 */
302
303 /**
304 * range status.
305 */
307
308 /// Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging.
310
311 /**
312 * Licensed bands: The identifier of the uplink channel with which the SS is to redo initial
313 * ranging (not used with PHYs without channelized uplinks).
314 */
316
317 /**
318 * This parameter is sent in response to the RNG-REQ Requested Downlink Burst Profile parameter.
319 * Byte 0: Specifies the least robust DIUC that may be used by the BS for transmissions to the
320 * SS. Byte 1: Configuration Change Count value of DCD defining the burst profile associated
321 * with DIUC.
322 */
324
325 Mac48Address m_macAddress; ///< MAC address
326 Cid m_basicCid; ///< basic CID
327 Cid m_primaryCid; ///< primary CID
328 uint8_t m_aasBdcastPermission; ///< AAS broadcast permission
329
330 /**
331 * Frame number where the associated RNG_REQ message was detected by the BS. Usage is mutually
332 * exclusive with SS MAC Address
333 */
335
336 /**
337 * Initial Ranging opportunity (1–255) in which the associated RNG_REQ message was detected by
338 * the BS. Usage is mutually exclusive with SS MAC Address
339 */
341
342 /**
343 * Used to indicate the OFDM subchannel reference that was used to transmit the initial ranging
344 * message (OFDM with subchannelization).
345 */
347};
348
349} // namespace ns3
350
351#endif /* RNG_RSP_H */
352
353// ---------------------------------------------------------------------
354
355#ifndef DSA_REQ_H
356#define DSA_REQ_H
357
358#include "cid.h"
359#include "service-flow.h"
360
361#include "ns3/buffer.h"
362#include "ns3/header.h"
363
364#include <stdint.h>
365
366namespace ns3
367{
368/**
369 * \ingroup wimax
370 * This class implements the DSA-REQ message described by "IEEE Standard for
371 * Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access
372 * Systems" 6.3.2.3.10 DSA-REQ message, page 62
373 */
374class DsaReq : public Header
375{
376 public:
377 DsaReq();
378 ~DsaReq() override;
379 /**
380 * Constructor
381 *
382 * \param sf service flow
383 */
385 /**
386 * \brief set the transaction ID
387 * \param transactionId
388 */
389 void SetTransactionId(uint16_t transactionId);
390 /**
391 * \brief set the service flow identifier
392 * \param sfid the service flow identifier
393 */
394 void SetSfid(uint32_t sfid);
395 /**
396 * \brief set the connection identifier
397 * \param cid the connection identifier
398 */
399 void SetCid(Cid cid);
400 /**
401 * \brief specify a service flow to be requested by this message
402 * \param sf the service flow
403 */
405 /**
406 * \return the service flow requested by this message
407 */
409 /**
410 * \return the transaction ID
411 */
412 uint16_t GetTransactionId() const;
413 /**
414 * \return the service flow identifier
415 */
416 uint32_t GetSfid() const;
417 /**
418 * \return the connection identifier
419 */
420 Cid GetCid() const;
421 /**
422 * \return the service name
423 */
424 std::string GetName() const;
425 /**
426 * \brief Get the type ID.
427 * \return the object TypeId
428 */
429 static TypeId GetTypeId();
430 TypeId GetInstanceTypeId() const override;
431 void Print(std::ostream& os) const override;
432 uint32_t GetSerializedSize() const override;
433 void Serialize(Buffer::Iterator start) const override;
434 uint32_t Deserialize(Buffer::Iterator start) override;
435
436 private:
437 uint16_t m_transactionId; ///< transaction ID
438 // TLV Encoded Information
439 uint32_t m_sfid; ///< SFID
440 Cid m_cid; ///< CID
441 ServiceFlow m_serviceFlow; ///< service flow
442};
443
444} // namespace ns3
445
446#endif /* DSA_REQ_H */
447
448// ---------------------------------------------------------------------
449
450#ifndef DSA_RSP_H
451#define DSA_RSP_H
452
453#include "cid.h"
454
455#include "ns3/buffer.h"
456#include "ns3/header.h"
457
458#include <stdint.h>
459
460namespace ns3
461{
462
463/**
464 * \ingroup wimax
465 * This class implements the DSA-RSP message described by "IEEE Standard for
466 * Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access
467 * Systems" 6.3.2.3.11 DSA-RSP message, page 63
468 * \verbatim
469 0 7 15 23
470 +-------------+-------------+-------------+
471 |Mngt msg type| Transaction ID |
472 +-------------+-------------+-------------+
473 | Conf Code | Service Flow TLV |
474 +~~~~~~~~~~~~~+~~~~~~~~~~~~~+~~~~~~~~~~~~~+
475 \endverbatim
476 */
477class DsaRsp : public Header
478{
479 public:
480 DsaRsp();
481 ~DsaRsp() override;
482
483 /**
484 * \brief set the transaction ID
485 * \param transactionId
486 */
487 void SetTransactionId(uint16_t transactionId);
488 /**
489 * \return the transaction ID
490 */
491 uint16_t GetTransactionId() const;
492
493 /**
494 * \brief set the confirmation code
495 * \param confirmationCode
496 */
497 void SetConfirmationCode(uint16_t confirmationCode);
498 /**
499 * \return the confirmation code
500 */
501 uint16_t GetConfirmationCode() const;
502 /**
503 * \brief set the service flow identifier
504 * \param sfid the service flow identifier
505 */
506 void SetSfid(uint32_t sfid);
507 /**
508 * \return the service flow identifier
509 */
510 uint32_t GetSfid() const;
511 /**
512 * \brief set the connection identifier
513 * \param cid the connection identifier
514 */
515 void SetCid(Cid cid);
516 /**
517 * \return the connection identifier
518 */
519 Cid GetCid() const;
520 /**
521 * \brief specify a service flow to be requested by this message
522 * \param sf the service flow
523 */
525 /**
526 * \return the service flow requested by this message
527 */
529
530 /**
531 * \return the service name
532 */
533 std::string GetName() const;
534 /**
535 * \brief Get the type ID.
536 * \return the object TypeId
537 */
538 static TypeId GetTypeId();
539 TypeId GetInstanceTypeId() const override;
540 void Print(std::ostream& os) const override;
541 uint32_t GetSerializedSize() const override;
542 void Serialize(Buffer::Iterator start) const override;
543 uint32_t Deserialize(Buffer::Iterator start) override;
544
545 private:
546 uint16_t m_transactionId; ///< transaction ID
547 uint8_t m_confirmationCode; ///< confirmation code
548 // TLV Encoded Information
549 ServiceFlow m_serviceFlow; ///< service flow
550 uint32_t m_sfid; ///< SFID
551 Cid m_cid; ///< CID
552};
553
554} // namespace ns3
555
556#endif /* DSA_RSP_H */
557
558// ---------------------------------------------------------------------
559
560#ifndef DSA_ACK_H
561#define DSA_ACK_H
562
563#include "ns3/buffer.h"
564#include "ns3/header.h"
565
566#include <stdint.h>
567
568namespace ns3
569{
570
571/**
572 * \ingroup wimax
573 * This class implements the DSA-ACK message described by "IEEE Standard for
574 * Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access
575 * Systems" 6.3.2.3.12 DSA-ACK message, page 64
576 */
577class DsaAck : public Header
578{
579 public:
580 DsaAck();
581 ~DsaAck() override;
582
583 /**
584 * Set transaction ID field
585 * \param transactionId the transaction ID
586 */
587 void SetTransactionId(uint16_t transactionId);
588 /**
589 * Get transaction ID field
590 * \returns the transaction ID
591 */
592 uint16_t GetTransactionId() const;
593
594 /**
595 * Set confirmation code field
596 * \param confirmationCode the confirmation code
597 */
598 void SetConfirmationCode(uint16_t confirmationCode);
599 /**
600 * Get confirmation code field
601 * \returns the confirmation code
602 */
603 uint16_t GetConfirmationCode() const;
604
605 /**
606 * Get name field
607 * \return the name string
608 */
609 std::string GetName() const;
610 /**
611 * \brief Get the type ID.
612 * \return the object TypeId
613 */
614 static TypeId GetTypeId();
615 TypeId GetInstanceTypeId() const override;
616 void Print(std::ostream& os) const override;
617 uint32_t GetSerializedSize() const override;
618 void Serialize(Buffer::Iterator start) const override;
619 uint32_t Deserialize(Buffer::Iterator start) override;
620
621 private:
622 uint16_t m_transactionId; ///< transaction ID
623 uint8_t m_confirmationCode; ///< confirmation code
624};
625
626} // namespace ns3
627
628#endif /* DSA_ACK_H */
629
630// ---------------------------------------------------------------------
631
632#ifndef RNG_REQ_H
633#define RNG_REQ_H
634
635#include "service-flow.h"
636
637#include "ns3/header.h"
638#include "ns3/mac48-address.h"
639
640#include <stdint.h>
641
642namespace ns3
643{
644
645/**
646 * \ingroup wimax
647 * This class implements the ranging request message described by "IEEE Standard for
648 * Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access
649 * Systems"
650 */
651class RngReq : public Header
652{
653 public:
654 RngReq();
655 ~RngReq() override;
656
657 /**
658 * Set request DL burst profile field
659 * \param reqDlBurstProfile the request DL burst profile
660 */
661 void SetReqDlBurstProfile(uint8_t reqDlBurstProfile);
662 /**
663 * Set MAC address field
664 * \param macAddress the MAC address
665 */
666 void SetMacAddress(Mac48Address macAddress);
667 /**
668 * Set ranging anomalies field
669 * \param rangingAnomalies the rnaging anomalies
670 */
671 void SetRangingAnomalies(uint8_t rangingAnomalies);
672
673 /**
674 * Get request DL burst profile field
675 * \returns the request DL burst profile
676 */
677 uint8_t GetReqDlBurstProfile() const;
678 /**
679 * Get MAC address field
680 * \returns the MAC address
681 */
683 /**
684 * Get ranging anomalies field
685 * \returns the ranging anomalies
686 */
687 uint8_t GetRangingAnomalies() const;
688
689 /**
690 * \brief Get name field
691 * \returns the name string
692 */
693 std::string GetName() const;
694 /**
695 * \brief Get the type ID.
696 * \return the object TypeId
697 */
698 static TypeId GetTypeId();
699 TypeId GetInstanceTypeId() const override;
700 void Print(std::ostream& os) const override;
701 /// Print debug function
702 void PrintDebug() const;
703 uint32_t GetSerializedSize() const override;
704 void Serialize(Buffer::Iterator start) const override;
705 uint32_t Deserialize(Buffer::Iterator start) override;
706
707 private:
708 uint8_t m_reserved; ///< changed as per the amendment 802.16e-2005
709
710 // TLV Encoded Information
711 uint8_t m_reqDlBurstProfile; ///< request DL burst profile
712 Mac48Address m_macAddress; ///< MAC address
713 uint8_t m_rangingAnomalies; ///< ranging anomalies
714};
715
716} // namespace ns3
717
718#endif /* RNG_REQ_H */
iterator in a Buffer instance
Definition buffer.h:89
Cid class.
Definition cid.h:26
This class implements the DSA-ACK message described by "IEEE Standard forLocal and metropolitan area ...
uint32_t Deserialize(Buffer::Iterator start) override
void SetConfirmationCode(uint16_t confirmationCode)
Set confirmation code field.
void SetTransactionId(uint16_t transactionId)
Set transaction ID field.
static TypeId GetTypeId()
Get the type ID.
uint16_t m_transactionId
transaction ID
void Serialize(Buffer::Iterator start) const override
uint32_t GetSerializedSize() const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint16_t GetTransactionId() const
Get transaction ID field.
uint16_t GetConfirmationCode() const
Get confirmation code field.
void Print(std::ostream &os) const override
~DsaAck() override
std::string GetName() const
Get name field.
uint8_t m_confirmationCode
confirmation code
This class implements the DSA-REQ message described by "IEEE Standard forLocal and metropolitan area ...
Cid GetCid() const
~DsaReq() override
uint32_t Deserialize(Buffer::Iterator start) override
uint32_t GetSfid() const
void SetTransactionId(uint16_t transactionId)
set the transaction ID
ServiceFlow GetServiceFlow() const
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Cid m_cid
CID.
std::string GetName() const
void Print(std::ostream &os) const override
uint16_t GetTransactionId() const
static TypeId GetTypeId()
Get the type ID.
uint32_t GetSerializedSize() const override
ServiceFlow m_serviceFlow
service flow
void Serialize(Buffer::Iterator start) const override
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
uint32_t m_sfid
SFID.
void SetSfid(uint32_t sfid)
set the service flow identifier
void SetCid(Cid cid)
set the connection identifier
uint16_t m_transactionId
transaction ID
This class implements the DSA-RSP message described by "IEEE Standard forLocal and metropolitan area ...
void SetConfirmationCode(uint16_t confirmationCode)
set the confirmation code
static TypeId GetTypeId()
Get the type ID.
uint32_t m_sfid
SFID.
uint32_t GetSerializedSize() const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
~DsaRsp() override
Cid GetCid() const
ServiceFlow m_serviceFlow
service flow
ServiceFlow GetServiceFlow() const
std::string GetName() const
void Serialize(Buffer::Iterator start) const override
void SetSfid(uint32_t sfid)
set the service flow identifier
uint16_t GetTransactionId() const
uint16_t m_transactionId
transaction ID
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
uint32_t GetSfid() const
void SetTransactionId(uint16_t transactionId)
set the transaction ID
Cid m_cid
CID.
uint16_t GetConfirmationCode() const
uint8_t m_confirmationCode
confirmation code
uint32_t Deserialize(Buffer::Iterator start) override
void Print(std::ostream &os) const override
void SetCid(Cid cid)
set the connection identifier
Protocol header serialization and deserialization.
Definition header.h:33
an EUI-48 address
Mac Management messages Section 6.3.2.3 MAC Management messages page 42, Table 14 page 43.
static TypeId GetTypeId()
Get the type ID.
MessageType
Message type enumeration.
uint32_t GetSerializedSize() const override
uint32_t Deserialize(Buffer::Iterator start) override
void Print(std::ostream &os) const override
std::string GetName() const
void Serialize(Buffer::Iterator start) const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint8_t GetType() const
Get type field.
void SetType(uint8_t type)
Set type field.
This class implements the ranging request message described by "IEEE Standard forLocal and metropolit...
uint8_t m_rangingAnomalies
ranging anomalies
~RngReq() override
void SetReqDlBurstProfile(uint8_t reqDlBurstProfile)
Set request DL burst profile field.
uint32_t Deserialize(Buffer::Iterator start) override
void Serialize(Buffer::Iterator start) const override
uint8_t GetReqDlBurstProfile() const
Get request DL burst profile field.
void SetRangingAnomalies(uint8_t rangingAnomalies)
Set ranging anomalies field.
uint8_t m_reserved
changed as per the amendment 802.16e-2005
void SetMacAddress(Mac48Address macAddress)
Set MAC address field.
uint32_t GetSerializedSize() const override
uint8_t GetRangingAnomalies() const
Get ranging anomalies field.
std::string GetName() const
Get name field.
uint8_t m_reqDlBurstProfile
request DL burst profile
void PrintDebug() const
Print debug function.
void Print(std::ostream &os) const override
Mac48Address GetMacAddress() const
Get MAC address field.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
static TypeId GetTypeId()
Get the type ID.
Mac48Address m_macAddress
MAC address.
This class implements the ranging response message described by "IEEE Standard forLocal and metropoli...
uint32_t Deserialize(Buffer::Iterator start) override
void SetMacAddress(Mac48Address macAddress)
set the MAC address
Mac48Address m_macAddress
MAC address.
uint16_t m_dlOperBurstProfile
This parameter is sent in response to the RNG-REQ Requested Downlink Burst Profile parameter.
Mac48Address GetMacAddress() const
uint32_t GetTimingAdjust() const
Cid m_primaryCid
primary CID
void SetUlChnlIdOverride(uint8_t ulChnlIdOverride)
set the identifier of the uplink channel with which the SS is to redo initial ranging
Cid GetPrimaryCid() const
uint8_t GetRangSubchnl() const
void Print(std::ostream &os) const override
uint32_t GetSerializedSize() const override
uint8_t m_aasBdcastPermission
AAS broadcast permission.
uint8_t m_rangStatus
range status.
void SetBasicCid(Cid basicCid)
set basic CID.
uint8_t GetPowerLevelAdjust() const
uint32_t m_dlFreqOverride
Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging.
uint8_t GetRangStatus() const
uint32_t GetOffsetFreqAdjust() const
void Serialize(Buffer::Iterator start) const override
void SetAasBdcastPermission(uint8_t aasBdcastPermission)
set AAS broadcast permission.
void SetDlOperBurstProfile(uint16_t dlOperBurstProfile)
set the DL oper burst profile
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint16_t GetDlOperBurstProfile() const
void SetPrimaryCid(Cid primaryCid)
set primary CID.
uint8_t m_initRangOppNumber
Initial Ranging opportunity (1–255) in which the associated RNG_REQ message was detected by the BS.
uint8_t GetUlChnlIdOverride() const
void SetRangSubchnl(uint8_t rangSubchnl)
set range sub channel.
~RngRsp() override
uint8_t m_rangSubchnl
Used to indicate the OFDM subchannel reference that was used to transmit the initial ranging message ...
uint32_t GetDlFreqOverride() const
void SetPowerLevelAdjust(uint8_t powerLevelAdjust)
set the relative change in transmission power level that the SS should make in order that transmissio...
void SetInitRangOppNumber(uint8_t initRangOppNumber)
set initial range opp number.
void SetTimingAdjust(uint32_t timingAdjust)
set the Tx timing offset adjustment (signed 32-bit).
uint8_t m_ulChnlIdOverride
Licensed bands: The identifier of the uplink channel with which the SS is to redo initial ranging (no...
uint8_t m_powerLevelAdjust
Specifies the relative change in transmission power level that the SS is to make in order that transm...
void SetFrameNumber(uint32_t frameNumber)
set frame number.
Cid GetBasicCid() const
void SetDlFreqOverride(uint32_t dlFreqOverride)
set the Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging.
std::string GetName() const
void SetOffsetFreqAdjust(uint32_t offsetFreqAdjust)
set the relative change in transmission frequency that the SS should take in order to better match th...
uint32_t GetFrameNumber() const
uint8_t m_reserved
changed as per the amendment 802.16e-2005
uint32_t m_offsetFreqAdjust
Specifies the relative change in transmission frequency that the SS is to make in order to better mat...
Cid m_basicCid
basic CID
void SetRangStatus(uint8_t rangStatus)
set the range status.
uint32_t m_timingAdjust
Tx timing offset adjustment (signed 32-bit).
uint8_t GetInitRangOppNumber() const
uint32_t m_frameNumber
Frame number where the associated RNG_REQ message was detected by the BS.
uint8_t GetAasBdcastPermission() const
static TypeId GetTypeId()
Register this type.
This class implements service flows as described by the IEEE-802.16 standard.
a unique identifier for an interface.
Definition type-id.h:48
Every class exported by the ns3 library is enclosed in the ns3 namespace.