A Discrete-Event Network Simulator
API
ns3::SixLowPanIphc Class Reference

LOWPAN_IPHC base Encoding - see RFC 6282. More...

#include "sixlowpan-header.h"

+ Inheritance diagram for ns3::SixLowPanIphc:
+ Collaboration diagram for ns3::SixLowPanIphc:

Public Types

enum  HeaderCompression_e { HC_INLINE = 0 , HC_COMPR_64 , HC_COMPR_16 , HC_COMPR_0 }
 Source or Destination Address Mode. More...
 
enum  Hlim_e { HLIM_INLINE = 0 , HLIM_COMPR_1 , HLIM_COMPR_64 , HLIM_COMPR_255 }
 HLIM: Hop Limit. More...
 
enum  TrafficClassFlowLabel_e { TF_FULL = 0 , TF_DSCP_ELIDED , TF_FL_ELIDED , TF_ELIDED }
 TF: Traffic Class, Flow Label. More...
 

Public Member Functions

 SixLowPanIphc (uint8_t dispatch)
 Constructor. More...
 
 SixLowPanIphc (void)
 
virtual uint32_t Deserialize (Buffer::Iterator start)
 Deserialize the packet. More...
 
bool GetCid (void) const
 Get the CID (Context Identifier Extension) compression. More...
 
bool GetDac (void) const
 Get the DAC (Destination Address Compression) compression. More...
 
HeaderCompression_e GetDam (void) const
 Get the DAM (Destination Address Mode) compression. More...
 
uint8_t GetDscp (void) const
 Get the DSCP. More...
 
uint8_t GetDstContextId (void) const
 Get the DstContextId. More...
 
const uint8_t * GetDstInlinePart (void) const
 brief Get the destination address inline part More...
 
uint8_t GetEcn (void) const
 Get the ECN. More...
 
uint32_t GetFlowLabel (void) const
 Get the Flow Label. More...
 
Hlim_e GetHlim (void) const
 Get the HLIM (Hop Limit) compression. More...
 
uint8_t GetHopLimit (void) const
 Get the Hop Limit field. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Return the instance type identifier. More...
 
bool GetM (void) const
 Get the M (Multicast) compression. More...
 
uint8_t GetNextHeader (void) const
 Get the Next Header field. More...
 
bool GetNh (void) const
 Get the NH (Next Header) compression. More...
 
bool GetSac (void) const
 Get the SAC (Source Address Compression) compression. More...
 
HeaderCompression_e GetSam (void) const
 Get the SAM (Source Address Mode) compression. More...
 
virtual uint32_t GetSerializedSize (void) const
 Get the serialized size of the packet. More...
 
uint8_t GetSrcContextId (void) const
 Get the SrcContextId. More...
 
const uint8_t * GetSrcInlinePart (void) const
 brief Get the source address inline part More...
 
TrafficClassFlowLabel_e GetTf (void) const
 Get the TF (Traffic Class, Flow Label) compression. More...
 
virtual void Print (std::ostream &os) const
 
virtual void Serialize (Buffer::Iterator start) const
 Serialize the packet. More...
 
void SetCid (bool cidField)
 Set the CID (Context Identifier Extension) compression. More...
 
void SetDac (bool dacField)
 Set the DAC (Destination Address Compression) compression. More...
 
void SetDam (HeaderCompression_e damField)
 Set the DAM (Destination Address Mode) compression. More...
 
void SetDscp (uint8_t dscp)
 Set the DSCP (6bits). More...
 
void SetDstContextId (uint8_t dstContextId)
 Set the DstContextId. More...
 
void SetDstInlinePart (uint8_t dstInlinePart[16], uint8_t size)
 brief Set the destination address inline part More...
 
void SetEcn (uint8_t ecn)
 Set the ECN (2bits). More...
 
void SetFlowLabel (uint32_t flowLabel)
 Set the Flow Label (20bits). More...
 
void SetHlim (Hlim_e hlimField)
 Set the HLIM (Hop Limit) compression. More...
 
void SetHopLimit (uint8_t hopLimit)
 Set the Hop Limit field. More...
 
