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::NetfilterBase inet::Ipv4 inet::Ipv6 inet::NextHopForwarding

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 (IHook *hook)=0
 Removes the provided hook from the list of registered hooks. More...
 
virtual void dropQueuedDatagram (const Packet *daragram)=0
 Requests the network layer to drop the datagram, because it's no longer needed. More...
 
virtual void reinjectQueuedDatagram (const Packet *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

◆ ~INetfilter()

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

Member Function Documentation

◆ dropQueuedDatagram()

virtual void inet::INetfilter::dropQueuedDatagram ( const Packet 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::Ipv6, inet::Ipv4, and inet::NextHopForwarding.

◆ registerHook()

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::NetfilterBase, inet::Ipv4, inet::Ipv6, and inet::NextHopForwarding.

Referenced by inet::sctp::SctpNatHook::initialize(), inet::tcp::TcpLwip::initialize(), inet::Pim::initialize(), inet::tcp::Tcp::initialize(), inet::Udp::initialize(), and inet::sctp::Sctp::initialize().

◆ reinjectQueuedDatagram()

virtual void inet::INetfilter::reinjectQueuedDatagram ( const Packet 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::Ipv6, inet::Ipv4, and inet::NextHopForwarding.

◆ unregisterHook()

virtual void inet::INetfilter::unregisterHook ( IHook hook)
pure virtual

Removes the provided hook from the list of registered hooks.

Implemented in inet::NetfilterBase, inet::Ipv4, inet::Ipv6, and inet::NextHopForwarding.

Referenced by inet::sctp::SctpNatHook::finish().


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