UDP LOWPAN_NHC Extension Header Encoding - see RFC 6282. More...
#include "sixlowpan-header.h"
Public Types | |
enum | Ports_e { PORTS_INLINE = 0, PORTS_ALL_SRC_LAST_DST, PORTS_LAST_SRC_ALL_DST, PORTS_LAST_SRC_LAST_DST } |
Ports: More... | |
Public Member Functions | |
SixLowPanUdpNhcExtension (void) | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
Deserialize the packet. More... | |
bool | GetC (void) const |
Get the C (Checksum). More... | |
uint16_t | GetChecksum (void) const |
Get the Checksum field value. More... | |
uint16_t | GetDstPort () const |
Get the Destination Port. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Return the instance type identifier. More... | |
virtual SixLowPanDispatch::NhcDispatch_e | GetNhcDispatchType (void) const |
Get the NhcDispatch type. More... | |
Ports_e | GetPorts (void) const |
Get the compressed Src and Dst Ports. More... | |
virtual uint32_t | GetSerializedSize (void) const |
Get the serialized size of the packet. More... | |
uint16_t | GetSrcPort () const |
Get the Source Port. More... | |
virtual void | Print (std::ostream &os) const |
virtual void | Serialize (Buffer::Iterator start) const |
Serialize the packet. More... | |
void | SetC (bool cField) |
Set the C (Checksum). More... | |
void | SetChecksum (uint16_t checksum) |
Set the Checksum field values. More... | |
void | SetDstPort (uint16_t port) |
Set the Destination Port. More... | |
void | SetPorts (Ports_e port) |
Set the compressed Src and Dst Ports. More... | |
void | SetSrcPort (uint16_t port) |
Set the Source Port. More... | |
Public Member Functions inherited from ns3::Header | |
virtual | ~Header () |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. More... | |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. More... | |
Public Member Functions inherited from ns3::Chunk | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. 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... | |
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 | |
uint8_t | m_baseFormat |
Dispatch + encoding fields. More... | |
uint16_t | m_checksum |
Checksum. More... | |
uint16_t | m_dstPort |
Destination port. More... | |
uint16_t | m_srcPort |
Source port. 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... | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
UDP LOWPAN_NHC Extension Header Encoding - see RFC 6282.
Introspection did not find any typical Config paths.
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | 1 | 1 | 1 | 1 | 0 | C | P | +---+---+---+---+---+---+---+---+
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 16 bytes (on a 64-bit architecture).
Definition at line 1105 of file sixlowpan-header.h.
Ports:
00: 16 bits for both Source Port and Destination Port 01: 16 bits for Source Port. Last 8 bits for Destination Port 10: Last 8 bits for Source Port. All 16 bits for Destination Port 11: Last 4 bits of both Source Port and Destination Port
Enumerator | |
---|---|
PORTS_INLINE | |
PORTS_ALL_SRC_LAST_DST | |
PORTS_LAST_SRC_ALL_DST | |
PORTS_LAST_SRC_LAST_DST |
Definition at line 1116 of file sixlowpan-header.h.
ns3::SixLowPanUdpNhcExtension::SixLowPanUdpNhcExtension | ( | void | ) |
Definition at line 1615 of file sixlowpan-header.cc.
References m_baseFormat, m_checksum, m_dstPort, and m_srcPort.
|
virtual |
Deserialize the packet.
[in] | start | Buffer iterator. |
Implements ns3::Header.
Definition at line 1705 of file sixlowpan-header.cc.
References GetC(), GetPorts(), GetSerializedSize(), m_baseFormat, m_checksum, m_dstPort, m_srcPort, PORTS_ALL_SRC_LAST_DST, PORTS_INLINE, PORTS_LAST_SRC_ALL_DST, PORTS_LAST_SRC_LAST_DST, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadU16(), ns3::Buffer::Iterator::ReadU8(), and visualizer.core::start().
bool ns3::SixLowPanUdpNhcExtension::GetC | ( | void | ) | const |
Get the C (Checksum).
Definition at line 1787 of file sixlowpan-header.cc.
References m_baseFormat.
Referenced by ns3::SixLowPanNetDevice::DecompressLowPanUdpNhc(), Deserialize(), GetSerializedSize(), and Serialize().
uint16_t ns3::SixLowPanUdpNhcExtension::GetChecksum | ( | void | ) | const |
Get the Checksum field value.
Definition at line 1797 of file sixlowpan-header.cc.
References m_checksum.
Referenced by ns3::SixLowPanNetDevice::DecompressLowPanUdpNhc().
uint16_t ns3::SixLowPanUdpNhcExtension::GetDstPort | ( | void | ) | const |
Get the Destination Port.
Definition at line 1776 of file sixlowpan-header.cc.
References m_dstPort.
Referenced by ns3::SixLowPanNetDevice::DecompressLowPanUdpNhc().
|
virtual |
Return the instance type identifier.
Implements ns3::ObjectBase.
Definition at line 1633 of file sixlowpan-header.cc.
References GetTypeId().
|
virtual |
Get the NhcDispatch type.
Definition at line 1745 of file sixlowpan-header.cc.
References ns3::SixLowPanDispatch::LOWPAN_UDPNHC.
SixLowPanUdpNhcExtension::Ports_e ns3::SixLowPanUdpNhcExtension::GetPorts | ( | void | ) | const |
Get the compressed Src and Dst Ports.
Definition at line 1756 of file sixlowpan-header.cc.
References m_baseFormat.
Referenced by ns3::SixLowPanNetDevice::DecompressLowPanUdpNhc(), Deserialize(), GetSerializedSize(), and Serialize().
|
virtual |
Get the serialized size of the packet.
Implements ns3::Header.
Definition at line 1643 of file sixlowpan-header.cc.
References GetC(), GetPorts(), PORTS_ALL_SRC_LAST_DST, PORTS_INLINE, PORTS_LAST_SRC_ALL_DST, and PORTS_LAST_SRC_LAST_DST.
Referenced by ns3::SixLowPanNetDevice::CompressLowPanUdpNhc(), and Deserialize().
uint16_t ns3::SixLowPanUdpNhcExtension::GetSrcPort | ( | void | ) | const |
Get the Source Port.
Definition at line 1766 of file sixlowpan-header.cc.
References m_srcPort.
Referenced by ns3::SixLowPanNetDevice::DecompressLowPanUdpNhc().
|
static |
Get the type ID.
Definition at line 1624 of file sixlowpan-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
virtual |
os | output 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 1638 of file sixlowpan-header.cc.
References m_baseFormat.
Referenced by ns3::operator<<().
|
virtual |
Serialize the packet.
[in] | start | Buffer iterator. |
Implements ns3::Header.
Definition at line 1668 of file sixlowpan-header.cc.
References GetC(), GetPorts(), m_baseFormat, m_checksum, m_dstPort, m_srcPort, PORTS_ALL_SRC_LAST_DST, PORTS_INLINE, PORTS_LAST_SRC_ALL_DST, PORTS_LAST_SRC_LAST_DST, visualizer.core::start(), ns3::Buffer::Iterator::WriteHtonU16(), ns3::Buffer::Iterator::WriteU16(), and ns3::Buffer::Iterator::WriteU8().
void ns3::SixLowPanUdpNhcExtension::SetC | ( | bool | cField | ) |
Set the C (Checksum).
[in] | cField | False (All checksum carried in-line), true (Checksum elided). |
Definition at line 1781 of file sixlowpan-header.cc.
References m_baseFormat.
Referenced by ns3::SixLowPanNetDevice::CompressLowPanUdpNhc().
void ns3::SixLowPanUdpNhcExtension::SetChecksum | ( | uint16_t | checksum | ) |
Set the Checksum field values.
[in] | checksum | The Checksum field value. |
Definition at line 1792 of file sixlowpan-header.cc.
References m_checksum.
Referenced by ns3::SixLowPanNetDevice::CompressLowPanUdpNhc().
void ns3::SixLowPanUdpNhcExtension::SetDstPort | ( | uint16_t | port | ) |
Set the Destination Port.
[in] | port | The Destination Port. |
Definition at line 1771 of file sixlowpan-header.cc.
References m_dstPort.
Referenced by ns3::SixLowPanNetDevice::CompressLowPanUdpNhc().
void ns3::SixLowPanUdpNhcExtension::SetPorts | ( | Ports_e | port | ) |
Set the compressed Src and Dst Ports.
[in] | port | Src and Dst Ports. |
Definition at line 1750 of file sixlowpan-header.cc.
References m_baseFormat.
Referenced by ns3::SixLowPanNetDevice::CompressLowPanUdpNhc().
void ns3::SixLowPanUdpNhcExtension::SetSrcPort | ( | uint16_t | port | ) |
Set the Source Port.
[in] | port | The Source Port. |
Definition at line 1761 of file sixlowpan-header.cc.
References m_srcPort.
Referenced by ns3::SixLowPanNetDevice::CompressLowPanUdpNhc().
|
private |
Dispatch + encoding fields.
Definition at line 1226 of file sixlowpan-header.h.
Referenced by Deserialize(), GetC(), GetPorts(), Print(), Serialize(), SetC(), SetPorts(), and SixLowPanUdpNhcExtension().
|
private |
Checksum.
Definition at line 1227 of file sixlowpan-header.h.
Referenced by Deserialize(), GetChecksum(), Serialize(), SetChecksum(), and SixLowPanUdpNhcExtension().
|
private |
Destination port.
Definition at line 1229 of file sixlowpan-header.h.
Referenced by Deserialize(), GetDstPort(), Serialize(), SetDstPort(), and SixLowPanUdpNhcExtension().
|
private |
Source port.
Definition at line 1228 of file sixlowpan-header.h.
Referenced by Deserialize(), GetSrcPort(), Serialize(), SetSrcPort(), and SixLowPanUdpNhcExtension().