IPv6 L4 protocol abstract class.
More...
#include <ipv6-l4-protocol.h>
List of all members.
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.
|
Detailed Description
IPv6 L4 protocol abstract class.
Member Enumeration Documentation
Status of receive.
- Enumerator:
RX_OK |
Receive OK
|
RX_CSUM_FAILED |
Checksum of layer 4 protocol failed
|
RX_ENDPOINT_UNREACH |
Destination unreachable
|
Member Function Documentation
virtual int ns3::Ipv6L4Protocol::GetProtocolNumber |
( |
|
) |
const [pure virtual] |
static TypeId ns3::Ipv6L4Protocol::GetTypeId |
( |
void |
|
) |
[static] |
Get the type identifier.
This method returns the TypeId associated to ns3::Ipv6L4Protocol.
- Returns:
- type identifier
This object is accessible through the following paths with Config::Set and Config::Connect:
-
/NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::Ipv6L4Protocol
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::Ipv6L4Protocol
Attributes defined for this type:
-
ProtocolNumber: The IPv6 protocol number.
No TraceSources defined for this type.
Reimplemented from ns3::Object.
Reimplemented in ns3::Icmpv6L4Protocol.
Receive method.
Called from lower-level layers to send the packet up in the stack.
- Parameters:
-
| p | packet to forward up |
| src | source address of packet received |
| dst | address of packet received |
| incomingInterface | the Ipv6Interface on which the packet arrived |
- Returns:
- status (OK, destination unreachable or checksum failed)
Implemented in ns3::Icmpv6L4Protocol.
virtual 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.
- Parameters:
-
| 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. |
The documentation for this class was generated from the following files:
- src/internet-stack/ipv6-l4-protocol.h
- doc/introspected-doxygen.h