void SetM (bool mField)
 Set the M (Multicast) compression. More...
 
void SetNextHeader (uint8_t nextHeader)
 Set the Next Header field. More...
 
void SetNh (bool nhField)
 Set the NH (Next Header) compression. More...
 
void SetSac (bool sacField)
 Set the SAC (Source Address Compression) compression. More...
 
void SetSam (HeaderCompression_e samField)
 Set the SAM (Source Address Mode) compression. More...
 
void SetSrcContextId (uint8_t srcContextId)
 Set the SrcContextId. More...
 
void SetSrcInlinePart (uint8_t srcInlinePart[16], uint8_t size)
 brief Set the source address inline part More...
 
void SetTf (TrafficClassFlowLabel_e tfField)
 Set the TF (Traffic Class, Flow Label) compression. More...
 
- Public Member Functions inherited from ns3::Header
virtual ~Header ()
 
virtual uint32_t Deserialize (Buffer::Iterator start)=0
 Deserialize the object from a buffer iterator. More...
 
virtual uint32_t Deserialize (Buffer::Iterator start)=0
 
virtual uint32_t Deserialize (Buffer::Iterator start, Buffer::Iterator end)
 Deserialize the object from a buffer iterator. More...
 
virtual uint32_t GetSerializedSize (void) const =0
 
virtual void Print (std::ostream &os) const =0
 
virtual void Serialize (Buffer::Iterator start) const =0
 
virtual uint32_t Deserialize (Buffer::Iterator start)=0
 Deserialize the object from a buffer iterator. More...
 
virtual uint32_t Deserialize (Buffer::Iterator start, Buffer::Iterator end)
 Deserialize the object from a buffer iterator. More...
 
virtual void Print (std::ostream &os) const =0
 Print the object contents. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
virtual TypeId GetInstanceTypeId (void) const =0
 Get the most derived TypeId for this Object. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Header
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Chunk
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Attributes

uint16_t m_baseFormat
 Dispatch + encoding fields. More...
 
uint8_t m_dscp: 6
 DSCP bits. More...
 
uint8_t m_dstInlinePart [16]
 destination address inline part. More...
 
uint8_t m_ecn: 2
 ECN bits. More...
 
uint32_t m_flowLabel: 20
 Flow Label bits. More...
 
uint8_t m_hopLimit
 Hop Limit. More...
 
uint8_t m_nextHeader
 Next header. More...
 
uint8_t m_srcdstContextId
 Src and Dst Context ID. More...
 
uint8_t m_srcInlinePart [16]
 source address inline part. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

LOWPAN_IPHC base Encoding - see RFC 6282.

Introspection did not find any typical Config paths.

     0                                       1
     0   1   2   3   4   5   6   7   8   9   0   1   2   3   4   5
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   | 0 | 1 | 1 |  TF   |NH | HLIM  |CID|SAC|  SAM  | M |DAC|  DAM  |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+


No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 56 bytes (on a 64-bit architecture).

Definition at line 607 of file sixlowpan-header.h.

Member Enumeration Documentation

◆ HeaderCompression_e

Source or Destination Address Mode.

00: 128 bits. 01: 64 bits (or 48 bits if multicast). 10: 16 bits (or 32 bits if multicast). 11: Fully elided (or 8 bits if multicast).

Enumerator
HC_INLINE 
HC_COMPR_64 
HC_COMPR_16 
HC_COMPR_0 

Definition at line 651 of file sixlowpan-header.h.

◆ Hlim_e

HLIM: Hop Limit.

00: The Hop Limit field is carried in-line. 01: The Hop Limit field is compressed and the hop limit is 1. 10: The Hop Limit field is compressed and the hop limit is 64. 11: The Hop Limit field is compressed and the hop limit is 255.

Enumerator
HLIM_INLINE 
HLIM_COMPR_1 
HLIM_COMPR_64 
HLIM_COMPR_255 

Definition at line 635 of file sixlowpan-header.h.

◆ TrafficClassFlowLabel_e

TF: Traffic Class, Flow Label.

