-
Notifications
You must be signed in to change notification settings - Fork 38
Flow Control
The Virtual Transport supports flow control using a token based exchange mechanism performed in coordination with a corresponding radio model. A flow control token is a packet transmission unit where a single token represents permission for the transport boundary to transmit a single packet downstream to a coordinating radio model. The standard EMANE distribution contains two radio models capable of performing flow control with the Virtual Transport: RF Pipe and IEEE 802.11abg. Flow control must be enabled on both the Virtual Transport and either the RF Pipe or IEEE 802.11abg model.
Component | Enable Configuration | Token Configuration |
---|---|---|
Virtual Transport | [[flowcontrolenable | Virtual Transport#flowcontrolenable]] |
[[RF Pipe | RF Pipe Model]] | [[flowcontrolenable |
[[IEEE 802.11abg | IEEE 802.11abg Model]] | [[flowcontrolenable |
The number of tokens available is specified using the flowcontroltokens configuration item available for both the RF Pipe and the IEEE 802.11abg radio models. Once started, a flow control enabled radio model sends a control message to the Virtual Transport specifying the number of tokens available and then waits for the transport to acknowledge receipt of the token count. Any downstream packets received from the transport in the period between when the token count control message is sent and the acknowledgment is received are discarded.
When the Virtual Transport starts, it sends a control message to the flow control enabled radio model requesting the current token count. No downstream packets are transmitted to the flow control enabled radio model until the flow control token count control message is received. Once received, the transport will send an acknowledgment control message. This acknowledgment will satisfy the flow control enabled radio model in the situation where it was started prior to the transport and was blocked waiting for a previous acknowledgment.
The Virtual Transport decrements its token count each time it sends a downstream packet. When the token count reaches zero no further packets are transmitted causing application socket queues to backup. The flow control enabled radio model shadows the token count of the transport in order to detect when the transport has run out of tokens. Once available, the flow control enabled radio model will send a flow control token count message restarting the process.
Using this method, either flow control component, the Virtual Transport or the coordinating radio model, can restart any number of times and the token count will resync automatically.
- Home
- Introduction
- EMANE Shell
- Emulator Physical Layer
- Radio Models
- Utility Models
- Transports
- Event Generators
- Event Agents
- Building Packages
- Installing Packages
- Developer Documentation
- FAQ
- Copyright