ns-3
|
IPv6 L4 protocol abstract class. More...
#include <ipv6-l4-protocol.h>
Public Types | |
enum | RxStatus_e { RX_OK, RX_CSUM_FAILED, RX_ENDPOINT_UNREACH } |
Status of receive. More... | |
Public Member Functions | |
virtual | ~Ipv6L4Protocol () |
Destructor. | |
virtual int | GetProtocolNumber () const =0 |
Get the protocol number. | |
virtual enum RxStatus_e | Receive (Ptr< Packet > p, Ipv6Address const &src, Ipv6Address const &dst, Ptr< Ipv6Interface > incomingInterface)=0 |
Receive method. | |
virtual void | ReceiveIcmp (Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, Ipv6Address payloadSource, Ipv6Address payloadDestination, const uint8_t *payload) |
ICMPv6 receive method. | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type identifier. |
IPv6 L4 protocol abstract class.
virtual int ns3::Ipv6L4Protocol::GetProtocolNumber | ( | ) | const [pure virtual] |
Get the protocol number.
Implemented in ns3::Icmpv6L4Protocol.
Referenced by GetTypeId().
TypeId ns3::Ipv6L4Protocol::GetTypeId | ( | void | ) | [static] |
Get the type identifier.
This method returns the TypeId associated to ns3::Ipv6L4Protocol.
This object is accessible through the following paths with Config::Set and Config::Connect:
Attributes defined for this type:
No TraceSources defined for this type.
Reimplemented from ns3::Object.
Reimplemented in ns3::Icmpv6L4Protocol.
References GetProtocolNumber(), and ns3::TypeId::SetParent().
virtual enum RxStatus_e ns3::Ipv6L4Protocol::Receive | ( | Ptr< Packet > | p, |
Ipv6Address const & | src, | ||
Ipv6Address const & | dst, | ||
Ptr< Ipv6Interface > | incomingInterface | ||
) | [pure virtual] |
Receive method.
Called from lower-level layers to send the packet up in the stack.
p | packet to forward up |
src | source address of packet received |
dst | address of packet received |
incomingInterface | the Ipv6Interface on which the packet arrived |
Implemented in ns3::Icmpv6L4Protocol.
void ns3::Ipv6L4Protocol::ReceiveIcmp | ( | Ipv6Address | icmpSource, |
uint8_t | icmpTtl, | ||
uint8_t | icmpType, | ||
uint8_t | icmpCode, | ||
uint32_t | icmpInfo, | ||
Ipv6Address | payloadSource, | ||
Ipv6Address | payloadDestination, | ||
const uint8_t * | payload | ||
) | [virtual] |
ICMPv6 receive method.
icmpSource | the source address of the ICMPv6 message |
icmpTtl | the ttl of the ICMPv6 message |
icmpType | the 'type' field of the ICMPv6 message |
icmpCode | the 'code' field of the ICMPv6 message |
icmpInfo | extra information dependent on the ICMPv6 message generated by Icmpv6L4Protocol |
payloadSource | the source address of the packet which triggered the ICMPv6 message |
payloadDestination | the destination address of the packet which triggered the ICMPv6 message. |
payload | the first 8 bytes of the UDP header of the packet which triggered the ICMPv6 message. |