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

Static Public Member Functions

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

Private Attributes

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

Additional Inherited Members

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

Detailed Description

LOWPAN_IPHC base Encoding - see RFC 6282 .

     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  |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Definition at line 592 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 636 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 620 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 604 of file sixlowpan-header.h.

Constructor & Destructor Documentation

◆ SixLowPanIphc() [1/2]

ns3::SixLowPanIphc::SixLowPanIphc ( )

Definition at line 825 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 832 of file sixlowpan-header.cc.

References m_baseFormat, and m_srcdstContextId.

Member Function Documentation

◆ Deserialize()

uint32_t ns3::SixLowPanIphc::Deserialize ( Buffer::Iterator start)
overridevirtual

Deserialize the packet.

Parameters
[in]startBuffer iterator.
Returns
Size of the packet.

Implements ns3::Header.

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

References GetCid(), GetDam(), GetHlim(), GetM(), GetNh(), GetSac(), GetSam(), GetSerializedSize(), GetTf(), HC_COMPR_0, HC_COMPR_16, HC_COMPR_64, HC_INLINE, HLIM_COMPR_1, HLIM_COMPR_255, HLIM_COMPR_64, HLIM_INLINE, m_baseFormat, m_dscp, m_dstInlinePart, m_ecn, m_flowLabel, m_hopLimit, m_nextHeader, m_srcdstContextId, m_srcInlinePart, ns3::Buffer::Iterator::Read(), ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadU8(), TF_DSCP_ELIDED, TF_FL_ELIDED, and TF_FULL.

+ Here is the call graph for this function:

◆ GetCid()

bool ns3::SixLowPanIphc::GetCid ( ) const

Get the CID (Context Identifier Extension) compression.

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

Definition at line 1307 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 ( ) const

Get the DAC (Destination Address Compression) compression.

Returns
False (stateless), true (stateful).

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

References m_baseFormat.

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

+ Here is the caller graph for this function:

◆ GetDam()

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

Get the DAM (Destination Address Mode) compression.

Returns
Depends on the DAC and M fields.

Definition at line 1386 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:

◆ GetDscp()

uint8_t ns3::SixLowPanIphc::GetDscp ( ) const

Get the DSCP.

Returns
The DSCP.

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

References m_dscp.

◆ GetDstContextId()

uint8_t ns3::SixLowPanIphc::GetDstContextId ( ) const

Get the DstContextId.

Returns
The DstContextId.

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

References m_srcdstContextId.

Referenced by SixlowpanIphcStatefulImplTest::DoRun().

+ Here is the caller graph for this function:

◆ GetDstInlinePart()

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

brief Get the destination address inline part

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

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

References m_dstInlinePart.

◆ GetEcn()

uint8_t ns3::SixLowPanIphc::GetEcn ( ) const

Get the ECN.

Returns
The ECN.

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

References m_ecn.

◆ GetFlowLabel()

uint32_t ns3::SixLowPanIphc::GetFlowLabel ( ) const

Get the Flow Label.

Returns
The Flow Label.

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

References m_flowLabel.

◆ GetHlim()

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

Get the HLIM (Hop Limit) compression.

Returns
Hop Limit compression type.

Definition at line 1294 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 ( ) const

Get the Hop Limit field.

Returns
The Hop Limit field.

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

References m_hopLimit.

◆ GetInstanceTypeId()

TypeId ns3::SixLowPanIphc::GetInstanceTypeId ( ) const
overridevirtual

Return the instance type identifier.

Returns
Instance type ID.

Implements ns3::ObjectBase.

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

References GetTypeId().

+ Here is the call graph for this function:

◆ GetM()

bool ns3::SixLowPanIphc::GetM ( ) const

Get the M (Multicast) compression.

Returns
True if destination is multicast.

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

References m_baseFormat.

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

+ Here is the caller graph for this function:

◆ GetNextHeader()

uint8_t ns3::SixLowPanIphc::GetNextHeader ( ) const

Get the Next Header field.

Returns
The Next Header field.

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

References m_nextHeader.

◆ GetNh()

bool ns3::SixLowPanIphc::GetNh ( ) const

Get the NH (Next Header) compression.

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

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

References m_baseFormat.

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

+ Here is the caller graph for this function:

◆ GetSac()

bool ns3::SixLowPanIphc::GetSac ( ) const

Get the SAC (Source Address Compression) compression.

Returns
False (stateless), true (stateful).

Definition at line 1320 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:

◆ GetSam()

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

Get the SAM (Source Address Mode) compression.

Returns
Depends on the SAC field.

Definition at line 1333 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:

◆ GetSerializedSize()

uint32_t ns3::SixLowPanIphc::GetSerializedSize ( ) const
overridevirtual

Get the serialized size of the packet.

Returns
Size.

Implements ns3::Header.

Definition at line 904 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 ( ) const

Get the SrcContextId.

Returns
The SrcContextId.

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

References m_srcdstContextId.

Referenced by SixlowpanIphcStatefulImplTest::DoRun().

+ Here is the caller graph for this function:

◆ GetSrcInlinePart()

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

brief Get the source address inline part

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

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

References m_srcInlinePart.

◆ GetTf()

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

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

Returns
The ECN, DSCP, Flow Label compression type.

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

References m_baseFormat.

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

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::SixLowPanIphc::GetTypeId ( )
static

Get the type ID.

Returns
The object TypeId.

Definition at line 841 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
overridevirtual
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 857 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()

void ns3::SixLowPanIphc::Serialize ( Buffer::Iterator start) const
overridevirtual

Serialize the packet.

Parameters
[in]startBuffer iterator.

Implements ns3::Header.

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

References GetCid(), GetDam(), GetHlim(), GetM(), GetNh(), GetSac(), GetSam(), GetTf(), HC_COMPR_0, HC_COMPR_16, HC_COMPR_64, HC_INLINE, HLIM_INLINE, m_baseFormat, m_dscp, m_dstInlinePart, m_ecn, m_flowLabel, m_hopLimit, m_nextHeader, m_srcdstContextId, m_srcInlinePart, TF_DSCP_ELIDED, TF_FL_ELIDED, TF_FULL, ns3::Buffer::Iterator::Write(), ns3::Buffer::Iterator::WriteHtonU16(), and ns3::Buffer::Iterator::WriteU8().

+ Here is the call graph for this function:

◆ 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 1300 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 1366 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 1379 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 1445 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 1419 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 1398 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 1432 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 1458 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 1287 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 1483 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 1353 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 1471 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 1274 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 1313 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 1326 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 1406 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 1345 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 1261 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 906 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 911 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 905 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 907 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 909 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 908 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 910 of file sixlowpan-header.h.

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


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