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 FlowConfig[source]

Base class for LTG Flow Configurations.

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 Schedule(field_defs)[source]

Base class for 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 Payload(field_defs)[source]

Base class for 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)
class PayloadAllAssocFixed(length)[source]

LTG payload that will generate a fixed payload of the given length to all associated deivces.

Parameters:length (int) – Length of the LTG payload (in bytes)