A Discrete-Event Network Simulator
API
mac-messages.cc
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2007,2008,2009 INRIA, UDcast
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Authors: Jahanzeb Farooq <jahanzeb.farooq@sophia.inria.fr>
19  * Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
20  * <amine.ismail@UDcast.com>
21  */
22 
23 #include "mac-messages.h"
24 #include "ns3/address-utils.h"
25 #include "ns3/uinteger.h"
26 #include "ns3/log.h"
27 #include "wimax-tlv.h"
28 
29 namespace ns3 {
30 
31 NS_LOG_COMPONENT_DEFINE ("MACMESSAGES");
32 
33 NS_OBJECT_ENSURE_REGISTERED (ManagementMessageType);
34 
36  : m_type (~0)
37 {
38 }
39 
41  : m_type (type)
42 {
43 }
44 
46 {
47 }
48 
49 void
51 {
52  m_type = type;
53 }
54 
55 uint8_t
57 {
58  return m_type;
59 }
60 
61 std::string
63 {
64  return "Management Message Type";
65 }
66 
67 TypeId
69 {
70  static TypeId tid =
71  TypeId ("ns3::ManagementMessageType")
72  .SetParent<Header> ()
73  .SetGroupName("Wimax")
74  .AddConstructor<ManagementMessageType> ()
75  ;
76  return tid;
77 }
78 
79 TypeId
81 {
82  return GetTypeId ();
83 }
84 
85 void
86 ManagementMessageType::Print (std::ostream &os) const
87 {
88  os << " management message type = " << (uint32_t) m_type;
89 }
90 
91 uint32_t
93 {
94  return 1;
95 }
96 
97 void
99 {
101  i.WriteU8 (m_type);
102 }
103 
104 uint32_t
106 {
108  m_type = i.ReadU8 ();
109  return i.GetDistanceFrom (start);
110 }
111 
112 // ---------------------------------------------------------------------
113 
115 
117  : m_reserved (0),
118  m_reqDlBurstProfile (0),
119  m_macAddress (Mac48Address ("00:00:00:00:00:00")),
120  m_rangingAnomalies (0)
121 {
122 }
123 
125 {
126 }
127 
128 void
129 RngReq::SetReqDlBurstProfile (uint8_t reqDlBurstProfile)
130 {
131  m_reqDlBurstProfile = reqDlBurstProfile;
132 }
133 
134 void
136 {
137  m_macAddress = macAddress;
138 }
139 
140 void
141 RngReq::SetRangingAnomalies (uint8_t rangingAnomalies)
142 {
143  m_rangingAnomalies = rangingAnomalies;
144 }
145 
146 uint8_t
148 {
149  return m_reqDlBurstProfile;
150 }
151 
154 {
155  return m_macAddress;
156 }
157 
158 uint8_t
160 {
161  return m_rangingAnomalies;
162 }
163 
164 std::string
165 RngReq::GetName (void) const
166 {
167  return "RNG-REQ";
168 }
169 
170 TypeId
172 {
173  static TypeId tid = TypeId ("ns3::RngReq")
174  .SetParent<Header> ()
175  .SetGroupName("Wimax")
176  .AddConstructor<RngReq> ()
177  ;
178  return tid;
179 }
180 
181 TypeId
183 {
184  return GetTypeId ();
185 }
186 
187 void
188 RngReq::Print (std::ostream &os) const
189 {
190  os << " requested dl burst profile = " << (uint32_t) m_reqDlBurstProfile << ", mac address = " << m_macAddress
191  << ", ranging anomalies = " << (uint32_t) m_rangingAnomalies;
192 }
193 
194 void
195 RngReq::PrintDebug (void) const
196 {
197  NS_LOG_DEBUG (" requested dl burst profile = " << (uint32_t) m_reqDlBurstProfile << ", mac address = "
198  << m_macAddress << ", ranging anomalies = "
199  << (uint32_t) m_rangingAnomalies);
200 }
201 
202 uint32_t
204 {
205  return 1 + 1 + 6 + 1;
206 }
207 
208 void
210 {
212  i.WriteU8 (m_reserved);
214  WriteTo (i, m_macAddress);
216 }
217 
218 uint32_t
220 {
222  m_reserved = i.ReadU8 ();
224  ReadFrom (i, m_macAddress);
225  m_rangingAnomalies = i.ReadU8 ();
226 
227  return i.GetDistanceFrom (start);
228 }
229 
230 // ---------------------------------------------------------------------
231 
233 
235  : m_reserved (0),
236  m_timingAdjust (0),
237  m_powerLevelAdjust (0),
238  m_offsetFreqAdjust (0),
239  m_rangStatus (0),
240  m_dlFreqOverride (0),
241  m_ulChnlIdOverride (0),
242  m_dlOperBurstProfile (0),
243  m_macAddress (Mac48Address ("00:00:00:00:00:00")),
244  m_basicCid (),
245  m_primaryCid (),
246  m_aasBdcastPermission (0),
247  m_frameNumber (0),
248  m_initRangOppNumber (0),
249  m_rangSubchnl (0)
250 {
251 }
252 
254 {
255 }
256 
257 void
258 RngRsp::SetTimingAdjust (uint32_t timingAdjust)
259 {
260  m_timingAdjust = timingAdjust;
261 }
262 
263 void
264 RngRsp::SetPowerLevelAdjust (uint8_t powerLevelAdjust)
265 {
266  m_powerLevelAdjust = powerLevelAdjust;
267 }
268 
269 void
270 RngRsp::SetOffsetFreqAdjust (uint32_t offsetFreqAdjust)
271 {
272  m_offsetFreqAdjust = offsetFreqAdjust;
273 }
274 
275 void
276 RngRsp::SetRangStatus (uint8_t rangStatus)
277 {
278  m_rangStatus = rangStatus;
279 }
280 
281 void
282 RngRsp::SetDlFreqOverride (uint32_t dlFreqOverride)
283 {
284  m_dlFreqOverride = dlFreqOverride;
285 }
286 
287 void
288 RngRsp::SetUlChnlIdOverride (uint8_t ulChnlIdOverride)
289 {
290  m_ulChnlIdOverride = ulChnlIdOverride;
291 }
292 
293 void
294 RngRsp::SetDlOperBurstProfile (uint16_t dlOperBurstProfile)
295 {
296  m_dlOperBurstProfile = dlOperBurstProfile;
297 }
298 
299 void
301 {
302  m_macAddress = macAddress;
303 }
304 
305 void
307 {
308  m_basicCid = basicCid;
309 }
310 
311 void
313 {
314  m_primaryCid = primaryCid;
315 }
316 
317 void
318 RngRsp::SetAasBdcastPermission (uint8_t aasBdcastPermission)
319 {
320  m_aasBdcastPermission = aasBdcastPermission;
321 }
322 
323 void
324 RngRsp::SetFrameNumber (uint32_t frameNumber)
325 {
326  m_frameNumber = frameNumber;
327 }
328 
329 void
330 RngRsp::SetInitRangOppNumber (uint8_t initRangOppNumber)
331 {
332  m_initRangOppNumber = initRangOppNumber;
333 }
334 
335 void
336 RngRsp::SetRangSubchnl (uint8_t rangSubchnl)
337 {
338  m_rangSubchnl = rangSubchnl;
339 }
340 
341 uint32_t
343 {
344  return m_timingAdjust;
345 }
346 
347 uint8_t
349 {
350  return m_powerLevelAdjust;
351 }
352 
353 uint32_t
355 {
356  return m_offsetFreqAdjust;
357 }
358 
359 uint8_t
361 {
362  return m_rangStatus;
363 }
364 
365 uint32_t
367 {
368  return m_dlFreqOverride;
369 }
370 
371 uint8_t
373 {
374  return m_ulChnlIdOverride;
375 }
376 
377 uint16_t
379 {
380  return m_dlOperBurstProfile;
381 }
382 
385 {
386  return m_macAddress;
387 }
388 
389 Cid
391 {
392  return m_basicCid;
393 }
394 
395 Cid
397 {
398  return m_primaryCid;
399 }
400 
401 uint8_t
403 {
404  return m_aasBdcastPermission;
405 }
406 
407 uint32_t
409 {
410  return m_frameNumber;
411 }
412 
413 uint8_t
415 {
416  return m_initRangOppNumber;
417 }
418 
419 uint8_t
421 {
422  return m_rangSubchnl;
423 }
424 
425 std::string
426 RngRsp::GetName (void) const
427 {
428  return "RNG-RSP";
429 }
430 
431 TypeId
433 {
434  static TypeId tid = TypeId ("ns3::RngRsp")
435  .SetParent<Header> ()
436  .SetGroupName("Wimax")
437  .AddConstructor<RngRsp> ()
438  ;
439  return tid;
440 }
441 
442 TypeId
444 {
445  return GetTypeId ();
446 }
447 
448 void
449 RngRsp::Print (std::ostream &os) const
450 {
451  os << " timing adjust = " << m_timingAdjust << ", power level adjust = " << (uint32_t) m_powerLevelAdjust
452  << ", offset freq adjust = " << m_offsetFreqAdjust << ", ranging status = " << (uint32_t) m_rangStatus
453  << ", dl freq override = " << m_dlFreqOverride << ", ul channel id override = " << (uint32_t) m_ulChnlIdOverride
454  << ", dl operational burst profile = " << (uint32_t) m_dlOperBurstProfile << ", mac address = " << m_macAddress
455  << ", basic cid = " << m_basicCid << ", primary management cid = " << m_primaryCid
456  << ", aas broadcast permission = " << (uint32_t) m_aasBdcastPermission << ", frame number = " << m_frameNumber
457  << ", initial ranging opportunity number = " << (uint32_t) m_initRangOppNumber << ", ranging subchannel = "
458  << (uint32_t) m_rangSubchnl;
459 }
460 
461 uint32_t
463 {
464  return 1 + 4 + 1 + 4 + 1 + 4 + 1 + 2 + 6 + 2 + 2 + 1 + 4 + 1 + 1;
465 }
466 
467 void
469 {
471  i.WriteU8 (m_reserved);
475  i.WriteU8 (m_rangStatus);
479  WriteTo (i, m_macAddress);
486 }
487 
488 uint32_t
490 {
492  m_reserved = i.ReadU8 ();
493  m_timingAdjust = i.ReadU32 ();
494  m_powerLevelAdjust = i.ReadU8 ();
496  m_rangStatus = i.ReadU8 ();
497  m_dlFreqOverride = i.ReadU32 ();
498  m_ulChnlIdOverride = i.ReadU8 ();
500  ReadFrom (i, m_macAddress); // length (6) shall also be written in packet instead of hard coded, see ARP example
501  m_basicCid = i.ReadU16 ();
502  m_primaryCid = i.ReadU16 ();
504  m_frameNumber = i.ReadU32 ();
506  m_rangSubchnl = i.ReadU8 ();
507 
508  return i.GetDistanceFrom (start);
509 }
510 
511 // ---------------------------------------------------------------------
512 
514 
516  : m_transactionId (0),
517  m_sfid (0),
518  m_cid (),
519  m_serviceFlow (ServiceFlow::SF_DIRECTION_DOWN)
520 {
521 }
522 
524 {
525  m_transactionId = 0;
526  m_serviceFlow = sf;
527 }
528 
530 {
531 }
532 
533 void
534 DsaReq::SetTransactionId (uint16_t transactionId)
535 {
536  m_transactionId = transactionId;
537 }
538 
539 uint16_t
541 {
542  return m_transactionId;
543 }
544 
545 void
546 DsaReq::SetSfid (uint32_t sfid)
547 {
548  m_sfid = sfid;
549 }
550 
551 uint32_t
552 DsaReq::GetSfid (void) const
553 {
554  return m_sfid;
555 }
556 
557 void
559 {
560  m_cid = cid;
561 }
562 
563 Cid
564 DsaReq::GetCid (void) const
565 {
566  return m_cid;
567 }
568 
569 
570 std::string
571 DsaReq::GetName (void) const
572 {
573  return "DSA-REQ";
574 }
575 
576 TypeId
578 {
579  static TypeId tid = TypeId ("ns3::DsaReq")
580  .SetParent<Header> ()
581  .SetGroupName("Wimax")
582  .AddConstructor<DsaReq> ()
583  ;
584  return tid;
585 }
586 
587 TypeId
589 {
590  return GetTypeId ();
591 }
592 
593 void
594 DsaReq::Print (std::ostream &os) const
595 {
596  os << " transaction id = " << (uint32_t) m_transactionId << ", m_sfid = " << m_sfid << ", cid = " << m_cid;
597 }
598 
599 uint32_t
601 {
602  Tlv t = m_serviceFlow.ToTlv ();
603  uint32_t size = 2 + t.GetSerializedSize ();
604  return size;
605 }
606 
607 void
609 {
612  Tlv t = m_serviceFlow.ToTlv ();
613  t.Serialize (i);
614 }
615 
616 uint32_t
618 {
620  m_transactionId = i.ReadU16 ();
621  Tlv tlv;
622  uint32_t size = tlv.Deserialize (i);
623  m_serviceFlow = ServiceFlow (tlv);
624  return size + 2;
625 }
626 
629 {
630  return m_serviceFlow;
631 }
632 
633 void
635 {
636  m_serviceFlow = sf;
637 }
638 
639 // ---------------------------------------------------------------------
640 
642 
644  : m_transactionId (0),
645  m_confirmationCode (0),
646  m_sfid (0),
647  m_cid ()
648 {
649 }
650 
652 {
653 }
654 
655 void
656 DsaRsp::SetTransactionId (uint16_t transactionId)
657 {
658  m_transactionId = transactionId;
659 }
660 
661 uint16_t
663 {
664  return m_transactionId;
665 }
666 
669 {
670  return m_serviceFlow;
671 }
672 
673 void
675 {
676  m_serviceFlow = sf;
677 }
678 
679 void
680 DsaRsp::SetConfirmationCode (uint16_t confirmationCode)
681 {
682  m_confirmationCode = confirmationCode;
683 }
684 
685 uint16_t
687 {
688  return m_confirmationCode;
689 }
690 
691 void
692 DsaRsp::SetSfid (uint32_t sfid)
693 {
694  m_sfid = sfid;
695 }
696 
697 uint32_t
698 DsaRsp::GetSfid (void) const
699 {
700  return m_sfid;
701 }
702 
703 void
705 {
706  m_cid = cid;
707 }
708 
709 Cid
710 DsaRsp::GetCid (void) const
711 {
712  return m_cid;
713 }
714 
715 std::string
716 DsaRsp::GetName (void) const
717 {
718  return "DSA-RSP";
719 }
720 
721 TypeId
723 {
724  static TypeId tid = TypeId ("ns3::DsaRsp")
725  .SetParent<Header> ()
726  .SetGroupName("Wimax")
727  .AddConstructor<DsaRsp> ()
728  ;
729  return tid;
730 }
731 
732 TypeId
734 {
735  return GetTypeId ();
736 }
737 
738 void
739 DsaRsp::Print (std::ostream &os) const
740 {
741  os << " transaction id = " << (uint32_t) m_transactionId << ", confirmation code = " << (uint32_t) m_confirmationCode
742  << ", m_sfid = " << m_sfid << ", cid = " << m_cid;
743 }
744 
745 uint32_t
747 {
748  return 2 + 1 + m_serviceFlow.ToTlv ().GetSerializedSize ();
749 }
750 
751 
752 void
754 {
756 
760 }
761 
762 uint32_t
764 {
766 
767  m_transactionId = i.ReadU16 ();
768  m_confirmationCode = i.ReadU8 ();
769  Tlv tlv;
770  uint32_t size = tlv.Deserialize (i);
771  m_serviceFlow = ServiceFlow (tlv);
772  return size + 3;
773 }
774 
775 // ---------------------------------------------------------------------
776 
778 
780  : m_transactionId (0),
781  m_confirmationCode (0)
782 {
783 }
784 
786 {
787 }
788 
789 void
790 DsaAck::SetTransactionId (uint16_t transactionId)
791 {
792  m_transactionId = transactionId;
793 }
794 
795 uint16_t
797 {
798  return m_transactionId;
799 }
800 
801 void
802 DsaAck::SetConfirmationCode (uint16_t confirmationCode)
803 {
804  m_confirmationCode = confirmationCode;
805 }
806 
807 uint16_t
809 {
810  return m_confirmationCode;
811 }
812 
813 std::string
814 DsaAck::GetName (void) const
815 {
816  return "DSA-ACK";
817 }
818 
819 TypeId
821 {
822  static TypeId tid = TypeId ("ns3::DsaAck")
823  .SetParent<Header> ()
824  .SetGroupName("Wimax")
825  .AddConstructor<DsaAck> ()
826  ;
827  return tid;
828 }
829 
830 TypeId
832 {
833  return GetTypeId ();
834 }
835 
836 void
837 DsaAck::Print (std::ostream &os) const
838 {
839  os << " transaction id = " << (uint32_t) m_transactionId << ", confirmation code = " << (uint32_t) m_confirmationCode;
840 }
841 
842 uint32_t
844 {
845  return 2 + 1;
846 }
847 
848 void
850 {
854 }
855 
856 uint32_t
858 {
860  m_transactionId = i.ReadU16 ();
861  m_confirmationCode = i.ReadU8 ();
862 
863  return i.GetDistanceFrom (start);
864 }
865 
866 } // namespace ns3
ns3::DsaRsp::GetServiceFlow
ServiceFlow GetServiceFlow(void) const
Definition: mac-messages.cc:668
ns3::DsaAck::m_transactionId
uint16_t m_transactionId
transaction ID
Definition: mac-messages.h:617
ns3::RngRsp::GetBasicCid
Cid GetBasicCid(void) const
Definition: mac-messages.cc:390
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
NS_LOG_COMPONENT_DEFINE
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition: log.h:205
ns3::DsaRsp::SetSfid
void SetSfid(uint32_t sfid)
set the service flow identifier
Definition: mac-messages.cc:692
ns3::Tlv::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: wimax-tlv.cc:147
ns3::DsaRsp::GetTransactionId
uint16_t GetTransactionId(void) const
Definition: mac-messages.cc:662
ns3::DsaAck::~DsaAck
~DsaAck(void)
Definition: mac-messages.cc:785
ns3::DsaRsp::m_serviceFlow
ServiceFlow m_serviceFlow
service flow
Definition: mac-messages.h:545
ns3::RngRsp::SetDlFreqOverride
void SetDlFreqOverride(uint32_t dlFreqOverride)
set the Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging.
Definition: mac-messages.cc:282
ns3::ManagementMessageType::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: mac-messages.cc:80
NS_OBJECT_ENSURE_REGISTERED
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition: object-base.h:45
ns3::RngRsp::m_macAddress
Mac48Address m_macAddress
MAC address.
Definition: mac-messages.h:325
ns3::Cid
Cid class.
Definition: cid.h:38
ns3::DsaReq::GetTransactionId
uint16_t GetTransactionId(void) const
Definition: mac-messages.cc:540
ns3::RngRsp::SetRangStatus
void SetRangStatus(uint8_t rangStatus)
set the range status.
Definition: mac-messages.cc:276
ns3::RngRsp::Print
void Print(std::ostream &os) const
Definition: mac-messages.cc:449
ns3::RngRsp::SetDlOperBurstProfile
void SetDlOperBurstProfile(uint16_t dlOperBurstProfile)
set the DL oper burst profile
Definition: mac-messages.cc:294
ns3::Tlv::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition: wimax-tlv.cc:127
ns3::ManagementMessageType::GetSerializedSize
uint32_t GetSerializedSize(void) const
Definition: mac-messages.cc:92
ns3::RngReq::m_reqDlBurstProfile
uint8_t m_reqDlBurstProfile
request DL burst profile
Definition: mac-messages.h:701
ns3::RngReq::GetMacAddress
Mac48Address GetMacAddress(void) const
Get MAC address field.
Definition: mac-messages.cc:153
ns3::DsaAck::Serialize
void Serialize(Buffer::Iterator start) const
Definition: mac-messages.cc:849
ns3::RngRsp::m_rangStatus
uint8_t m_rangStatus
range status.
Definition: mac-messages.h:307
ns3::DsaRsp::m_sfid
uint32_t m_sfid
SFID.
Definition: mac-messages.h:546
ns3::DsaAck::DsaAck
DsaAck(void)
Definition: mac-messages.cc:779
ns3::DsaAck::GetSerializedSize
uint32_t GetSerializedSize(void) const
Definition: mac-messages.cc:843
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::Cid::GetIdentifier
uint16_t GetIdentifier(void) const
Definition: cid.cc:45
ns3::Buffer::Iterator::GetDistanceFrom
uint32_t GetDistanceFrom(Iterator const &o) const
Definition: buffer.cc:788
ns3::DsaReq::SetSfid
void SetSfid(uint32_t sfid)
set the service flow identifier
Definition: mac-messages.cc:546
ns3::RngRsp::m_basicCid
Cid m_basicCid
basic CID
Definition: mac-messages.h:326
ns3::ManagementMessageType::ManagementMessageType
ManagementMessageType(void)
Definition: mac-messages.cc:35
ns3::RngRsp::GetRangStatus
uint8_t GetRangStatus(void) const
Definition: mac-messages.cc:360
ns3::Buffer::Iterator::ReadU8
uint8_t ReadU8(void)
Definition: buffer.h:1021
ns3::ManagementMessageType
Mac Management messages Section 6.3.2.3 MAC Management messages page 42, Table 14 page 43.
Definition: mac-messages.h:44
ns3::RngRsp::SetInitRangOppNumber
void SetInitRangOppNumber(uint8_t initRangOppNumber)
set initial range opp number.
Definition: mac-messages.cc:330
ns3::RngRsp::SetPrimaryCid
void SetPrimaryCid(Cid primaryCid)
set primary CID.
Definition: mac-messages.cc:312
ns3::ManagementMessageType::SetType
void SetType(uint8_t type)
Set type field.
Definition: mac-messages.cc:50
ns3::RngRsp::m_powerLevelAdjust
uint8_t m_powerLevelAdjust
Specifies the relative change in transmission power level that the SS is to make in order that transm...
Definition: mac-messages.h:296
ns3::RngRsp::SetBasicCid
void SetBasicCid(Cid basicCid)
set basic CID.
Definition: mac-messages.cc:306
ns3::ManagementMessageType::Serialize
void Serialize(Buffer::Iterator start) const
Definition: mac-messages.cc:98
ns3::DsaReq::GetName
std::string GetName(void) const
Definition: mac-messages.cc:571
ns3::Buffer::Iterator::WriteU8
void WriteU8(uint8_t data)
Definition: buffer.h:869
ns3::RngRsp::m_rangSubchnl
uint8_t m_rangSubchnl
Used to indicate the OFDM subchannel reference that was used to transmit the initial ranging message ...
Definition: mac-messages.h:346
ns3::Buffer::Iterator::WriteU16
void WriteU16(uint16_t data)
Definition: buffer.cc:871
ns3::RngReq::RngReq
RngReq(void)
Definition: mac-messages.cc:116
ns3::Mac48Address
an EUI-48 address
Definition: mac48-address.h:44
wimax-tlv.h
ns3::DsaRsp::m_cid
Cid m_cid
CID.
Definition: mac-messages.h:547
ns3::RngReq::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: mac-messages.cc:182
ns3::RngRsp::SetAasBdcastPermission
void SetAasBdcastPermission(uint8_t aasBdcastPermission)
set AAS broadcast permission.
Definition: mac-messages.cc:318
ns3::RngReq::GetReqDlBurstProfile
uint8_t GetReqDlBurstProfile(void) const
Get request DL burst profile field.
Definition: mac-messages.cc:147
ns3::DsaReq::Serialize
void Serialize(Buffer::Iterator start) const
Definition: mac-messages.cc:608
ns3::RngReq::Print
void Print(std::ostream &os) const
Definition: mac-messages.cc:188
ns3::DsaReq::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: mac-messages.cc:577
ns3::TypeId::SetParent
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition: type-id.cc:923
ns3::DsaRsp::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: mac-messages.cc:733
ns3::Tlv::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition: wimax-tlv.cc:103
ns3::DsaReq::GetSerializedSize
uint32_t GetSerializedSize(void) const
Definition: mac-messages.cc:600
ns3::RngReq::SetMacAddress
void SetMacAddress(Mac48Address macAddress)
Set MAC address field.
Definition: mac-messages.cc:135
ns3::DsaReq::GetCid
Cid GetCid(void) const
Definition: mac-messages.cc:564
ns3::DsaRsp::GetSfid
uint32_t GetSfid(void) const
Definition: mac-messages.cc:698
ns3::RngRsp::SetUlChnlIdOverride
void SetUlChnlIdOverride(uint8_t ulChnlIdOverride)
set the identifier of the uplink channel with which the SS is to redo initial ranging
Definition: mac-messages.cc:288
ns3::DsaReq::~DsaReq
~DsaReq()
Definition: mac-messages.cc:529
ns3::RngRsp::GetPowerLevelAdjust
uint8_t GetPowerLevelAdjust(void) const
Definition: mac-messages.cc:348
ns3::RngRsp::GetAasBdcastPermission
uint8_t GetAasBdcastPermission(void) const
Definition: mac-messages.cc:402
ns3::RngRsp::m_reserved
uint8_t m_reserved
changed as per the amendment 802.16e-2005
Definition: mac-messages.h:280
ns3::DsaReq::SetServiceFlow
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
Definition: mac-messages.cc:634
ns3::DsaReq::m_transactionId
uint16_t m_transactionId
transaction ID
Definition: mac-messages.h:436
ns3::DsaReq
This class implements the DSA-REQ message described by "IEEE Standard for Local and metropolitan area...
Definition: mac-messages.h:374
visualizer.core.start
def start()
Definition: core.py:1855
ns3::DsaReq::SetCid
void SetCid(Cid cid)
set the connection identifier
Definition: mac-messages.cc:558
ns3::ManagementMessageType::Print
void Print(std::ostream &os) const
Definition: mac-messages.cc:86
ns3::RngReq::GetRangingAnomalies
uint8_t GetRangingAnomalies(void) const
Get ranging anomalies field.
Definition: mac-messages.cc:159
ns3::DsaAck
This class implements the DSA-ACK message described by "IEEE Standard for Local and metropolitan area...
Definition: mac-messages.h:573
ns3::RngRsp::m_dlFreqOverride
uint32_t m_dlFreqOverride
Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging.
Definition: mac-messages.h:310
ns3::RngRsp::GetRangSubchnl
uint8_t GetRangSubchnl(void) const
Definition: mac-messages.cc:420
mac-messages.h
ns3::ManagementMessageType::GetType
uint8_t GetType(void) const
Get type field.
Definition: mac-messages.cc:56
ns3::DsaReq::GetServiceFlow
ServiceFlow GetServiceFlow(void) const
Definition: mac-messages.cc:628
ns3::RngReq::m_rangingAnomalies
uint8_t m_rangingAnomalies
ranging anomalies
Definition: mac-messages.h:703
ns3::DsaAck::SetConfirmationCode
void SetConfirmationCode(uint16_t confirmationCode)
Set confirmation code field.
Definition: mac-messages.cc:802
ns3::DsaAck::GetConfirmationCode
uint16_t GetConfirmationCode(void) const
Get confirmation code field.
Definition: mac-messages.cc:808
ns3::DsaRsp::GetSerializedSize
uint32_t GetSerializedSize(void) const
Definition: mac-messages.cc:746
ns3::RngRsp::SetMacAddress
void SetMacAddress(Mac48Address macAddress)
set the MAC address
Definition: mac-messages.cc:300
ns3::DsaRsp
This class implements the DSA-RSP message described by "IEEE Standard for Local and metropolitan ar...
Definition: mac-messages.h:475
ns3::RngRsp::m_primaryCid
Cid m_primaryCid
primary CID
Definition: mac-messages.h:327
ns3::DsaRsp::GetName
std::string GetName(void) const
Definition: mac-messages.cc:716
ns3::ServiceFlow::ToTlv
Tlv ToTlv(void) const
creates a TLV from this service flow
Definition: service-flow.cc:804
ns3::DsaAck::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: mac-messages.cc:831
ns3::RngRsp::SetRangSubchnl
void SetRangSubchnl(uint8_t rangSubchnl)
set range sub channel.
Definition: mac-messages.cc:336
ns3::RngRsp::SetFrameNumber
void SetFrameNumber(uint32_t frameNumber)
set frame number.
Definition: mac-messages.cc:324
ns3::RngRsp::SetOffsetFreqAdjust
void SetOffsetFreqAdjust(uint32_t offsetFreqAdjust)
set the relative change in transmission frequency that the SS should take in order to better match th...
Definition: mac-messages.cc:270
ns3::RngReq::SetReqDlBurstProfile
void SetReqDlBurstProfile(uint8_t reqDlBurstProfile)
Set request DL burst profile field.
Definition: mac-messages.cc:129
ns3::Header
Protocol header serialization and deserialization.
Definition: header.h:43
ns3::RngRsp::GetInitRangOppNumber
uint8_t GetInitRangOppNumber(void) const
Definition: mac-messages.cc:414
ns3::DsaRsp::m_confirmationCode
uint8_t m_confirmationCode
confirmation code
Definition: mac-messages.h:543
ns3::RngRsp::GetUlChnlIdOverride
uint8_t GetUlChnlIdOverride(void) const
Definition: mac-messages.cc:372
ns3::RngRsp::GetTypeId
static TypeId GetTypeId(void)
Register this type.
Definition: mac-messages.cc:432
ns3::RngReq::GetName
std::string GetName(void) const
Get name field.
Definition: mac-messages.cc:165
ns3::RngReq::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: mac-messages.cc:171
ns3::DsaReq::DsaReq
DsaReq()
Definition: mac-messages.cc:515
ns3::DsaRsp::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: mac-messages.cc:722
ns3::RngRsp::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: mac-messages.cc:443
ns3::RngRsp::m_ulChnlIdOverride
uint8_t m_ulChnlIdOverride
Licensed bands: The identifier of the uplink channel with which the SS is to redo initial ranging (no...
Definition: mac-messages.h:316
ns3::RngRsp::m_aasBdcastPermission
uint8_t m_aasBdcastPermission
AAS broadcast permission.
Definition: mac-messages.h:328
ns3::Tlv
This class implements the Type-Len-Value structure channel encodings as described by "IEEE Standard f...
Definition: wimax-tlv.h:84
ns3::Buffer::Iterator::ReadU16
uint16_t ReadU16(void)
Definition: buffer.h:1029
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::RngRsp::m_timingAdjust
uint32_t m_timingAdjust
Tx timing offset adjustment (signed 32-bit).
Definition: mac-messages.h:288
ns3::RngRsp::RngRsp
RngRsp(void)
Definition: mac-messages.cc:234
ns3::Buffer::Iterator::ReadU32
uint32_t ReadU32(void)
Definition: buffer.cc:973
ns3::DsaRsp::GetConfirmationCode
uint16_t GetConfirmationCode(void) const
Definition: mac-messages.cc:686
ns3::DsaRsp::~DsaRsp
~DsaRsp(void)
Definition: mac-messages.cc:651
ns3::RngReq::m_macAddress
Mac48Address m_macAddress
MAC address.
Definition: mac-messages.h:702
ns3::DsaAck::Print
void Print(std::ostream &os) const
Definition: mac-messages.cc:837
ns3::RngReq::PrintDebug
void PrintDebug(void) const
Print debug function.
Definition: mac-messages.cc:195
ns3::RngRsp::GetTimingAdjust
uint32_t GetTimingAdjust(void) const
Definition: mac-messages.cc:342
ns3::DsaReq::GetSfid
uint32_t GetSfid(void) const
Definition: mac-messages.cc:552
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition: buffer.h:99
ns3::RngRsp::GetDlOperBurstProfile
uint16_t GetDlOperBurstProfile(void) const
Definition: mac-messages.cc:378
ns3::DsaReq::Print
void Print(std::ostream &os) const
Definition: mac-messages.cc:594
ns3::DsaAck::SetTransactionId
void SetTransactionId(uint16_t transactionId)
Set transaction ID field.
Definition: mac-messages.cc:790
ns3::RngRsp::GetSerializedSize
uint32_t GetSerializedSize(void) const
Definition: mac-messages.cc:462
ns3::RngRsp::GetName
std::string GetName(void) const
Definition: mac-messages.cc:426
ns3::RngReq::SetRangingAnomalies
void SetRangingAnomalies(uint8_t rangingAnomalies)
Set ranging anomalies field.
Definition: mac-messages.cc:141
ns3::RngReq::GetSerializedSize
uint32_t GetSerializedSize(void) const
Definition: mac-messages.cc:203
ns3::ManagementMessageType::m_type
uint8_t m_type
type
Definition: mac-messages.h:94
ns3::RngRsp::GetMacAddress
Mac48Address GetMacAddress(void) const
Definition: mac-messages.cc:384
NS_LOG_DEBUG
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
Definition: log.h:273
ns3::RngReq::Serialize
void Serialize(Buffer::Iterator start) const
Definition: mac-messages.cc:209
ns3::RngRsp::GetOffsetFreqAdjust
uint32_t GetOffsetFreqAdjust(void) const
Definition: mac-messages.cc:354
ns3::DsaAck::GetTransactionId
uint16_t GetTransactionId(void) const
Get transaction ID field.
Definition: mac-messages.cc:796
ns3::RngRsp::SetPowerLevelAdjust
void SetPowerLevelAdjust(uint8_t powerLevelAdjust)
set the relative change in transmission power level that the SS should make in order that transmissio...
Definition: mac-messages.cc:264
ns3::DsaRsp::m_transactionId
uint16_t m_transactionId
transaction ID
Definition: mac-messages.h:542
ns3::WriteTo
void WriteTo(Buffer::Iterator &i, Ipv4Address ad)
Write an Ipv4Address to a Buffer.
Definition: address-utils.cc:28
ns3::DsaRsp::SetConfirmationCode
void SetConfirmationCode(uint16_t confirmationCode)
set the confirmation code
Definition: mac-messages.cc:680
ns3::RngRsp::GetDlFreqOverride
uint32_t GetDlFreqOverride(void) const
Definition: mac-messages.cc:366
ns3::DsaRsp::Print
void Print(std::ostream &os) const
Definition: mac-messages.cc:739
ns3::DsaAck::m_confirmationCode
uint8_t m_confirmationCode
confirmation code
Definition: mac-messages.h:618
ns3::RngRsp::m_frameNumber
uint32_t m_frameNumber
Frame number where the associated RNG_REQ message was detected by the BS.
Definition: mac-messages.h:334
ns3::RngRsp::m_offsetFreqAdjust
uint32_t m_offsetFreqAdjust
Specifies the relative change in transmission frequency that the SS is to make in order to better mat...
Definition: mac-messages.h:302
ns3::DsaAck::GetName
std::string GetName(void) const
Get name field.
Definition: mac-messages.cc:814
ns3::DsaReq::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: mac-messages.cc:588
ns3::ServiceFlow
This class implements service flows as described by the IEEE-802.16 standard.
Definition: service-flow.h:40
ns3::RngRsp::Serialize
void Serialize(Buffer::Iterator start) const
Definition: mac-messages.cc:468
ns3::DsaRsp::SetServiceFlow
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
Definition: mac-messages.cc:674
ns3::DsaReq::m_serviceFlow
ServiceFlow m_serviceFlow
service flow
Definition: mac-messages.h:440
ns3::DsaRsp::SetTransactionId
void SetTransactionId(uint16_t transactionId)
set the transaction ID
Definition: mac-messages.cc:656
ns3::DsaRsp::DsaRsp
DsaRsp(void)
Definition: mac-messages.cc:643
ns3::ManagementMessageType::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: mac-messages.cc:68
ns3::RngRsp::GetFrameNumber
uint32_t GetFrameNumber(void) const
Definition: mac-messages.cc:408
ns3::RngRsp::SetTimingAdjust
void SetTimingAdjust(uint32_t timingAdjust)
set the Tx timing offset adjustment (signed 32-bit).
Definition: mac-messages.cc:258
ns3::RngReq::~RngReq
virtual ~RngReq(void)
Definition: mac-messages.cc:124
ns3::DsaAck::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: mac-messages.cc:820
ns3::Buffer::Iterator::WriteU32
void WriteU32(uint32_t data)
Definition: buffer.cc:879
ns3::ManagementMessageType::~ManagementMessageType
virtual ~ManagementMessageType(void)
Definition: mac-messages.cc:45
ns3::DsaRsp::Serialize
void Serialize(Buffer::Iterator start) const
Definition: mac-messages.cc:753
ns3::RngRsp
This class implements the ranging response message described by "IEEE Standard for Local and metropol...
Definition: mac-messages.h:122
ns3::ManagementMessageType::GetName
std::string GetName(void) const
Definition: mac-messages.cc:62
ns3::DsaRsp::GetCid
Cid GetCid(void) const
Definition: mac-messages.cc:710
ns3::RngRsp::GetPrimaryCid
Cid GetPrimaryCid(void) const
Definition: mac-messages.cc:396
ns3::DsaReq::m_cid
Cid m_cid
CID.
Definition: mac-messages.h:439
ns3::RngRsp::m_dlOperBurstProfile
uint16_t m_dlOperBurstProfile
This parameter is sent in response to the RNG-REQ Requested Downlink Burst Profile parameter.
Definition: mac-messages.h:323
ns3::RngReq::m_reserved
uint8_t m_reserved
changed as per the amendment 802.16e-2005
Definition: mac-messages.h:698
ns3::DsaReq::SetTransactionId
void SetTransactionId(uint16_t transactionId)
set the transaction ID
Definition: mac-messages.cc:534
ns3::DsaRsp::SetCid
void SetCid(Cid cid)
set the connection identifier
Definition: mac-messages.cc:704
ns3::RngRsp::~RngRsp
virtual ~RngRsp(void)
Definition: mac-messages.cc:253
ns3::ReadFrom
void ReadFrom(Buffer::Iterator &i, Ipv4Address &ad)
Read an Ipv4Address from a Buffer.
Definition: address-utils.cc:70
ns3::DsaReq::m_sfid
uint32_t m_sfid
SFID.
Definition: mac-messages.h:438
ns3::RngReq
This class implements the ranging request message described by "IEEE Standard for Local and metropoli...
Definition: mac-messages.h:643
ns3::RngRsp::m_initRangOppNumber
uint8_t m_initRangOppNumber
Initial Ranging opportunity (1–255) in which the associated RNG_REQ message was detected by the BS.
Definition: mac-messages.h:340