MultiFieldClassifier¶
Package: inet.networklayer.diffserv
simple module MultiFieldClassifier
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
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for various packet classifier modules. Derived modules must implement a single packet classifier function which determines the index of the output gate for the next pushed packet. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“{mfClassifierStatus}” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
reverseOrder |
bool |
false |
|
filters |
xml |
xml(“<filters/>”) |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
MultiFieldClassifier |
|
display |
i=block/classifier |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
in |
input |
||
out [ ] |
output |
||
defaultOut |
output |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
packetPushed |
|||
pkClass |
long |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
dataRate |
data rate |
throughput(packetPushed) |
vector |
bps |
linear |
the statistical value is the data rate of the classified packets |
packetLengths |
packet lengths |
packetLength(packetPushed) |
sum,histogram,vector |
b |
none |
the statistical value is the length of the classified packet |
packets |
packets |
packetPushed |
count |
pk |
the statistical value is the classified packet |
|
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 extends PacketClassifierBase
{
parameters:
xml filters = default(xml("<filters/>"));
@class(MultiFieldClassifier);
displayStringTextFormat = default("{mfClassifierStatus}");
@signal[pkClass](type=long);
@statistic[pkClass](title="packet class"; source=pkClass; record=vector; interpolationmode=none);
gates:
output defaultOut;
}
File: src/inet/networklayer/diffserv/MultiFieldClassifier.ned