IPacketPolicing

Package: inet.queueing.contract

IPacketPolicing

module interface

This module interface is implemented by packet policing modules. A packet policing connects one input to one output. It operates in passive mode on its input and in active mode on its output. These modules usually meter various traffic properties and drop packets, but they never modify, delay or reorder packets.

Inheritance diagram

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

Implemented by

Name Type Description
MultiPacketPolicing compound module

This module combines multiple packet policing modules into one.

PacketPolicing compound module

This module combines a packet meter and a packet filter into a packet policing module. The meter measures the packet flow that is passing through and attaches some meta information to the packets. The filter drops the packets that don't match the implemented filter criteria.

Extends

Name Type Description
IActivePacketSource module interface

This module interface must be implemented by active packet source modules. An active packet source, also called a producer, has one output that must be connected to a passive packet sink module. The active packet source is expected to push packets into the connected passive packet sink over time.

IPassivePacketSink module interface

This module interface must be implemented by passive packet sink modules. A passive packet sink, also called a consumer, has one input that must be connected to an active packet source module. The connected active packet source is expected to push packets into the passive packet sink over time.

Properties

Name Value Description
display i=block/sink

Source code

//
// This module interface is implemented by packet policing modules. A packet
// policing connects one input to one output. It operates in passive mode on
// its input and in active mode on its output. These modules usually meter
// various traffic properties and drop packets, but they never modify, delay
// or reorder packets.
//
moduleinterface IPacketPolicing extends IPassivePacketSink, IActivePacketSource
{
    parameters:
        @display("i=block/downarrow");
}
File: src/inet/queueing/contract/IPacketPolicing.ned