A Discrete-Event Network Simulator
API
sixlowpan-header.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2013 Universita' di Firenze, Italy
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  * Author: Tommaso Pecorella <tommaso.pecorella@unifi.it>
19  * Michele Muccio <michelemuccio@virgilio.it>
20  */
21 
22 #ifndef SIXLOWPANHEADER_H_
23 #define SIXLOWPANHEADER_H_
24 
25 #include "ns3/header.h"
26 #include "ns3/ipv6-address.h"
27 
28 namespace ns3 {
29 
46 {
47 public:
77  {
78  LOWPAN_NALP = 0x0,
79  LOWPAN_NALP_N = 0x3F,
80  LOWPAN_IPv6 = 0x41,
81  LOWPAN_HC1 = 0x42,
82  LOWPAN_BC0 = 0x50,
83  LOWPAN_IPHC = 0x60,
84  LOWPAN_IPHC_N = 0x7F,
85  LOWPAN_MESH = 0x80,
86  LOWPAN_MESH_N = 0xBF,
87  LOWPAN_FRAG1 = 0xC0,
89  LOWPAN_FRAGN = 0xE0,
91  LOWPAN_UNSUPPORTED = 0xFF
92  };
93 
101  {
102  LOWPAN_NHC = 0xE0,
103  LOWPAN_NHC_N = 0xEF,
106  LOWPAN_NHCUNSUPPORTED = 0xFF
107  };
108 
109  SixLowPanDispatch (void);
110 
116  static Dispatch_e GetDispatchType (uint8_t dispatch);
117 
123  static NhcDispatch_e GetNhcDispatchType (uint8_t dispatch);
124 
125 };
126 
131 class SixLowPanHc1 : public Header
132 {
133 public:
142  {
143  HC1_PIII = 0x00,
144  HC1_PIIC = 0x01,
145  HC1_PCII = 0x02,
146  HC1_PCIC = 0x03
147  };
148 
156  {
157  HC1_NC = 0x00,
158  HC1_UDP = 0x01,
159  HC1_ICMP = 0x02,
160  HC1_TCP = 0x03
161  };
162 
163  SixLowPanHc1 (void);
164 
169  static TypeId GetTypeId (void);
170 
176  virtual TypeId GetInstanceTypeId (void) const;
177 
178  virtual void Print (std::ostream& os) const;
179 
184  virtual uint32_t GetSerializedSize (void) const;
185 
190  virtual void Serialize (Buffer::Iterator start) const;
191 
197  virtual uint32_t Deserialize (Buffer::Iterator start);
198 
203  void SetHopLimit (uint8_t limit);
204 
209  uint8_t GetHopLimit (void) const;
210 
216 
221  const uint8_t* GetDstInterface () const;
222 
227  const uint8_t* GetDstPrefix () const;
228 
233  uint32_t GetFlowLabel () const;
234 
239  uint8_t GetNextHeader () const;
240 
246 
251  const uint8_t* GetSrcInterface () const;
252 
257  const uint8_t* GetSrcPrefix () const;
258 
263  uint8_t GetTrafficClass () const;
264 
269  bool IsTcflCompression () const;
270 
275  bool IsHc2HeaderPresent () const;
276 
281  void SetDstCompression (LowPanHc1Addr_e dstCompression);
282 
287  void SetDstInterface (const uint8_t* dstInterface);
288 
293  void SetDstPrefix (const uint8_t* dstPrefix);
294 
299  void SetFlowLabel (uint32_t flowLabel);
300 
305  void SetNextHeader (uint8_t nextHeader);
306 
311  void SetSrcCompression (LowPanHc1Addr_e srcCompression);
312 
317  void SetSrcInterface (const uint8_t* srcInterface);
318 
323  void SetSrcPrefix (const uint8_t* srcPrefix);
324 
329  void SetTcflCompression (bool tcflCompression);
330 
335  void SetHc2HeaderPresent (bool hc2HeaderPresent);
336 
341  void SetTrafficClass (uint8_t trafficClass);
342 
343 private:
344  uint8_t m_hopLimit;
345  uint8_t m_srcPrefix[8];
346  uint8_t m_srcInterface[8];
347  uint8_t m_dstPrefix[8];
348  uint8_t m_dstInterface[8];
349  uint8_t m_trafficClass;
350  uint32_t m_flowLabel;
351  uint8_t m_nextHeader;
357 };
358 
366 std::ostream & operator<< (std::ostream & os, SixLowPanHc1 const &header);
367 
372 class SixLowPanFrag1 : public Header
373 {
374 public:
375  SixLowPanFrag1 (void);
376 
381  static TypeId GetTypeId (void);
382 
387  virtual TypeId GetInstanceTypeId (void) const;
388 
389  virtual void Print (std::ostream& os) const;
390 
395  virtual uint32_t GetSerializedSize (void) const;
396 
401  virtual void Serialize (Buffer::Iterator start) const;
402 
408  virtual uint32_t Deserialize (Buffer::Iterator start);
409 
414  void SetDatagramSize (uint16_t datagramSize);
415 
420  uint16_t GetDatagramSize (void) const;
421 
426  void SetDatagramTag (uint16_t datagramTag);
427 
432  uint16_t GetDatagramTag (void) const;
433 
434 private:
435  uint16_t m_datagramSize;
436  uint16_t m_datagramTag;
437 
438 };
439 
447 std::ostream & operator<< (std::ostream & os, SixLowPanFrag1 const & header);
448 
453 class SixLowPanFragN : public Header
454 {
455 public:
456  SixLowPanFragN (void);
457 
462  static TypeId GetTypeId (void);
463 
468  virtual TypeId GetInstanceTypeId (void) const;
469 
470  virtual void Print (std::ostream& os) const;
471 
476  virtual uint32_t GetSerializedSize (void) const;
477 
482  virtual void Serialize (Buffer::Iterator start) const;
483 
489  virtual uint32_t Deserialize (Buffer::Iterator start);
490 
495  void SetDatagramSize (uint16_t datagramSize);
496 
501  uint16_t GetDatagramSize (void) const;
502 
507  void SetDatagramTag (uint16_t datagramTag);
508 
513  uint16_t GetDatagramTag (void) const;
514 
519  void SetDatagramOffset (uint8_t datagramOffset);
520 
525  uint8_t GetDatagramOffset (void) const;
526 
527 private:
528  uint16_t m_datagramSize;
529  uint16_t m_datagramTag;
531 
532 };
533 
541 std::ostream & operator<< (std::ostream & os, SixLowPanFragN const &header);
542 
547 class SixLowPanIpv6 : public Header
548 {
549 public:
550  SixLowPanIpv6 (void);
551 
556  static TypeId GetTypeId (void);
557 
562  virtual TypeId GetInstanceTypeId (void) const;
563 
564  virtual void Print (std::ostream& os) const;
565 
570  virtual uint32_t GetSerializedSize (void) const;
571 
576  virtual void Serialize (Buffer::Iterator start) const;
577 
583  virtual uint32_t Deserialize (Buffer::Iterator start);
584 
585 };
586 
594 std::ostream & operator<< (std::ostream & os, SixLowPanIpv6 const & header);
595 
607 class SixLowPanIphc : public Header
608 {
609 public:
620  {
621  TF_FULL = 0,
624  TF_ELIDED
625  };
626 
635  enum Hlim_e
636  {
641  };
642 
652  {
656  HC_COMPR_0
657  };
658 
659  SixLowPanIphc (void);
664  SixLowPanIphc (uint8_t dispatch);
665 
670  static TypeId GetTypeId (void);
671 
676  virtual TypeId GetInstanceTypeId (void) const;
677 
678  virtual void Print (std::ostream& os) const;
679 
684  virtual uint32_t GetSerializedSize (void) const;
685 
690  virtual void Serialize (Buffer::Iterator start) const;
691 
697  virtual uint32_t Deserialize (Buffer::Iterator start);
698 
703  void SetTf (TrafficClassFlowLabel_e tfField);
704 
709  TrafficClassFlowLabel_e GetTf (void) const;
710 
715  void SetNh (bool nhField);
716 
721  bool GetNh (void) const;
722 
727  void SetHlim (Hlim_e hlimField);
728 
733  Hlim_e GetHlim (void) const;
734 
739  void SetCid (bool cidField);
740 
745  bool GetCid (void) const;
746 
751  void SetSac (bool sacField);
752 
757  bool GetSac (void) const;
758 
763  void SetSam (HeaderCompression_e samField);
764 
769  HeaderCompression_e GetSam (void) const;
770 
776  void SetSrcInlinePart (uint8_t srcInlinePart[16], uint8_t size);
777 
782  const uint8_t* GetSrcInlinePart (void) const;
783 
788  void SetM (bool mField);
789 
794  bool GetM (void) const;
795 
800  void SetDac (bool dacField);
801 
806  bool GetDac (void) const;
807 
812  void SetDam (HeaderCompression_e damField);
813 
818  HeaderCompression_e GetDam (void) const;
819 
825  void SetDstInlinePart (uint8_t dstInlinePart[16], uint8_t size);
826 
831  const uint8_t* GetDstInlinePart (void) const;
832 
837  void SetSrcContextId (uint8_t srcContextId);
838 
843  uint8_t GetSrcContextId (void) const;
844 
849  void SetDstContextId (uint8_t dstContextId);
850 
855  uint8_t GetDstContextId (void) const;
856 
861  void SetEcn (uint8_t ecn);
862 
867  uint8_t GetEcn (void) const;
868 
873  void SetDscp (uint8_t dscp);
874 
879  uint8_t GetDscp (void) const;
880 
885  void SetFlowLabel (uint32_t flowLabel);
886 
891  uint32_t GetFlowLabel (void) const;
892 
897  void SetNextHeader (uint8_t nextHeader);
898 
903  uint8_t GetNextHeader (void) const;
904 
909  void SetHopLimit (uint8_t hopLimit);
910 
915  uint8_t GetHopLimit (void) const;
916 
917 private:
918  uint16_t m_baseFormat;
920  uint8_t m_ecn : 2;
921  uint8_t m_dscp : 6;
922  uint32_t m_flowLabel : 20;
923  uint8_t m_nextHeader;
924  uint8_t m_hopLimit;
925  uint8_t m_srcInlinePart[16];
926  uint8_t m_dstInlinePart[16];
927 
928 };
929 
937 std::ostream & operator<< (std::ostream & os, SixLowPanIphc const &header);
938 
950 {
951 public:
965  enum Eid_e
966  {
972  EID_IPv6_H = 7
973  };
974 
975  SixLowPanNhcExtension (void);
976 
981  static TypeId GetTypeId (void);
982 
987  virtual TypeId GetInstanceTypeId (void) const;
988 
989  virtual void Print (std::ostream& os) const;
990 
995  virtual uint32_t GetSerializedSize (void) const;
996 
1001  virtual void Serialize (Buffer::Iterator start) const;
1002 
1008  virtual uint32_t Deserialize (Buffer::Iterator start);
1009 
1015 
1020  void SetEid (Eid_e extensionHeaderType);
1021 
1026  Eid_e GetEid (void) const;
1027 
1032  void SetNextHeader (uint8_t nextHeader);
1033 
1038  uint8_t GetNextHeader (void) const;
1039 
1044  void SetNh (bool nhField);
1045 
1050  bool GetNh (void) const;
1051 
1057  void SetBlob (const uint8_t* blob, uint32_t size);
1058 
1065  uint32_t CopyBlob (uint8_t* blob, uint32_t size) const;
1066 
1067 private:
1071  uint8_t m_nhcBlob[256];
1072 };
1073 
1081 std::ostream & operator<< (std::ostream & os, SixLowPanNhcExtension const &header);
1082 
1083 
1095 {
1096 public:
1105  enum Ports_e
1106  {
1111  };
1112 
1113  SixLowPanUdpNhcExtension (void);
1114 
1119  static TypeId GetTypeId (void);
1120 
1125  virtual TypeId GetInstanceTypeId (void) const;
1126 
1127  virtual void Print (std::ostream& os) const;
1128 
1133  virtual uint32_t GetSerializedSize (void) const;
1134 
1139  virtual void Serialize (Buffer::Iterator start) const;
1140 
1146  virtual uint32_t Deserialize (Buffer::Iterator start);
1147 
1153 
1158  void SetPorts (Ports_e port);
1159 
1164  Ports_e GetPorts (void) const;
1165 
1170  void SetSrcPort (uint16_t port);
1171 
1176  uint16_t GetSrcPort () const;
1177 
1182  void SetDstPort (uint16_t port);
1183 
1188  uint16_t GetDstPort () const;
1189 
1194  void SetC (bool cField);
1195 
1200  bool GetC (void) const;
1201 
1206  void SetChecksum (uint16_t checksum);
1207 
1212  uint16_t GetChecksum (void) const;
1213 
1214 private:
1215  uint8_t m_baseFormat;
1216  uint16_t m_checksum;
1217  uint16_t m_srcPort;
1218  uint16_t m_dstPort;
1219 };
1220 
1228 std::ostream & operator<< (std::ostream & os, SixLowPanUdpNhcExtension const &header);
1229 
1234 class SixLowPanBc0 : public Header
1235 {
1236 public:
1237  SixLowPanBc0 (void);
1238 
1243  static TypeId GetTypeId (void);
1244 
1249  virtual TypeId GetInstanceTypeId (void) const;
1250 
1251  virtual void Print (std::ostream& os) const;
1252 
1257  virtual uint32_t GetSerializedSize (void) const;
1258 
1263  virtual void Serialize (Buffer::Iterator start) const;
1264 
1270  virtual uint32_t Deserialize (Buffer::Iterator start);
1271 
1276  void SetSequenceNumber (uint8_t seqNumber);
1277 
1282  uint8_t GetSequenceNumber (void) const;
1283 
1284 private:
1285  uint8_t m_seqNumber;
1286 };
1287 
1295 std::ostream & operator<< (std::ostream & os, SixLowPanBc0 const &header);
1296 
1301 class SixLowPanMesh : public Header
1302 {
1303 public:
1304  SixLowPanMesh (void);
1305 
1310  static TypeId GetTypeId (void);
1311 
1316  virtual TypeId GetInstanceTypeId (void) const;
1317 
1318  virtual void Print (std::ostream& os) const;
1319 
1324  virtual uint32_t GetSerializedSize (void) const;
1325 
1330  virtual void Serialize (Buffer::Iterator start) const;
1331 
1337  virtual uint32_t Deserialize (Buffer::Iterator start);
1338 
1343  void SetHopsLeft (uint8_t hopsLeft);
1344 
1349  uint8_t GetHopsLeft (void) const;
1350 
1355  void SetOriginator (Address originator);
1356 
1361  Address GetOriginator (void) const;
1362 
1367  void SetFinalDst (Address finalDst);
1368 
1373  Address GetFinalDst (void) const;
1374 
1375 private:
1376  uint8_t m_hopsLeft;
1377  bool m_v;
1378  bool m_f;
1381 };
1382 
1390 std::ostream & operator<< (std::ostream & os, SixLowPanMesh const &header);
1391 
1392 }
1393 
1394 #endif /* SIXLOWPANHEADER_H_ */
ns3::SixLowPanIphc::SetSam
void SetSam(HeaderCompression_e samField)
Set the SAM (Source Address Mode) compression.
Definition: sixlowpan-header.cc:1279
ns3::SixLowPanFragN::GetDatagramSize
uint16_t GetDatagramSize(void) const
Get the datagram size.
Definition: sixlowpan-header.cc:701
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::SixLowPanHc1::HC1_PIIC
@ HC1_PIIC
Definition: sixlowpan-header.h:144
ns3::SixLowPanDispatch::LOWPAN_NALP_N
@ LOWPAN_NALP_N
Definition: sixlowpan-header.h:79
ns3::SixLowPanIphc::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: sixlowpan-header.cc:977
ns3::SixLowPanDispatch::LOWPAN_FRAG1_N
@ LOWPAN_FRAG1_N
Definition: sixlowpan-header.h:88
ns3::SixLowPanMesh::GetOriginator
Address GetOriginator(void) const
Get the "Originator" address.
Definition: sixlowpan-header.cc:2024
ns3::SixLowPanBc0
6LoWPAN BC0 header - see RFC 4944.
Definition: sixlowpan-header.h:1235
ns3::SixLowPanUdpNhcExtension::SixLowPanUdpNhcExtension
SixLowPanUdpNhcExtension(void)
Definition: sixlowpan-header.cc:1563
ns3::SixLowPanIphc::m_nextHeader
uint8_t m_nextHeader
Next header.
Definition: sixlowpan-header.h:923
ns3::SixLowPanDispatch::LOWPAN_IPv6
@ LOWPAN_IPv6
Definition: sixlowpan-header.h:80
ns3::SixLowPanHc1::GetDstPrefix
const uint8_t * GetDstPrefix() const
Get the destination prefix.
Definition: sixlowpan-header.cc:408
ns3::SixLowPanUdpNhcExtension::Ports_e
Ports_e
Ports:
Definition: sixlowpan-header.h:1106
ns3::SixLowPanNhcExtension::EID_ROUTING_H
@ EID_ROUTING_H
Definition: sixlowpan-header.h:968
ns3::SixLowPanDispatch::LOWPAN_BC0
@ LOWPAN_BC0
Definition: sixlowpan-header.h:82
ns3::SixLowPanNhcExtension
LOWPAN_NHC Extension Header Encoding - see RFC 6282.
Definition: sixlowpan-header.h:950
ns3::SixLowPanIphc::GetNextHeader
uint8_t GetNextHeader(void) const
Get the Next Header field.
Definition: sixlowpan-header.cc:1409
ns3::SixLowPanDispatch::NhcDispatch_e
NhcDispatch_e
Dispatch values for Next Header compression.
Definition: sixlowpan-header.h:101
ns3::SixLowPanIphc::GetDstInlinePart
const uint8_t * GetDstInlinePart(void) const
brief Get the destination address inline part
Definition: sixlowpan-header.cc:1336
ns3::SixLowPanDispatch::LOWPAN_NHC_N
@ LOWPAN_NHC_N
Definition: sixlowpan-header.h:103
ns3::SixLowPanHc1::m_srcCompression
LowPanHc1Addr_e m_srcCompression
Source compression type.
Definition: sixlowpan-header.h:352
ns3::SixLowPanFragN::SetDatagramOffset
void SetDatagramOffset(uint8_t datagramOffset)
Set the datagram offset.
Definition: sixlowpan-header.cc:716
ns3::SixLowPanIphc::m_srcdstContextId
uint8_t m_srcdstContextId
Src and Dst Context ID.
Definition: sixlowpan-header.h:919
ns3::SixLowPanFrag1::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Get the serialized size of the packet.
Definition: sixlowpan-header.cc:574
ns3::SixLowPanDispatch::LOWPAN_IPHC
@ LOWPAN_IPHC
Definition: sixlowpan-header.h:83
ns3::SixLowPanIphc::TF_DSCP_ELIDED
@ TF_DSCP_ELIDED
Definition: sixlowpan-header.h:622
ns3::SixLowPanHc1::IsTcflCompression
bool IsTcflCompression() const
Check if the Traffic Class and Flow Labels are compressed.
Definition: sixlowpan-header.cc:443
ns3::SixLowPanFrag1::GetDatagramSize
uint16_t GetDatagramSize(void) const
Get the datagram size.
Definition: sixlowpan-header.cc:608
ns3::SixLowPanFragN::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Return the instance type identifier.
Definition: sixlowpan-header.cc:654
ns3::SixLowPanBc0::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Get the serialized size of the packet.
Definition: sixlowpan-header.cc:1785
ns3::SixLowPanFrag1::m_datagramSize
uint16_t m_datagramSize
Datagram size.
Definition: sixlowpan-header.h:435
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::SixLowPanFragN::m_datagramSize
uint16_t m_datagramSize
Datagram size.
Definition: sixlowpan-header.h:528
ns3::SixLowPanUdpNhcExtension::m_baseFormat
uint8_t m_baseFormat
Dispatch + encoding fields.
Definition: sixlowpan-header.h:1215
ns3::SixLowPanMesh
6LoWPAN Mesh header - see RFC 4944.
Definition: sixlowpan-header.h:1302
ns3::SixLowPanIphc::m_dstInlinePart
uint8_t m_dstInlinePart[16]
destination address inline part.
Definition: sixlowpan-header.h:926
ns3::SixLowPanIphc::SetTf
void SetTf(TrafficClassFlowLabel_e tfField)
Set the TF (Traffic Class, Flow Label) compression.
Definition: sixlowpan-header.cc:1224
ns3::SixLowPanIphc::GetSrcInlinePart
const uint8_t * GetSrcInlinePart(void) const
brief Get the source address inline part
Definition: sixlowpan-header.cc:1290
ns3::SixLowPanDispatch::LOWPAN_UNSUPPORTED
@ LOWPAN_UNSUPPORTED
Definition: sixlowpan-header.h:91
ns3::SixLowPanHc1::SetTcflCompression
void SetTcflCompression(bool tcflCompression)
Set the Traffic Class and Flow Labels as compressed.
Definition: sixlowpan-header.cc:521
ns3::SixLowPanHc1::HC1_PCIC
@ HC1_PCIC
Definition: sixlowpan-header.h:146
ns3::SixLowPanUdpNhcExtension::m_dstPort
uint16_t m_dstPort
Destination port.
Definition: sixlowpan-header.h:1218
ns3::SixLowPanHc1::HC1_NC
@ HC1_NC
Definition: sixlowpan-header.h:157
ns3::SixLowPanMesh::SetFinalDst
void SetFinalDst(Address finalDst)
Set the "Final Destination" address.
Definition: sixlowpan-header.cc:2029
ns3::SixLowPanUdpNhcExtension::SetC
void SetC(bool cField)
Set the C (Checksum).
Definition: sixlowpan-header.cc:1729
ns3::SixLowPanFragN::SetDatagramTag
void SetDatagramTag(uint16_t datagramTag)
Set the datagram tag.
Definition: sixlowpan-header.cc:706
ns3::SixLowPanHc1::SetSrcInterface
void SetSrcInterface(const uint8_t *srcInterface)
Set the source interface.
Definition: sixlowpan-header.cc:505
ns3::SixLowPanDispatch::GetDispatchType
static Dispatch_e GetDispatchType(uint8_t dispatch)
Get the Dispatch type.
Definition: sixlowpan-header.cc:45
ns3::SixLowPanIphc::SetDac
void SetDac(bool dacField)
Set the DAC (Destination Address Compression) compression.
Definition: sixlowpan-header.cc:1314
ns3::SixLowPanIphc::HC_COMPR_64
@ HC_COMPR_64
Definition: sixlowpan-header.h:654
ns3::SixLowPanNhcExtension::EID_MOBILITY_H
@ EID_MOBILITY_H
Definition: sixlowpan-header.h:971
ns3::SixLowPanHc1::SetDstCompression
void SetDstCompression(LowPanHc1Addr_e dstCompression)
Set Destination Compression type.
Definition: sixlowpan-header.cc:453
ns3::SixLowPanFragN
6LoWPAN FRAGN header - see RFC 4944.
Definition: sixlowpan-header.h:454
ns3::SixLowPanIphc::GetDam
HeaderCompression_e GetDam(void) const
Get the DAM (Destination Address Mode) compression.
Definition: sixlowpan-header.cc:1331
ns3::SixLowPanIphc::GetSac
bool GetSac(void) const
Get the SAC (Source Address Compression) compression.
Definition: sixlowpan-header.cc:1274
ns3::SixLowPanDispatch::LOWPAN_UDPNHC_N
@ LOWPAN_UDPNHC_N
Definition: sixlowpan-header.h:105
ns3::SixLowPanFrag1::GetDatagramTag
uint16_t GetDatagramTag(void) const
Get the datagram tag.
Definition: sixlowpan-header.cc:618
ns3::SixLowPanUdpNhcExtension::m_srcPort
uint16_t m_srcPort
Source port.
Definition: sixlowpan-header.h:1217
ns3::SixLowPanIphc::HC_INLINE
@ HC_INLINE
Definition: sixlowpan-header.h:653
ns3::SixLowPanMesh::m_src
Address m_src
Originator (source) address.
Definition: sixlowpan-header.h:1379
ns3::SixLowPanIphc::SetHlim
void SetHlim(Hlim_e hlimField)
Set the HLIM (Hop Limit) compression.
Definition: sixlowpan-header.cc:1246
ns3::SixLowPanFragN::GetDatagramOffset
uint8_t GetDatagramOffset(void) const
Get the datagram offset.
Definition: sixlowpan-header.cc:721
ns3::SixLowPanHc1
6LoWPAN HC1 header - see RFC 4944.
Definition: sixlowpan-header.h:132
ns3::SixLowPanIphc::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: sixlowpan-header.cc:807
ns3::SixLowPanIphc::HC_COMPR_16
@ HC_COMPR_16
Definition: sixlowpan-header.h:655
ns3::SixLowPanHc1::m_srcInterface
uint8_t m_srcInterface[8]
Source interface.
Definition: sixlowpan-header.h:346
ns3::SixLowPanHc1::Print
virtual void Print(std::ostream &os) const
Definition: sixlowpan-header.cc:121
ns3::SixLowPanHc1::SetHopLimit
void SetHopLimit(uint8_t limit)
Set the "Hop limit" field (TTL).
Definition: sixlowpan-header.cc:388
ns3::SixLowPanIpv6::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Return the instance type identifier.
Definition: sixlowpan-header.cc:751
ns3::SixLowPanHc1::HC1_ICMP
@ HC1_ICMP
Definition: sixlowpan-header.h:159
ns3::SixLowPanIphc::GetSam
HeaderCompression_e GetSam(void) const
Get the SAM (Source Address Mode) compression.
Definition: sixlowpan-header.cc:1285
ns3::SixLowPanFragN::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Get the serialized size of the packet.
Definition: sixlowpan-header.cc:664
ns3::SixLowPanIphc::SetFlowLabel
void SetFlowLabel(uint32_t flowLabel)
Set the Flow Label (20bits).
Definition: sixlowpan-header.cc:1393
ns3::SixLowPanHc1::GetSrcCompression
LowPanHc1Addr_e GetSrcCompression() const
Get Source Compression type.
Definition: sixlowpan-header.cc:423
ns3::SixLowPanDispatch
Dispatch header helper.
Definition: sixlowpan-header.h:46
ns3::SixLowPanIphc::m_hopLimit
uint8_t m_hopLimit
Hop Limit.
Definition: sixlowpan-header.h:924
ns3::SixLowPanNhcExtension::GetNh
bool GetNh(void) const
Get the Next Header field value.
Definition: sixlowpan-header.cc:1531
ns3::SixLowPanIphc::SetNh
void SetNh(bool nhField)
Set the NH (Next Header) compression.
Definition: sixlowpan-header.cc:1235
ns3::SixLowPanDispatch::LOWPAN_FRAG1
@ LOWPAN_FRAG1
Definition: sixlowpan-header.h:87
ns3::SixLowPanHc1::SetDstPrefix
void SetDstPrefix(const uint8_t *dstPrefix)
Set the destination prefix.
Definition: sixlowpan-header.cc:466
ns3::SixLowPanHc1::m_flowLabel
uint32_t m_flowLabel
Flow Label.
Definition: sixlowpan-header.h:350
ns3::SixLowPanMesh::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: sixlowpan-header.cc:1843
ns3::SixLowPanHc1::m_hc2HeaderPresent
bool m_hc2HeaderPresent
Is next header HC2 compressed.
Definition: sixlowpan-header.h:356
ns3::SixLowPanUdpNhcExtension::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Get the serialized size of the packet.
Definition: sixlowpan-header.cc:1591
ns3::SixLowPanIphc::TF_ELIDED
@ TF_ELIDED
Definition: sixlowpan-header.h:624
ns3::SixLowPanHc1::IsHc2HeaderPresent
bool IsHc2HeaderPresent() const
Check if there is a HC2 compressed header.
Definition: sixlowpan-header.cc:448
ns3::SixLowPanHc1::SetFlowLabel
void SetFlowLabel(uint32_t flowLabel)
Set the Flow Label value.
Definition: sixlowpan-header.cc:474
ns3::SixLowPanUdpNhcExtension::GetChecksum
uint16_t GetChecksum(void) const
Get the Checksum field value.
Definition: sixlowpan-header.cc:1745
ns3::SixLowPanDispatch::LOWPAN_FRAGN_N
@ LOWPAN_FRAGN_N
Definition: sixlowpan-header.h:90
ns3::SixLowPanUdpNhcExtension::SetChecksum
void SetChecksum(uint16_t checksum)
Set the Checksum field values.
Definition: sixlowpan-header.cc:1740
ns3::SixLowPanMesh::m_v
bool m_v
True if Originator address is 16 bit.
Definition: sixlowpan-header.h:1377
ns3::SixLowPanDispatch::LOWPAN_HC1
@ LOWPAN_HC1
Definition: sixlowpan-header.h:81
ns3::SixLowPanHc1::m_srcPrefix
uint8_t m_srcPrefix[8]
Source prefix.
Definition: sixlowpan-header.h:345
ns3::SixLowPanHc1::SetSrcCompression
void SetSrcCompression(LowPanHc1Addr_e srcCompression)
Set Source Compression type.
Definition: sixlowpan-header.cc:500
visualizer.core.start
def start()
Definition: core.py:1855
ns3::SixLowPanBc0::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Return the instance type identifier.
Definition: sixlowpan-header.cc:1775
ns3::SixLowPanIphc::GetHopLimit
uint8_t GetHopLimit(void) const
Get the Hop Limit field.
Definition: sixlowpan-header.cc:1419
ns3::SixLowPanIphc::GetTf
TrafficClassFlowLabel_e GetTf(void) const
Get the TF (Traffic Class, Flow Label) compression.
Definition: sixlowpan-header.cc:1230
ns3::SixLowPanIphc::SetSac
void SetSac(bool sacField)
Set the SAC (Source Address Compression) compression.
Definition: sixlowpan-header.cc:1268
ns3::SixLowPanUdpNhcExtension::PORTS_LAST_SRC_ALL_DST
@ PORTS_LAST_SRC_ALL_DST
Definition: sixlowpan-header.h:1109
ns3::SixLowPanIphc::GetM
bool GetM(void) const
Get the M (Multicast) compression.
Definition: sixlowpan-header.cc:1309
ns3::SixLowPanIphc::SetCid
void SetCid(bool cidField)
Set the CID (Context Identifier Extension) compression.
Definition: sixlowpan-header.cc:1257
ns3::SixLowPanIphc::SetHopLimit
void SetHopLimit(uint8_t hopLimit)
Set the Hop Limit field.
Definition: sixlowpan-header.cc:1414
ns3::SixLowPanNhcExtension::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: sixlowpan-header.cc:1472
ns3::SixLowPanHc1::HC1_PIII
@ HC1_PIII
Definition: sixlowpan-header.h:143
ns3::SixLowPanFragN::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: sixlowpan-header.cc:645
ns3::SixLowPanIpv6::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: sixlowpan-header.cc:766
ns3::SixLowPanIphc::HLIM_INLINE
@ HLIM_INLINE
Definition: sixlowpan-header.h:637
ns3::SixLowPanIphc::HLIM_COMPR_1
@ HLIM_COMPR_1
Definition: sixlowpan-header.h:638
ns3::SixLowPanUdpNhcExtension::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: sixlowpan-header.cc:1616
ns3::SixLowPanIphc::Print
virtual void Print(std::ostream &os) const
Definition: sixlowpan-header.cc:821
ns3::SixLowPanNhcExtension::GetNextHeader
uint8_t GetNextHeader(void) const
Get the Next Header field value.
Definition: sixlowpan-header.cc:1520
ns3::SixLowPanDispatch::LOWPAN_IPHC_N
@ LOWPAN_IPHC_N
Definition: sixlowpan-header.h:84
ns3::SixLowPanDispatch::LOWPAN_MESH_N
@ LOWPAN_MESH_N
Definition: sixlowpan-header.h:86
ns3::Address
a polymophic address class
Definition: address.h:91
ns3::SixLowPanUdpNhcExtension::GetSrcPort
uint16_t GetSrcPort() const
Get the Source Port.
Definition: sixlowpan-header.cc:1714
ns3::SixLowPanHc1::SixLowPanHc1
SixLowPanHc1(void)
Definition: sixlowpan-header.cc:102
ns3::SixLowPanFrag1
6LoWPAN FRAG1 header - see RFC 4944.
Definition: sixlowpan-header.h:373
ns3::SixLowPanIphc::TF_FULL
@ TF_FULL
Definition: sixlowpan-header.h:621
ns3::SixLowPanHc1::SetNextHeader
void SetNextHeader(uint8_t nextHeader)
Set the Next Header value.
Definition: sixlowpan-header.cc:479
ns3::SixLowPanFragN::m_datagramOffset
uint8_t m_datagramOffset
Datagram offset.
Definition: sixlowpan-header.h:530
ns3::SixLowPanFrag1::Print
virtual void Print(std::ostream &os) const
Definition: sixlowpan-header.cc:569
ns3::SixLowPanNhcExtension::m_nhcBlob
uint8_t m_nhcBlob[256]
NHC compressed header.
Definition: sixlowpan-header.h:1071
ns3::SixLowPanUdpNhcExtension::PORTS_LAST_SRC_LAST_DST
@ PORTS_LAST_SRC_LAST_DST
Definition: sixlowpan-header.h:1110
ns3::SixLowPanHc1::m_nextHeader
uint8_t m_nextHeader
Next header.
Definition: sixlowpan-header.h:351
ns3::SixLowPanIphc::SetDstContextId
void SetDstContextId(uint8_t dstContextId)
Set the DstContextId.
Definition: sixlowpan-header.cc:1360
ns3::SixLowPanIphc::SetSrcInlinePart
void SetSrcInlinePart(uint8_t srcInlinePart[16], uint8_t size)
brief Set the source address inline part
Definition: sixlowpan-header.cc:1295
ns3::SixLowPanIphc::GetCid
bool GetCid(void) const
Get the CID (Context Identifier Extension) compression.
Definition: sixlowpan-header.cc:1263
ns3::SixLowPanHc1::SetSrcPrefix
void SetSrcPrefix(const uint8_t *srcPrefix)
Set the source prefix.
Definition: sixlowpan-header.cc:513
ns3::SixLowPanHc1::GetSrcInterface
const uint8_t * GetSrcInterface() const
Get the source interface.
Definition: sixlowpan-header.cc:428
ns3::SixLowPanIphc::m_srcInlinePart
uint8_t m_srcInlinePart[16]
source address inline part.
Definition: sixlowpan-header.h:925
ns3::SixLowPanIphc::HLIM_COMPR_64
@ HLIM_COMPR_64
Definition: sixlowpan-header.h:639
ns3::SixLowPanHc1::GetDstInterface
const uint8_t * GetDstInterface() const
Get the destination interface.
Definition: sixlowpan-header.cc:403
ns3::SixLowPanIpv6::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: sixlowpan-header.cc:742
ns3::SixLowPanHc1::m_nextHeaderCompression
LowPanHc1NextHeader_e m_nextHeaderCompression
Next header compression.
Definition: sixlowpan-header.h:355
ns3::SixLowPanDispatch::LOWPAN_NALP
@ LOWPAN_NALP
Definition: sixlowpan-header.h:78
ns3::SixLowPanIphc::GetDscp
uint8_t GetDscp(void) const
Get the DSCP.
Definition: sixlowpan-header.cc:1388
ns3::SixLowPanDispatch::LOWPAN_MESH
@ LOWPAN_MESH
Definition: sixlowpan-header.h:85
ns3::SixLowPanNhcExtension::SixLowPanNhcExtension
SixLowPanNhcExtension(void)
Definition: sixlowpan-header.cc:1435
ns3::SixLowPanIphc::SetEcn
void SetEcn(uint8_t ecn)
Set the ECN (2bits).
Definition: sixlowpan-header.cc:1371
ns3::SixLowPanHc1::GetNextHeader
uint8_t GetNextHeader() const
Get the Next Header value.
Definition: sixlowpan-header.cc:418
ns3::SixLowPanHc1::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Get the serialized size of the packet.
Definition: sixlowpan-header.cc:137
ns3::SixLowPanMesh::SetHopsLeft
void SetHopsLeft(uint8_t hopsLeft)
Set the "Hops Left" field.
Definition: sixlowpan-header.cc:2052
ns3::SixLowPanNhcExtension::GetNhcDispatchType
virtual SixLowPanDispatch::NhcDispatch_e GetNhcDispatchType(void) const
Get the NhcDispatch type.
Definition: sixlowpan-header.cc:1499
ns3::SixLowPanMesh::SixLowPanMesh
SixLowPanMesh(void)
Definition: sixlowpan-header.cc:1834
ns3::SixLowPanNhcExtension::EID_DESTINATION_OPTIONS_H
@ EID_DESTINATION_OPTIONS_H
Definition: sixlowpan-header.h:970
ns3::SixLowPanUdpNhcExtension::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: sixlowpan-header.cc:1572
ns3::SixLowPanHc1::HC1_PCII
@ HC1_PCII
Definition: sixlowpan-header.h:145
ns3::Header
Protocol header serialization and deserialization.
Definition: header.h:43
ns3::SixLowPanIphc::TrafficClassFlowLabel_e
TrafficClassFlowLabel_e
TF: Traffic Class, Flow Label.
Definition: sixlowpan-header.h:620
ns3::SixLowPanMesh::m_hopsLeft
uint8_t m_hopsLeft
Hops left.
Definition: sixlowpan-header.h:1376
ns3::SixLowPanFrag1::SixLowPanFrag1
SixLowPanFrag1(void)
Definition: sixlowpan-header.cc:549
ns3::SixLowPanMesh::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: sixlowpan-header.cc:1909
ns3::SixLowPanHc1::m_tcflCompression
bool m_tcflCompression
Is TC and FL compressed.
Definition: sixlowpan-header.h:354
ns3::SixLowPanIphc::GetDstContextId
uint8_t GetDstContextId(void) const
Get the DstContextId.
Definition: sixlowpan-header.cc:1366
ns3::SixLowPanFrag1::m_datagramTag
uint16_t m_datagramTag
Datagram tag.
Definition: sixlowpan-header.h:436
ns3::SixLowPanIphc::m_dscp
uint8_t m_dscp
DSCP bits.
Definition: sixlowpan-header.h:921
ns3::SixLowPanHc1::GetHopLimit
uint8_t GetHopLimit(void) const
Get the "Hop limit" field (TTL).
Definition: sixlowpan-header.cc:393
ns3::SixLowPanHc1::m_hopLimit
uint8_t m_hopLimit
Hop Limit.
Definition: sixlowpan-header.h:344
ns3::SixLowPanIpv6
6LoWPAN IPv6 uncompressed header - see RFC 4944.
Definition: sixlowpan-header.h:548
ns3::SixLowPanHc1::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: sixlowpan-header.cc:183
ns3::SixLowPanNhcExtension::SetNextHeader
void SetNextHeader(uint8_t nextHeader)
Set the Next Header field values.
Definition: sixlowpan-header.cc:1515
ns3::SixLowPanHc1::GetSrcPrefix
const uint8_t * GetSrcPrefix() const
Get the source prefix.
Definition: sixlowpan-header.cc:433
ns3::SixLowPanIphc::GetDac
bool GetDac(void) const
Get the DAC (Destination Address Compression) compression.
Definition: sixlowpan-header.cc:1320
ns3::SixLowPanIphc::HC_COMPR_0
@ HC_COMPR_0
Definition: sixlowpan-header.h:656
ns3::SixLowPanIphc::SixLowPanIphc
SixLowPanIphc(void)
Definition: sixlowpan-header.cc:792
ns3::SixLowPanHc1::LowPanHc1Addr_e
LowPanHc1Addr_e
Kind of address compression.
Definition: sixlowpan-header.h:142
ns3::SixLowPanMesh::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Get the serialized size of the packet.
Definition: sixlowpan-header.cc:1879
ns3::SixLowPanHc1::SetDstInterface
void SetDstInterface(const uint8_t *dstInterface)
Set the destination interface.
Definition: sixlowpan-header.cc:458
ns3::SixLowPanUdpNhcExtension::SetSrcPort
void SetSrcPort(uint16_t port)
Set the Source Port.
Definition: sixlowpan-header.cc:1709
ns3::SixLowPanHc1::HC1_TCP
@ HC1_TCP
Definition: sixlowpan-header.h:160
ns3::SixLowPanFrag1::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: sixlowpan-header.cc:555
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::SixLowPanNhcExtension::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Return the instance type identifier.
Definition: sixlowpan-header.cc:1452
ns3::SixLowPanUdpNhcExtension::m_checksum
uint16_t m_checksum
Checksum.
Definition: sixlowpan-header.h:1216
ns3::SixLowPanUdpNhcExtension::GetPorts
Ports_e GetPorts(void) const
Get the compressed Src and Dst Ports.
Definition: sixlowpan-header.cc:1704
ns3::SixLowPanHc1::m_dstCompression
LowPanHc1Addr_e m_dstCompression
Destination compression type.
Definition: sixlowpan-header.h:353
ns3::SixLowPanIphc::HLIM_COMPR_255
@ HLIM_COMPR_255
Definition: sixlowpan-header.h:640
ns3::SixLowPanIphc::SetDstInlinePart
void SetDstInlinePart(uint8_t dstInlinePart[16], uint8_t size)
brief Set the destination address inline part
Definition: sixlowpan-header.cc:1341
ns3::SixLowPanBc0::m_seqNumber
uint8_t m_seqNumber
Sequence number.
Definition: sixlowpan-header.h:1285
ns3::SixLowPanMesh::GetHopsLeft
uint8_t GetHopsLeft(void) const
Get the "Hops Left" field.
Definition: sixlowpan-header.cc:2057
ns3::SixLowPanIphc::GetNh
bool GetNh(void) const
Get the NH (Next Header) compression.
Definition: sixlowpan-header.cc:1241
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition: buffer.h:99
ns3::SixLowPanHc1::LowPanHc1NextHeader_e
LowPanHc1NextHeader_e
Next header information.
Definition: sixlowpan-header.h:156
ns3::SixLowPanNhcExtension::SetBlob
void SetBlob(const uint8_t *blob, uint32_t size)
Set the option header data blob.
Definition: sixlowpan-header.cc:1536
ns3::SixLowPanUdpNhcExtension::PORTS_INLINE
@ PORTS_INLINE
Definition: sixlowpan-header.h:1107
ns3::SixLowPanUdpNhcExtension::GetC
bool GetC(void) const
Get the C (Checksum).
Definition: sixlowpan-header.cc:1735
ns3::SixLowPanNhcExtension::EID_HOPBYHOP_OPTIONS_H
@ EID_HOPBYHOP_OPTIONS_H
Definition: sixlowpan-header.h:967
ns3::SixLowPanFragN::m_datagramTag
uint16_t m_datagramTag
Datagram tag.
Definition: sixlowpan-header.h:529
ns3::SixLowPanNhcExtension::m_nhcExtensionHeader
uint8_t m_nhcExtensionHeader
NHC extension header type.
Definition: sixlowpan-header.h:1068
ns3::SixLowPanMesh::m_dst
Address m_dst
Destination (final) address.
Definition: sixlowpan-header.h:1380
ns3::SixLowPanDispatch::Dispatch_e
Dispatch_e
Definition: sixlowpan-header.h:77
ns3::SixLowPanNhcExtension::CopyBlob
uint32_t CopyBlob(uint8_t *blob, uint32_t size) const
Get the option header data blob.
Definition: sixlowpan-header.cc:1544
ns3::SixLowPanHc1::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: sixlowpan-header.cc:107
ns3::SixLowPanMesh::GetFinalDst
Address GetFinalDst(void) const
Get the "Final Destination" address.
Definition: sixlowpan-header.cc:2047
ns3::SixLowPanIpv6::Print
virtual void Print(std::ostream &os) const
Definition: sixlowpan-header.cc:756
ns3::SixLowPanHc1::m_dstInterface
uint8_t m_dstInterface[8]
Destination interface.
Definition: sixlowpan-header.h:348
ns3::SixLowPanIphc::TF_FL_ELIDED
@ TF_FL_ELIDED
Definition: sixlowpan-header.h:623
ns3::SixLowPanIphc::GetHlim
Hlim_e GetHlim(void) const
Get the HLIM (Hop Limit) compression.
Definition: sixlowpan-header.cc:1252
ns3::SixLowPanIphc::SetSrcContextId
void SetSrcContextId(uint8_t srcContextId)
Set the SrcContextId.
Definition: sixlowpan-header.cc:1349
ns3::SixLowPanUdpNhcExtension::Print
virtual void Print(std::ostream &os) const
Definition: sixlowpan-header.cc:1586
ns3::SixLowPanIphc::HeaderCompression_e
HeaderCompression_e
Source or Destination Address Mode.
Definition: sixlowpan-header.h:652
ns3::SixLowPanNhcExtension::EID_IPv6_H
@ EID_IPv6_H
Definition: sixlowpan-header.h:972
ns3::SixLowPanNhcExtension::m_nhcNextHeader
uint8_t m_nhcNextHeader
Next header.
Definition: sixlowpan-header.h:1069
ns3::SixLowPanUdpNhcExtension::PORTS_ALL_SRC_LAST_DST
@ PORTS_ALL_SRC_LAST_DST
Definition: sixlowpan-header.h:1108
ns3::SixLowPanMesh::m_f
bool m_f
True if Destination address is 16 bit.
Definition: sixlowpan-header.h:1378
ns3::SixLowPanMesh::Print
virtual void Print(std::ostream &os) const
Definition: sixlowpan-header.cc:1857
ns3::SixLowPanUdpNhcExtension::GetDstPort
uint16_t GetDstPort() const
Get the Destination Port.
Definition: sixlowpan-header.cc:1724
ns3::SixLowPanHc1::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Return the instance type identifier.
Definition: sixlowpan-header.cc:116
ns3::SixLowPanNhcExtension::SetNh
void SetNh(bool nhField)
Set the NH field values.
Definition: sixlowpan-header.cc:1525
ns3::SixLowPanIphc::Hlim_e
Hlim_e
HLIM: Hop Limit.
Definition: sixlowpan-header.h:636
ns3::SixLowPanFrag1::SetDatagramTag
void SetDatagramTag(uint16_t datagramTag)
Set the datagram tag.
Definition: sixlowpan-header.cc:613
ns3::SixLowPanHc1::SetTrafficClass
void SetTrafficClass(uint8_t trafficClass)
Set the Traffic Class value.
Definition: sixlowpan-header.cc:526
ns3::SixLowPanMesh::SetOriginator
void SetOriginator(Address originator)
Set the "Originator" address.
Definition: sixlowpan-header.cc:2006
ns3::SixLowPanIphc::m_baseFormat
uint16_t m_baseFormat
Dispatch + encoding fields.
Definition: sixlowpan-header.h:918
ns3::SixLowPanBc0::Print
virtual void Print(std::ostream &os) const
Definition: sixlowpan-header.cc:1780
ns3::SixLowPanBc0::SetSequenceNumber
void SetSequenceNumber(uint8_t seqNumber)
Set the "Sequence Number" field.
Definition: sixlowpan-header.cc:1813
ns3::SixLowPanHc1::HC1_UDP
@ HC1_UDP
Definition: sixlowpan-header.h:158
ns3::SixLowPanFrag1::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: sixlowpan-header.cc:579
ns3::SixLowPanHc1::m_trafficClass
uint8_t m_trafficClass
Traffic Class.
Definition: sixlowpan-header.h:349
ns3::SixLowPanNhcExtension::SetEid
void SetEid(Eid_e extensionHeaderType)
Set the Extension Header Type.
Definition: sixlowpan-header.cc:1504
ns3::SixLowPanIphc::m_ecn
uint8_t m_ecn
ECN bits.
Definition: sixlowpan-header.h:920
ns3::SixLowPanFragN::Print
virtual void Print(std::ostream &os) const
Definition: sixlowpan-header.cc:659
ns3::SixLowPanNhcExtension::m_nhcBlobLength
uint8_t m_nhcBlobLength
Length of the NHC compressed header.
Definition: sixlowpan-header.h:1070
ns3::SixLowPanUdpNhcExtension::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Return the instance type identifier.
Definition: sixlowpan-header.cc:1581
ns3::SixLowPanFrag1::SetDatagramSize
void SetDatagramSize(uint16_t datagramSize)
Set the datagram size.
Definition: sixlowpan-header.cc:603
ns3::SixLowPanBc0::SixLowPanBc0
SixLowPanBc0(void)
Definition: sixlowpan-header.cc:1761
ns3::SixLowPanDispatch::LOWPAN_NHCUNSUPPORTED
@ LOWPAN_NHCUNSUPPORTED
Definition: sixlowpan-header.h:106
ns3::SixLowPanHc1::GetFlowLabel
uint32_t GetFlowLabel() const
Get the Flow Label value.
Definition: sixlowpan-header.cc:413
ns3::SixLowPanIphc::SetDam
void SetDam(HeaderCompression_e damField)
Set the DAM (Destination Address Mode) compression.
Definition: sixlowpan-header.cc:1325
ns3::SixLowPanDispatch::LOWPAN_NHC
@ LOWPAN_NHC
Definition: sixlowpan-header.h:102
ns3::SixLowPanIphc::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Get the serialized size of the packet.
Definition: sixlowpan-header.cc:867
ns3::SixLowPanMesh::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Return the instance type identifier.
Definition: sixlowpan-header.cc:1852
ns3::SixLowPanIpv6::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Get the serialized size of the packet.
Definition: sixlowpan-header.cc:761
ns3::SixLowPanIphc
LOWPAN_IPHC base Encoding - see RFC 6282.
Definition: sixlowpan-header.h:608
ns3::SixLowPanIphc::GetFlowLabel
uint32_t GetFlowLabel(void) const
Get the Flow Label.
Definition: sixlowpan-header.cc:1399
ns3::SixLowPanIphc::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Return the instance type identifier.
Definition: sixlowpan-header.cc:816
ns3::SixLowPanHc1::SetHc2HeaderPresent
void SetHc2HeaderPresent(bool hc2HeaderPresent)
Set the next header a HC2 compressed header.
Definition: sixlowpan-header.cc:532
ns3::SixLowPanHc1::m_dstPrefix
uint8_t m_dstPrefix[8]
Destination prefix.
Definition: sixlowpan-header.h:347
ns3::SixLowPanIphc::GetEcn
uint8_t GetEcn(void) const
Get the ECN.
Definition: sixlowpan-header.cc:1377
ns3::SixLowPanIphc::GetSrcContextId
uint8_t GetSrcContextId(void) const
Get the SrcContextId.
Definition: sixlowpan-header.cc:1355
ns3::SixLowPanNhcExtension::GetEid
Eid_e GetEid(void) const
Get the Extension Header Type.
Definition: sixlowpan-header.cc:1510
ns3::operator<<
std::ostream & operator<<(std::ostream &os, const Angles &a)
Definition: angles.cc:137
ns3::SixLowPanNhcExtension::Print
virtual void Print(std::ostream &os) const
Definition: sixlowpan-header.cc:1457
ns3::SixLowPanIphc::SetDscp
void SetDscp(uint8_t dscp)
Set the DSCP (6bits).
Definition: sixlowpan-header.cc:1382
ns3::SixLowPanDispatch::SixLowPanDispatch
SixLowPanDispatch(void)
Definition: sixlowpan-header.cc:39
ns3::SixLowPanNhcExtension::Eid_e
Eid_e
EID: IPv6 Extension Header ID.
Definition: sixlowpan-header.h:966
ns3::SixLowPanUdpNhcExtension::SetPorts
void SetPorts(Ports_e port)
Set the compressed Src and Dst Ports.
Definition: sixlowpan-header.cc:1698
ns3::SixLowPanFragN::SetDatagramSize
void SetDatagramSize(uint16_t datagramSize)
Set the datagram size.
Definition: sixlowpan-header.cc:696
ns3::SixLowPanIphc::m_flowLabel
uint32_t m_flowLabel
Flow Label bits.
Definition: sixlowpan-header.h:922
ns3::SixLowPanNhcExtension::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: sixlowpan-header.cc:1443
ns3::SixLowPanDispatch::LOWPAN_UDPNHC
@ LOWPAN_UDPNHC
Definition: sixlowpan-header.h:104
ns3::SixLowPanIphc::SetM
void SetM(bool mField)
Set the M (Multicast) compression.
Definition: sixlowpan-header.cc:1303
ns3::SixLowPanUdpNhcExtension::SetDstPort
void SetDstPort(uint16_t port)
Set the Destination Port.
Definition: sixlowpan-header.cc:1719
ns3::SixLowPanUdpNhcExtension::GetNhcDispatchType
virtual SixLowPanDispatch::NhcDispatch_e GetNhcDispatchType(void) const
Get the NhcDispatch type.
Definition: sixlowpan-header.cc:1693
ns3::SixLowPanIpv6::SixLowPanIpv6
SixLowPanIpv6(void)
Definition: sixlowpan-header.cc:738
ns3::SixLowPanFrag1::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Return the instance type identifier.
Definition: sixlowpan-header.cc:564
ns3::SixLowPanNhcExtension::EID_FRAGMENTATION_H
@ EID_FRAGMENTATION_H
Definition: sixlowpan-header.h:969
ns3::SixLowPanHc1::GetTrafficClass
uint8_t GetTrafficClass() const
Get the Traffic Class value.
Definition: sixlowpan-header.cc:438
ns3::SixLowPanFragN::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: sixlowpan-header.cc:669
ns3::SixLowPanFragN::GetDatagramTag
uint16_t GetDatagramTag(void) const
Get the datagram tag.
Definition: sixlowpan-header.cc:711
ns3::SixLowPanBc0::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: sixlowpan-header.cc:1766
ns3::SixLowPanFragN::SixLowPanFragN
SixLowPanFragN(void)
Definition: sixlowpan-header.cc:636
ns3::SixLowPanUdpNhcExtension
UDP LOWPAN_NHC Extension Header Encoding - see RFC 6282.
Definition: sixlowpan-header.h:1095
ns3::SixLowPanBc0::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: sixlowpan-header.cc:1790
ns3::SixLowPanBc0::GetSequenceNumber
uint8_t GetSequenceNumber(void) const
Get the "Sequence Number" field.
Definition: sixlowpan-header.cc:1818
port
uint16_t port
Definition: dsdv-manet.cc:45
ns3::SixLowPanDispatch::GetNhcDispatchType
static NhcDispatch_e GetNhcDispatchType(uint8_t dispatch)
Get the NhcDispatch type.
Definition: sixlowpan-header.cc:83
ns3::SixLowPanIphc::SetNextHeader
void SetNextHeader(uint8_t nextHeader)
Set the Next Header field.
Definition: sixlowpan-header.cc:1404
ns3::SixLowPanNhcExtension::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Get the serialized size of the packet.
Definition: sixlowpan-header.cc:1462
ns3::SixLowPanHc1::GetDstCompression
LowPanHc1Addr_e GetDstCompression() const
Get Destination Compression type.
Definition: sixlowpan-header.cc:398
ns3::SixLowPanDispatch::LOWPAN_FRAGN
@ LOWPAN_FRAGN
Definition: sixlowpan-header.h:89