INET Framework for OMNeT++/OMNEST
inet::ProtocolDissector Class Referenceabstract

Protocol dissector classes dissect packets into protocol specific meaningful parts. More...

#include <ProtocolDissector.h>

Inheritance diagram for inet::ProtocolDissector:
inet::AckingMacProtocolDissector inet::ApskProtocolDissector inet::ArpProtocolDissector inet::BMacProtocolDissector inet::CsmaCaMacProtocolDissector inet::DefaultProtocolDissector inet::EchoProtocolDissector inet::EthernetMacProtocolDissector inet::FloodingProtocolDissector inet::IcmpProtocolDissector inet::Icmpv6ProtocolDissector inet::Ieee80211MacProtocolDissector inet::Ieee80211MgmtProtocolDissector inet::Ieee80211PhyProtocolDissector inet::Ieee802154ProtocolDissector inet::Ieee802EpdProtocolDissector inet::Ieee802LlcDissector inet::IgmpProtocolDissector inet::Ipv4ProtocolDissector inet::Ipv6ProtocolDissector inet::LMacProtocolDissector inet::LsrProtocolDissector inet::ManetProtocolDissector inet::MplsProtocolDissector inet::NextHopProtocolDissector inet::ospf::OspfProtocolDissector inet::PimProtocolDissector inet::PppProtocolDissector inet::ProbabilisticProtocolDissector inet::RipProtocolDissector inet::RsvpProtocolDissector inet::sctp::SctpProtocolDissector inet::ShortcutMacProtocolDissector inet::ShortcutPhyProtocolDissector inet::StpProtocolDissector inet::TcpProtocolDissector inet::UdpProtocolDissector inet::UnitDiskProtocolDissector inet::WiseRouteProtocolDissector inet::XMacProtocolDissector

Classes

class  ICallback
 

Public Member Functions

virtual void dissect (Packet *packet, const Protocol *protocol, ICallback &callback) const =0
 Dissects the packet according to the protocol implemented by this ProtocolDissector. More...
 

Detailed Description

Protocol dissector classes dissect packets into protocol specific meaningful parts.

The algorithm calls the visitor method exactly one time for each part in order from left to right. For an aggregate packet all aggregated parts are visited in the order they appear in the packet. For a fragmented packet the fragment part is visited as a whole. If dissecting that part is also needed then another dissector must be used for that part.

Dissectors can handle both protocol specific and raw representations (raw bytes or bits). In general, dissectors call the chunk visitor with the most specific representation available for a particular protocol.

Member Function Documentation

◆ dissect()

virtual void inet::ProtocolDissector::dissect ( Packet packet,
const Protocol protocol,
ICallback callback 
) const
pure virtual

Dissects the packet according to the protocol implemented by this ProtocolDissector.

Implemented in inet::DefaultProtocolDissector, inet::Ieee80211MacProtocolDissector, inet::physicallayer::GptpProtocolDissector, inet::physicallayer::Ieee8021qTagEpdProtocolDissector, inet::physicallayer::Ieee8021rTagEpdProtocolDissector, inet::physicallayer::EthernetPhyProtocolDissector, inet::ospf::OspfProtocolDissector, inet::sctp::SctpProtocolDissector, inet::AckingMacProtocolDissector, inet::BMacProtocolDissector, inet::CsmaCaMacProtocolDissector, inet::EthernetMacProtocolDissector, inet::Ieee80211MgmtProtocolDissector, inet::Ieee802154ProtocolDissector, inet::StpProtocolDissector, inet::Ieee802LlcDissector, inet::LMacProtocolDissector, inet::PppProtocolDissector, inet::ShortcutMacProtocolDissector, inet::XMacProtocolDissector, inet::ArpProtocolDissector, inet::EchoProtocolDissector, inet::FloodingProtocolDissector, inet::Icmpv6ProtocolDissector, inet::IcmpProtocolDissector, inet::IgmpProtocolDissector, inet::Ipv4ProtocolDissector, inet::Ipv6ProtocolDissector, inet::MplsProtocolDissector, inet::NextHopProtocolDissector, inet::ProbabilisticProtocolDissector, inet::RsvpProtocolDissector, inet::LsrProtocolDissector, inet::WiseRouteProtocolDissector, inet::ApskProtocolDissector, inet::Ieee80211PhyProtocolDissector, inet::ShortcutPhyProtocolDissector, inet::UnitDiskProtocolDissector, inet::ManetProtocolDissector, inet::PimProtocolDissector, inet::RipProtocolDissector, inet::TcpProtocolDissector, inet::UdpProtocolDissector, and inet::Ieee802EpdProtocolDissector.


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