INET Framework for OMNeT++/OMNEST
|
This interface is used by the network protocol during processing datagrams. More...
#include <INetfilter.h>
Public Types | |
enum | Type { PREROUTING, LOCALIN, FORWARD, POSTROUTING, LOCALOUT } |
enum | Result { ACCEPT, DROP, QUEUE, STOLEN } |
Public Member Functions | |
virtual | ~IHook () |
virtual Result | datagramPreRoutingHook (INetworkDatagram *datagram, const InterfaceEntry *inputInterfaceEntry, const InterfaceEntry *&outputInterfaceEntry, L3Address &nextHopAddress)=0 |
This is the first hook called by the network protocol before it routes a datagram that was received from the lower layer. More... | |
virtual Result | datagramForwardHook (INetworkDatagram *datagram, const InterfaceEntry *inputInterfaceEntry, const InterfaceEntry *&outputInterfaceEntry, L3Address &nextHopAddress)=0 |
This is the second hook called by the network protocol before it sends a datagram to the lower layer. More... | |
virtual Result | datagramPostRoutingHook (INetworkDatagram *datagram, const InterfaceEntry *inputInterfaceEntry, const InterfaceEntry *&outputInterfaceEntry, L3Address &nextHopAddress)=0 |
This is the last hook called by the network protocol before it sends a datagram to the lower layer. More... | |
virtual Result | datagramLocalInHook (INetworkDatagram *datagram, const InterfaceEntry *inputInterfaceEntry)=0 |
This is the last hook called by the network protocol before it sends a datagram to the upper layer. More... | |
virtual Result | datagramLocalOutHook (INetworkDatagram *datagram, const InterfaceEntry *&outputInterfaceEntry, L3Address &nextHopAddress)=0 |
This is the first hook called by the network protocol before it routes a datagram that was received from the upper layer. More... | |
This interface is used by the network protocol during processing datagrams.
|
pure virtual |
This is the second hook called by the network protocol before it sends a datagram to the lower layer.
This is done after the datagramPreRoutingHook or the datagramLocalInHook is called and the datagram is routed.
Implemented in inet::dymo::DYMO, inet::AODVRouting, inet::GPSR, inet::CloudDelayerBase, inet::NetfilterInfoHook, and inet::sctp::SCTPNatHook.
|
pure virtual |
This is the last hook called by the network protocol before it sends a datagram to the upper layer.
This is done after the datagramPreRoutingHook is called and the datagram is routed.
Implemented in inet::dymo::DYMO, inet::AODVRouting, inet::GPSR, inet::NetfilterInfoHook, inet::CloudDelayerBase, and inet::sctp::SCTPNatHook.
|
pure virtual |
This is the first hook called by the network protocol before it routes a datagram that was received from the upper layer.
The nextHopAddress is ignored when the outputInterfaceEntry is a nullptr. After this is done
Implemented in inet::dymo::DYMO, inet::AODVRouting, inet::GPSR, inet::NetfilterInfoHook, inet::CloudDelayerBase, and inet::sctp::SCTPNatHook.
|
pure virtual |
This is the last hook called by the network protocol before it sends a datagram to the lower layer.
Implemented in inet::dymo::DYMO, inet::AODVRouting, inet::GPSR, inet::NetfilterInfoHook, inet::CloudDelayerBase, and inet::sctp::SCTPNatHook.
|
pure virtual |
This is the first hook called by the network protocol before it routes a datagram that was received from the lower layer.
The nextHopAddress is ignored when the outputInterfaceEntry is nullptr.
Implemented in inet::dymo::DYMO, inet::AODVRouting, inet::GPSR, inet::CloudDelayerBase, inet::NetfilterInfoHook, and inet::sctp::SCTPNatHook.