LTG Flow Configurations¶
- An LTG Flow Configuration is defined by two things:
- Packet payload specification - responsible for setting the Tx parameters (rate, power) and creating the MAC header and payload of LTG packets.
- Packet generation schedule - responsible for scheduling the creation and enqueue of LTG packets.
The 802.11 Reference Design code defines two schedules and three payload specifications. These schedules and payloads are used to define three LTG Flow Configurations in the reference code.
For more information on the LTG framework in C please refer to the user guide LTG docs.
Flow Config¶
-
class
FlowConfigCBR
(dest_addr, payload_length, interval, duration=None)[source]¶ Class to implement a Constant Bit Rate LTG flow configuration to a given device.
Parameters: - dest_addr (int) – Destination MAC address
- payload_length (int) – Length of the LTG payload (in bytes)
- interval (float) – Interval between packets (in float seconds); actual packet creation interval will be quantized to the interval of the fast timer in CPU High. Currently this interval is 64 usec.
- duration (float) – Duration of the traffic flow (in float seconds)
-
class
FlowConfigAllAssocCBR
(payload_length, interval, duration=None)[source]¶ Class to implement a Constant Bit Rate LTG flow configuration to all associated devices.
Parameters: - payload_length (int) – Length of the LTG payload (in bytes)
- interval (float) – Interval between packets (in float seconds); actual packet creation interval will be quantized to the interval of the fast timer in CPU High. Currently this interval is 64 usec.
- duration (float) – Duration of the traffic flow (in float seconds)
-
class
FlowConfigRandomRandom
(dest_addr, min_payload_length, max_payload_length, min_interval, max_interval, duration=None)[source]¶ Class to implement an LTG flow configuration with random period and random sized payload to a given device.
Parameters: - dest_addr (int) – Destination MAC address
- min_payload_length (int) – Minimum length of the LTG payload (in bytes)
- max_payload_length (int) – Maximum length of the LTG payload (in bytes)
- min_interval (float) – Minimum interval between packets (in float seconds); actual packet creation interval will be quantized to the interval of the fast timer in CPU High. Currently this interval is 64 usec.
- max_interval (float) – Maximum interval between packets (in float seconds) actual packet creation interval will be quantized to the interval of the fast timer in CPU High. Currently this interval is 64 usec.
- duration (float, optional) – Duration of the traffic flow (in float seconds)
LTG Schedules¶
-
class
SchedulePeriodic
(interval, duration=None)[source]¶ LTG Schedule that will generate a payload every ‘interval’ seconds, stopping after ‘duration’ seconds. Both arguments are float seconds. These values are converted to microseconds for the command message to the node.
Args:
- interval (float): Interval between packets in float seconds; actual packet
- creation interval will be quantized to the LTG polling interval in CPU High (typically 64 usec) usec.
- duration (float, optional): Duration of the traffic flow in float
- seconds
-
class
ScheduleUniformRandom
(min_interval, max_interval, duration=None)[source]¶ LTG Schedule that will generate a payload a uniformly random time between min_interval and max_interval microseconds.
Parameters: - min_interval (float) – Minimum interval between packets (in float seconds); actual packet creation interval will be quantized to the interval of the fast timer in CPU High. Currently this interval is 64 usec.
- max_interval (float) – Maximum interval between packets (in float seconds); actual packet creation interval will be quantized to the interval of the fast timer in CPU High. Currently this interval is 64 usec.
- duration (float, optional) – Duration of the traffic flow (in float seconds)
LTG Payloads¶
-
class
PayloadFixed
(dest_addr, length)[source]¶ LTG payload that will generate a fixed payload of the given length.
Parameters: - dest_addr (int) – Destination MAC address
- length (int) – Minimum length of the LTG payload (in bytes)
-
class
PayloadUniformRandom
(dest_addr, min_length, max_length)[source]¶ LTG payload that will generate a payload with uniformly random size between min_length and max_length bytes.
Parameters: - dest_addr (int) – Destination MAC address
- min_length (int) – Minimum length of the LTG payload (in bytes)
- max_length (int) – Maximum length of the LTG payload (in bytes)