Queue module that gives the PAUSE frames a higher priority, and can be parametrized with an IOutputQueue for serving the other frames.
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Description |
---|---|---|
EtherHost | compound module |
An example host with one Ethernet port and a traffic generator that generates request-reply traffic directly over Ethernet. This host model does not contain higher layer protocols (IP, TCP). By default it is configured to use half-duplex MAC (CSMA/CD). |
EtherHost2 | compound module |
An example host with one Ethernet interface and an Ethernet traffic generator directly connected to it. This host model does not contain higher layer protocols (IP, TCP). By default is configured to use half-duplex MAC (CSMA/CD). |
EthernetInterface | compound module |
Ethernet network interface. Complements EtherMAC and EtherEncap with an output queue for QoS and RED support. |
Name | Type | Default value | Description |
---|---|---|---|
dataQueueType | string | "DropTailQueue" |
class that inherits from IOutputQueue (DropTailQueue, EtherQoSQueue, DiffservQueue etc.) |
Name | Value | Description |
---|---|---|
display | i=block/queue |
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Name | Type | Default value | Description |
---|---|---|---|
pauseQueue.frameCapacity | int | 100 |
// // Queue module that gives the PAUSE frames a higher priority, // and can be parametrized with an ~IOutputQueue for serving the // other frames. // module EtherQoSQueue like IOutputQueue { parameters: string dataQueueType = default("DropTailQueue"); // class that inherits from IOutputQueue (~DropTailQueue, ~EtherQoSQueue, ~DiffservQueue etc.) @display("i=block/queue"); gates: input in; output out; submodules: classifier: EtherFrameClassifier { @display("p=46,145"); } pauseQueue: DropTailQueue { queueName = "pauseQueue"; @display("p=187,91"); } dataQueue: <dataQueueType> like IOutputQueue { parameters: @display("p=187,192;q=l2queue"); } scheduler: PriorityScheduler { @display("p=318,145"); } connections: in --> classifier.in; classifier.pauseOut --> pauseQueue.in; classifier.defaultOut --> dataQueue.in; pauseQueue.out --> scheduler.in++; dataQueue.out --> scheduler.in++; scheduler.out --> out; }