Package: inet.networklayer.diffserv
TokenBucketMeter
simple moduleSimple token bucket meter.
IP packets are classified according to two parameters, Committed Information Rate (cir), Committed Burst Size (cbs), to be either green, or red.
Green traffic is guaranteed to be under (in bits)
cir * (t1 - t0) + 8 * cbsin every [t0,t1] interval.
When operating in color-aware mode, the meter does not classify a packet to be green, if it was marked with a higher color by a previous meter.
Used in compound modules
Name | Type | Description |
---|---|---|
DiffservQueue | 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. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string |
The path to the InterfaceTable module |
|
cir | string |
committed information rate, either absolute bitrate (e.g. "100kbps"), or relative to the link's datarate (e.g. "20%") |
|
cbs | int |
committed burst size |
|
colorAwareMode | bool | false |
enables color-aware mode |
Properties
Name | Value | Description |
---|---|---|
display | i=block/timer |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
greenOut | output | ||
redOut | output |
Direct method calls (observed)
call to | function | info |
---|---|---|
InterfaceTable | inet::InterfaceTable::findInterfaceByNodeInputGateId | findInterfaceByNodeInputGateId |
Pushed in messages (observed)
Push out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
greenOut | Packet | 0 | DscpMarker | DispatchProtocolReq, InterfaceInd, MacAddressInd, PacketProtocolTag | |
greenOut | Packet | 0 | PacketMultiplexer | InterfaceInd, MacAddressInd, PacketProtocolTag, DispatchProtocolInd?, DispatchProtocolReq?, InterfaceReq?, NetworkProtocolInd? | |
greenOut | Packet | 0 | DropTailQueue | DispatchProtocolInd, InterfaceInd, InterfaceReq, MacAddressInd, NetworkProtocolInd, PacketProtocolTag |
Source code
// // Simple token bucket meter. // // IP packets are classified according to two parameters, // Committed Information Rate (cir), Committed Burst Size (cbs), // to be either green, or red. // // Green traffic is guaranteed to be under (in bits) // <pre> // cir * (t1 - t0) + 8 * cbs // </pre> // in every [t0,t1] interval. // // When operating in color-aware mode, the meter does not classify // a packet to be green, if it was marked with a higher color // by a previous meter. // simple TokenBucketMeter { parameters: @display("i=block/timer"); string interfaceTableModule; // The path to the InterfaceTable module string cir; // committed information rate, either absolute bitrate (e.g. "100kbps"), or relative to the link's datarate (e.g. "20%") int cbs @unit(B); // committed burst size bool colorAwareMode = default(false); // enables color-aware mode gates: input in; output greenOut; output redOut; }File: src/inet/networklayer/diffserv/TokenBucketMeter.ned