Simple Module MultiFieldClassifier

Package: inet.networklayer.diffserv
File: src/inet/networklayer/diffserv/MultiFieldClassifier.ned

C++ definition

This classifier contains a list of filters that identifies the flows and determines their classes. Each filter can match the source and destination address, IP protocol number, source and destination ports, or ToS of the datagram. The first matching filter determines the index of the out gate. If no matching filter is found, then the packet will be sent through the defaultOut gate.

See RFC 2475 2.3.1, RFC 3290 4.2.2

MultiFieldClassifier

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

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

Used in compound modules:

Name Type Description
TC1 compound module

Traffic conditioner used in Experiments 1.1-1.6 and 5.1.

TC2 compound module

Traffic conditioner used in Experiment 3.1.

TC3 compound module

Traffic conditioner used in Experiment 3.2.

TrafficConditioner compound module

TODO documentation

Parameters:

Name Type Default value Description
filters xml xml("")

Properties:

Name Value Description
display i=block/classifier

Gates:

Name Direction Size Description
in input
outs [ ] output
defaultOut output

Signals:

Name Type Unit
pkClass long

Statistics:

Name Title Source Record Unit Interpolation Mode
pkClass packet class pkClass vector none

Source code:

//
// This classifier contains a list of filters that identifies
// the flows and determines their classes.
// Each filter can match the source and destination address,
// IP protocol number, source and destination ports, or ToS
// of the datagram. The first matching filter determines the
// index of the out gate. If no matching filter is found,
// then the packet will be sent through the defaultOut gate.
//
// See RFC 2475 2.3.1, RFC 3290 4.2.2
//
simple MultiFieldClassifier
{
    parameters:
        xml filters = default(xml("<filters/>"));
        @display("i=block/classifier");

        @signal[pkClass](type=long);
        @statistic[pkClass](title="packet class"; source=pkClass; record=vector; interpolationmode=none);
    gates:
        input in;
        output outs[];
        output defaultOut;
}