Speedify SDK for Desktop/Embedded  15.0.1
DSCP Queue Configuration

As of version 15.0, Speedify SDK supports configuring how traffic with different DSCP tags should be handled. Each queue, allows configuring:

  • DSCP value
    • Any packets coming into the VPN tagged with this DSCP value will be treated with the following parameters
    • Return packets from the Internet for the same flow will be tagged with the same DSCP value and treated the same as outgoing packets, even if the incoming packets are not tagged
  • Priority
    • Controls whether traffic is treated as high priority by the VPN. High priority traffic is delivered ahead of other non-priority traffic
    • on sets the traffic as high priority
    • off sets the traffic as normal priority
    • auto (default) applies streaming detection to the traffic to determine whether it is high priority or not
  • Replication / Redundancy
    • Controls whether traffic will be sent redundantly / replicated across multiple connections simultaneously
    • on always replicates the traffic
    • off never replicates the traffic
    • auto (default) uses the automatic streaming mode to dynamically choose between sending with or without replication based on connection performance
  • Retransmission Attempts
    • Controls the maximum number of attempts to retransmit lost packets from this flow
    • Low priority traffic can be set to 0 retransmission attempts to not allow any attempts at retransmitting
    • By default Speedify attempts to retransmit lost packets 2 times

CLI Configuration

DSCP queues can be configured with the Speedify CLI using the speedify_cli dscp queues command. To show currently configured queues, run speedify_cli show dscp.

Adding Queues

speedify_cli dscp queues add [<dscp value 0-63> [priority] <on|off|auto> [replication] <on|off|auto> [retransmissions] <0-255>] ... speedify_cli dscp queues set [<dscp value 0-63> [priority] <on|off|auto> [replication] <on|off|auto> [retransmissions] <0-255>] ...

add appends the queue(s) to the existing list of configured queues. set removes any existing queues and only applies the specified queue(s).

The setting names priority, replication, retransmissions can optionally be provided in the command. For example, the following two commands are equivalent:

speedify_cli dscp queues add 10 priority on replication on retransmissions 5 speedify_cli dscp queues add 10 on on 5

Each command supports defining multiple queues at once. For example, speedify_cli dscp queues add 10 priority on replication on retransmissions 5 20 priority off retransmissions off 0

Removing Queues

speedify_cli dscp queues rem [dscp value 0-63] ...

Takes a list of DSCP values to remove. For example, if queues were previously defined for DSCP values 10 and 20, they could be removed with the command:

speedify_cli dscp queues rem 10 20

Statistics

Statistics about DSCP traffic are reported with session_stats under the dscp section.

To see stats, run speedify_cli stats <duration>.

bytesReceived and bytesSent are bytes sent and received with this DSCP tag from the application perspective. Traffic entering and exiting the VPN. Similarly, receiveBps and sendBps refer to the currently utilization in bits per second of traffic with this DSCP tag entering and exiting the VPN.

The transport statistics reflect the same counts and utilization over the VPN transport connections. These include counts of redundant traffic and packet retransmissions, so the transport stats might be higher than the application level stats.

"dscp" :
[
{
"bytesReceived" : 1512,
"bytesSent" : 1193,
"dscp" : 10,
"receiveBps" : 0.0,
"sendBps" : 0.0,
"transportBytesReceived" : 1512,
"transportBytesSent" : 1193,
"transportReceiveBps" : 0.0,
"transportSendBps" : 0.0
}
],