DscpMarker¶
Package: inet.networklayer.diffserv
simple module DscpMarker
Sets the DSCP field (lower six bit of Tos/TrafficClass) of IP datagrams
to the value specified by the dscps parameter.
The dscps parameter is a space-separated list of DSCP values.
Packets arriving at gate in[i] are marked with the ith value. If there are fewer
DSCP values given than input gates, then the last one is repeated.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for various packet processing modules which maintains a few statistics. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“{markerStatus}” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
dscps |
string |
A space-separated list of DSCP values; both names (e.g., AF11, EF) and numbers (0x0A, 0b101110) can be used |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
DscpMarker |
|
display |
i=block/star |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
in [ ] |
input |
||
out |
output |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
packetMarked |
cPacket |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
packetMarked |
packets marked |
packetMarked |
count,”sum(packetBytes)”,”vector(packetBytes)” |
none |
Source code¶
//
// Sets the DSCP field (lower six bit of Tos/TrafficClass) of IP datagrams
// to the value specified by the `dscps` parameter.
//
// The `dscps` parameter is a space-separated list of DSCP values.
// Packets arriving at gate `in[i]` are marked with the ith value. If there are fewer
// DSCP values given than input gates, then the last one is repeated.
//
simple DscpMarker extends PacketProcessorBase
{
parameters:
string dscps; // A space-separated list of DSCP values; both names (e.g., AF11, EF) and numbers (0x0A, 0b101110) can be used
@class(DscpMarker);
displayStringTextFormat = default("{markerStatus}");
@display("i=block/star");
@signal[packetMarked](type=cPacket);
@statistic[packetMarked](title="packets marked"; source=packetMarked; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
gates:
input in[];
output out;
}