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

This interface is implemented by network protocols which want provide netfilter hooks to customize their behavior. More...

#include <INetfilter.h>

Inheritance diagram for inet::INetfilter:
inet::GenericNetworkProtocol inet::IPv4 inet::IPv6

Classes

class  IHook
 This interface is used by the network protocol during processing datagrams. More...
 

Public Member Functions

virtual ~INetfilter ()
 
virtual void registerHook (int priority, IHook *hook)=0
 Adds the provided hook to the list of registered hooks that will be called by the network layer when it processes datagrams. More...
 
virtual void unregisterHook (int priority, IHook *hook)=0
 Removes the provided hook from the list of registered hooks. More...
 
virtual void dropQueuedDatagram (const INetworkDatagram *daragram)=0
 Requests the network layer to drop the datagram, because it's no longer needed. More...
 
virtual void reinjectQueuedDatagram (const INetworkDatagram *datagram)=0
 Requests the network layer to restart the processing of the datagram. More...
 

Detailed Description

This interface is implemented by network protocols which want provide netfilter hooks to customize their behavior.

For example, implementing a reactive routing protocol can be done using this interface.

Constructor & Destructor Documentation

virtual inet::INetfilter::~INetfilter ( )
inlinevirtual
93 {}

Member Function Documentation

virtual void inet::INetfilter::dropQueuedDatagram ( const INetworkDatagram daragram)
pure virtual

Requests the network layer to drop the datagram, because it's no longer needed.

This function may be used by a reactive routing protocol when it cancels the route discovery process.

Implemented in inet::IPv4, inet::IPv6, and inet::GenericNetworkProtocol.

Referenced by inet::AODVRouting::cancelRouteDiscovery(), and inet::dymo::DYMO::dropDelayedDatagram().

virtual void inet::INetfilter::registerHook ( int  priority,
IHook hook 
)
pure virtual

Adds the provided hook to the list of registered hooks that will be called by the network layer when it processes datagrams.

Implemented in inet::IPv4, inet::IPv6, and inet::GenericNetworkProtocol.

Referenced by inet::NetfilterInfoHook::initialize(), inet::GPSR::initialize(), inet::dymo::DYMO::initialize(), and inet::AODVRouting::initialize().

virtual void inet::INetfilter::reinjectQueuedDatagram ( const INetworkDatagram datagram)
pure virtual

Requests the network layer to restart the processing of the datagram.

This function may be used by a reactive routing protocol when it completes the route discovery process.

Implemented in inet::IPv4, inet::IPv6, and inet::GenericNetworkProtocol.

Referenced by inet::AODVRouting::completeRouteDiscovery(), and inet::dymo::DYMO::reinjectDelayedDatagram().

virtual void inet::INetfilter::unregisterHook ( int  priority,
IHook hook 
)
pure virtual

Removes the provided hook from the list of registered hooks.

Implemented in inet::IPv4, inet::IPv6, and inet::GenericNetworkProtocol.


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