IPacketFilter

Package: inet.queueing.contract

IPacketFilter

module interface

This module interface is implemented by packet filter modules. A packet filter connects one input to one output. It can operate in both active and passive mode. Packets can be pushed into its input or packets can be popped from its output. Processed packets are either dropped, if they don't match the filter criteria, or they are passed through without any delay or reordering.

IPacketFilter

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Implemented by

Name Type Description
ContentBasedFilter simple module

This module filters for packets matching the configured filter criteria. When the filter is pushed by a connected packet producer, it either pushes the packet to the connected packet consumer or drops it depending on the configured packet filter. Similarily, when the filter is popped by a connected packet collector, it pops packets from the connected packet provider until it finds one which matches the configured packet filter.

PacketFilter simple module

This module filters for packets matching the configured filter criteria. When the filter is pushed by a connected packet producer, it either pushes the packet to the connected packet consumer or drops it depending on the configured packet filter. Similarily, when the filter is popped by a connected packet collector, it pops packets from the connected packet provider until it finds one which matches the configured packet filter.

RateLimiter simple module

This module limit the datarate or the packetrate of a stream of packets based on the RateTag attached to the packets.

Extends

Name Type Description
IPacketSource module interface

This module interface is implemented by packet source modules which are both active and passive simultaneously.

IPacketSink module interface

This module interface is implemented by packet sink modules which are both passive and active simultaneously.

Properties

Name Value Description
display i=block/sink

Source code

//
// This module interface is implemented by packet filter modules. A packet filter
// connects one input to one output. It can operate in both active and passive
// mode. Packets can be pushed into its input or packets can be popped from its
// output. Processed packets are either dropped, if they don't match the filter
// criteria, or they are passed through without any delay or reordering.
//
moduleinterface IPacketFilter extends IPacketSink, IPacketSource
{
    parameters:
        @display("i=block/downarrow");
}
File: src/inet/queueing/contract/IPacketFilter.ned