BehaviorAggregateClassifier¶
Package: inet.networklayer.diffserv
simple module BehaviorAggregateClassifier
Reads the DSCP (lower six bits of ToS/TrafficClass) from the received datagram, and forwards the datagram to the corresponding output gate.
DSCPs are enumerated in the dscps parameter, first value is for out[0], second
for out[1], etc. If the packet has no DSCP, or its value is not enumerated
in the dscps parameter, it will be forwarded via the defaultOut gate.
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
This is an example queue that can be used in interfaces of DS core and edge nodes to support the AFxy (RFC 2597) and EF (RFC 3246) PHBs. |
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 |
“{classifierStatus}” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
reverseOrder |
bool |
false |
|
dscps |
string |
“” |
Space-separated dscp values of the gates, both names (e.g. AF11, EF) and numbers (0x0A,0b101110) can be used |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
BehaviorAggregateClassifier |
|
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¶
//
// Reads the DSCP (lower six bits of ToS/TrafficClass) from the
// received datagram, and forwards the datagram to the corresponding output gate.
//
// DSCPs are enumerated in the `dscps` parameter, first value is for `out[0]`, second
// for `out[1]`, etc. If the packet has no DSCP, or its value is not enumerated
// in the `dscps` parameter, it will be forwarded via the `defaultOut` gate.
//
simple BehaviorAggregateClassifier extends PacketClassifierBase
{
parameters:
string dscps = default(""); // Space-separated dscp values of the gates, both names (e.g. AF11, EF) and numbers (0x0A,0b101110) can be used
@class(BehaviorAggregateClassifier);
displayStringTextFormat = default("{classifierStatus}");
@signal[pkClass](type=long);
@statistic[pkClass](title="packet class"; source=pkClass; record=vector; interpolationmode=none);
gates:
output defaultOut;
}
File: src/inet/networklayer/diffserv/BehaviorAggregateClassifier.ned