00: ECN + DSCP + 4-bit Pad + Flow Label (4 bytes) 01: ECN + 2-bit Pad + Flow Label (3 bytes), DSCP is elided. 10: ECN + DSCP (1 byte), Flow Label is elided. 11: Traffic Class and Flow Label are elided.

Enumerator
TF_FULL 
TF_DSCP_ELIDED 
TF_FL_ELIDED 
TF_ELIDED 

Definition at line 619 of file sixlowpan-header.h.

Constructor & Destructor Documentation

◆ SixLowPanIphc() [1/2]

ns3::SixLowPanIphc::SixLowPanIphc ( void  )

Definition at line 792 of file sixlowpan-header.cc.

References m_baseFormat, and m_srcdstContextId.

◆ SixLowPanIphc() [2/2]

ns3::SixLowPanIphc::SixLowPanIphc ( uint8_t  dispatch)

Constructor.

Parameters
[in]dispatchDispatch value.

Definition at line 799 of file sixlowpan-header.cc.

References m_baseFormat, and m_srcdstContextId.

Member Function Documentation

◆ Deserialize()

◆ GetCid()

bool ns3::SixLowPanIphc::GetCid ( void  ) const

Get the CID (Context Identifier Extension) compression.

Returns
False (no CID present), true (CID follows).

Definition at line 1263 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by Deserialize(), SixlowpanIphcStatefulImplTest::DoRun(), GetSerializedSize(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ GetDac()

bool ns3::SixLowPanIphc::GetDac ( void  ) const

Get the DAC (Destination Address Compression) compression.

Returns
False (stateless), true (stateful).

Definition at line 1319 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc(), SixlowpanIphcStatefulImplTest::DoRun(), GetSerializedSize(), and Print().

+ Here is the caller graph for this function:

◆ GetDam()

SixLowPanIphc::HeaderCompression_e ns3::SixLowPanIphc::GetDam ( void  ) const

Get the DAM (Destination Address Mode) compression.

Returns
Depends on the DAC and M fields.

Definition at line 1330 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc(), Deserialize(), SixlowpanIphcStatefulImplTest::DoRun(), GetSerializedSize(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ GetDscp()

uint8_t ns3::SixLowPanIphc::GetDscp ( void  ) const

Get the DSCP.

Returns
The DSCP.

Definition at line 1386 of file sixlowpan-header.cc.

References m_dscp.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc().

+ Here is the caller graph for this function:

◆ GetDstContextId()

uint8_t ns3::SixLowPanIphc::GetDstContextId ( void  ) const

Get the DstContextId.

Returns
The DstContextId.

Definition at line 1364 of file sixlowpan-header.cc.

References m_srcdstContextId.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc(), and SixlowpanIphcStatefulImplTest::DoRun().

+ Here is the caller graph for this function:

◆ GetDstInlinePart()

const uint8_t * ns3::SixLowPanIphc::GetDstInlinePart ( void  ) const

brief Get the destination address inline part

Returns
The inline portion of the compressed destination address (16 bytes)

Definition at line 1335 of file sixlowpan-header.cc.

References m_dstInlinePart.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc().

+ Here is the caller graph for this function:

◆ GetEcn()

uint8_t ns3::SixLowPanIphc::GetEcn ( void  ) const

Get the ECN.

Returns
The ECN.

Definition at line 1375 of file sixlowpan-header.cc.

References m_ecn.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc().

+ Here is the caller graph for this function:

◆ GetFlowLabel()

uint32_t ns3::SixLowPanIphc::GetFlowLabel ( void  ) const

Get the Flow Label.

Returns
The Flow Label.

Definition at line 1397 of file sixlowpan-header.cc.

References m_flowLabel.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc().

+ Here is the caller graph for this function:

◆ GetHlim()

SixLowPanIphc::Hlim_e ns3::SixLowPanIphc::GetHlim ( void  ) const

Get the HLIM (Hop Limit) compression.

Returns
Hop Limit compression type.

Definition at line 1252 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by Deserialize(), GetSerializedSize(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ GetHopLimit()

uint8_t ns3::SixLowPanIphc::GetHopLimit ( void  ) const

Get the Hop Limit field.

Returns
The Hop Limit field.

Definition at line 1417 of file sixlowpan-header.cc.

References m_hopLimit.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc().

+ Here is the caller graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::SixLowPanIphc::GetInstanceTypeId ( void  ) const
virtual

Return the instance type identifier.

Returns
Instance type ID.

Implements ns3::ObjectBase.

Definition at line 816 of file sixlowpan-header.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetM()

bool ns3::SixLowPanIphc::GetM ( void  ) const

Get the M (Multicast) compression.

Returns
True if destination is multicast.

Definition at line 1308 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc(), ns3::SixLowPanNetDevice::DecompressLowPanIphc(), Deserialize(), SixlowpanIphcStatefulImplTest::DoRun(), GetSerializedSize(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ GetNextHeader()

uint8_t ns3::SixLowPanIphc::GetNextHeader ( void  ) const

Get the Next Header field.

Returns
The Next Header field.

Definition at line 1407 of file sixlowpan-header.cc.

References m_nextHeader.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc().

+ Here is the caller graph for this function:

◆ GetNh()

bool ns3::SixLowPanIphc::GetNh ( void  ) const

Get the NH (Next Header) compression.

Returns
False (Next Header carried in-line), true (compressed NH).

Definition at line 1241 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc(), Deserialize(), GetSerializedSize(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ GetSac()

bool ns3::SixLowPanIphc::GetSac ( void  ) const

Get the SAC (Source Address Compression) compression.

Returns
False (stateless), true (stateful).

Definition at line 1274 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc(), Deserialize(), SixlowpanIphcStatefulImplTest::DoRun(), GetSerializedSize(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ GetSam()

SixLowPanIphc::HeaderCompression_e ns3::SixLowPanIphc::GetSam ( void  ) const

Get the SAM (Source Address Mode) compression.

Returns
Depends on the SAC field.

Definition at line 1285 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc(), Deserialize(), SixlowpanIphcStatefulImplTest::DoRun(), GetSerializedSize(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ GetSerializedSize()

uint32_t ns3::SixLowPanIphc::GetSerializedSize ( void  ) const
virtual

Get the serialized size of the packet.

Returns
Size.

Implements ns3::Header.

Definition at line 867 of file sixlowpan-header.cc.

References GetCid(), GetDac(), GetDam(), GetHlim(), GetM(), GetNh(), GetSac(), GetSam(), GetTf(), HC_COMPR_0, HC_COMPR_16, HC_COMPR_64, HC_INLINE, HLIM_INLINE, TF_DSCP_ELIDED, TF_FL_ELIDED, and TF_FULL.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc(), and Deserialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetSrcContextId()

uint8_t ns3::SixLowPanIphc::GetSrcContextId ( void  ) const

Get the SrcContextId.

Returns
The SrcContextId.

Definition at line 1353 of file sixlowpan-header.cc.

References m_srcdstContextId.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc(), and SixlowpanIphcStatefulImplTest::DoRun().

+ Here is the caller graph for this function:

◆ GetSrcInlinePart()

const uint8_t * ns3::SixLowPanIphc::GetSrcInlinePart ( void  ) const

brief Get the source address inline part

Returns
The inline portion of the compressed source address (16 bytes)

Definition at line 1290 of file sixlowpan-header.cc.

References m_srcInlinePart.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc().

+ Here is the caller graph for this function:

◆ GetTf()

SixLowPanIphc::TrafficClassFlowLabel_e ns3::SixLowPanIphc::GetTf ( void  ) const

Get the TF (Traffic Class, Flow Label) compression.

Returns
The ECN, DSCP, Flow Label compression type.

Definition at line 1230 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::DecompressLowPanIphc(), Deserialize(), GetSerializedSize(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::SixLowPanIphc::GetTypeId ( void  )
static

Get the type ID.

Returns
The object TypeId.

Definition at line 807 of file sixlowpan-header.cc.

References ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Print()

void ns3::SixLowPanIphc::Print ( std::ostream &  os) const
virtual
Parameters
osoutput stream This method is used by Packet::Print to print the content of a header as ascii data to a c++ output stream. Although the header is free to format its output as it wishes, it is recommended to follow a few rules to integrate with the packet pretty printer: start with flags, small field values located between a pair of parens. Values should be separated by whitespace. Follow the parens with the important fields, separated by whitespace. i.e.: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5

Implements ns3::Header.

Definition at line 821 of file sixlowpan-header.cc.

References GetCid(), GetDac(), GetDam(), GetHlim(), GetM(), GetNh(), GetSac(), GetSam(), GetTf(), HLIM_COMPR_1, HLIM_COMPR_64, HLIM_INLINE, m_dscp, m_ecn, m_flowLabel, m_hopLimit, m_srcdstContextId, TF_DSCP_ELIDED, TF_FL_ELIDED, and TF_FULL.

Referenced by ns3::operator<<().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Serialize()

◆ SetCid()

void ns3::SixLowPanIphc::SetCid ( bool  cidField)

Set the CID (Context Identifier Extension) compression.

Parameters
[in]cidFieldFalse (no CID present), true (CID follows).

Definition at line 1257 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetDac()

void ns3::SixLowPanIphc::SetDac ( bool  dacField)

Set the DAC (Destination Address Compression) compression.

Parameters
[in]dacFieldFalse (stateless), true (stateful).

Definition at line 1313 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetDam()

void ns3::SixLowPanIphc::SetDam ( HeaderCompression_e  damField)

Set the DAM (Destination Address Mode) compression.

Parameters
[in]damFieldDepends on the DAC and M fields.

Definition at line 1324 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetDscp()

void ns3::SixLowPanIphc::SetDscp ( uint8_t  dscp)

Set the DSCP (6bits).

Parameters
[in]dscpValid values are [0:63].

Definition at line 1380 of file sixlowpan-header.cc.

References m_dscp, and NS_ASSERT_MSG.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetDstContextId()

void ns3::SixLowPanIphc::SetDstContextId ( uint8_t  dstContextId)

Set the DstContextId.

Parameters
[in]dstContextIdValid values are [0:15].

Definition at line 1358 of file sixlowpan-header.cc.

References m_srcdstContextId, and NS_ASSERT_MSG.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetDstInlinePart()

void ns3::SixLowPanIphc::SetDstInlinePart ( uint8_t  dstInlinePart[16],
uint8_t  size 
)

brief Set the destination address inline part

Parameters
dstInlinePartThe inline portion of the compressed destination address (16 bytes)
sizeThe number of inline bytes

Definition at line 1340 of file sixlowpan-header.cc.

References m_dstInlinePart, and NS_ASSERT_MSG.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetEcn()

void ns3::SixLowPanIphc::SetEcn ( uint8_t  ecn)

Set the ECN (2bits).

Parameters
[in]ecnValid values are [0:3].

Definition at line 1369 of file sixlowpan-header.cc.

References m_ecn, and NS_ASSERT_MSG.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetFlowLabel()

void ns3::SixLowPanIphc::SetFlowLabel ( uint32_t  flowLabel)

Set the Flow Label (20bits).

Parameters
[in]flowLabelValid values are 20 bits long.

Definition at line 1391 of file sixlowpan-header.cc.

References m_flowLabel, and NS_ASSERT_MSG.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetHlim()

void ns3::SixLowPanIphc::SetHlim ( Hlim_e  hlimField)

Set the HLIM (Hop Limit) compression.

Parameters
[in]hlimFieldHop Limit compression type

Definition at line 1246 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetHopLimit()

void ns3::SixLowPanIphc::SetHopLimit ( uint8_t  hopLimit)

Set the Hop Limit field.

Parameters
[in]hopLimitHop Limit field.

Definition at line 1412 of file sixlowpan-header.cc.

References m_hopLimit.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetM()

void ns3::SixLowPanIphc::SetM ( bool  mField)

Set the M (Multicast) compression.

Parameters
[in]mFieldTrue if destination is multicast.

Definition at line 1302 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetNextHeader()

void ns3::SixLowPanIphc::SetNextHeader ( uint8_t  nextHeader)

Set the Next Header field.

Parameters
[in]nextHeaderNext Header field.

Definition at line 1402 of file sixlowpan-header.cc.

References m_nextHeader.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetNh()

void ns3::SixLowPanIphc::SetNh ( bool  nhField)

Set the NH (Next Header) compression.

Parameters
[in]nhFieldFalse (Next Header carried in-line), true (compressed NH).

Definition at line 1235 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetSac()

void ns3::SixLowPanIphc::SetSac ( bool  sacField)

Set the SAC (Source Address Compression) compression.

Parameters
[in]sacFieldFalse (stateless), true (stateful).

Definition at line 1268 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetSam()

void ns3::SixLowPanIphc::SetSam ( HeaderCompression_e  samField)

Set the SAM (Source Address Mode) compression.

Parameters
[in]samFieldDepends on the SAC.

Definition at line 1279 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetSrcContextId()

void ns3::SixLowPanIphc::SetSrcContextId ( uint8_t  srcContextId)

Set the SrcContextId.

Parameters
[in]srcContextIdValid values are [0:15].

Definition at line 1347 of file sixlowpan-header.cc.

References m_srcdstContextId, and NS_ASSERT_MSG.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetSrcInlinePart()

void ns3::SixLowPanIphc::SetSrcInlinePart ( uint8_t  srcInlinePart[16],
uint8_t  size 
)

brief Set the source address inline part

Parameters
srcInlinePartThe inline portion of the compressed source address (16 bytes)
sizeThe number of inline bytes

Definition at line 1295 of file sixlowpan-header.cc.

References m_srcInlinePart, and NS_ASSERT_MSG.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

◆ SetTf()

void ns3::SixLowPanIphc::SetTf ( TrafficClassFlowLabel_e  tfField)

Set the TF (Traffic Class, Flow Label) compression.

Parameters
[in]tfFieldECN, DSCP, Flow Label compression type.

Definition at line 1224 of file sixlowpan-header.cc.

References m_baseFormat.

Referenced by ns3::SixLowPanNetDevice::CompressLowPanIphc().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_baseFormat

uint16_t ns3::SixLowPanIphc::m_baseFormat
private

◆ m_dscp

uint8_t ns3::SixLowPanIphc::m_dscp
private

DSCP bits.

Definition at line 921 of file sixlowpan-header.h.

Referenced by Deserialize(), GetDscp(), Print(), Serialize(), and SetDscp().

◆ m_dstInlinePart

uint8_t ns3::SixLowPanIphc::m_dstInlinePart[16]
private

destination address inline part.

Definition at line 926 of file sixlowpan-header.h.

Referenced by Deserialize(), GetDstInlinePart(), Serialize(), and SetDstInlinePart().

◆ m_ecn

uint8_t ns3::SixLowPanIphc::m_ecn
private

ECN bits.

Definition at line 920 of file sixlowpan-header.h.

Referenced by Deserialize(), GetEcn(), Print(), Serialize(), and SetEcn().

◆ m_flowLabel

uint32_t ns3::SixLowPanIphc::m_flowLabel
private

Flow Label bits.

Definition at line 922 of file sixlowpan-header.h.

Referenced by Deserialize(), GetFlowLabel(), Print(), Serialize(), and SetFlowLabel().

◆ m_hopLimit

uint8_t ns3::SixLowPanIphc::m_hopLimit
private

Hop Limit.

Definition at line 924 of file sixlowpan-header.h.

Referenced by Deserialize(), GetHopLimit(), Print(), Serialize(), and SetHopLimit().

◆ m_nextHeader

uint8_t ns3::SixLowPanIphc::m_nextHeader
private

Next header.

Definition at line 923 of file sixlowpan-header.h.

Referenced by Deserialize(), GetNextHeader(), Serialize(), and SetNextHeader().

◆ m_srcdstContextId

uint8_t ns3::SixLowPanIphc::m_srcdstContextId
private

◆ m_srcInlinePart

uint8_t ns3::SixLowPanIphc::m_srcInlinePart[16]
private

source address inline part.

Definition at line 925 of file sixlowpan-header.h.

Referenced by Deserialize(), GetSrcInlinePart(), Serialize(), and SetSrcInlinePart().


The documentation for this class was generated from the following files: