[ovs-discuss] prioritizing latency-sensitive traffic

O Mahony, Billy billy.o.mahony at intel.com
Fri Nov 25 17:04:17 UTC 2016


Hi,

I have been performing tests investigating latency profiles of low-bandwidth time-sensitive traffic when the system is busy with 'normal' traffic. Unsurprisingly the latency-sensitive traffic is affected by the normal traffic and has basically the same latency profile as the normal traffic.

I would like to be able to perform prioritization of traffic as some protocols such as PTP would benefit greatly from having it's packets 'jump the queue'. 

>From skimming the documentation it looks that ingress QoS offers only policing (rate-limiting). Is this actually the case or maybe I'm not looking in the right place?

But if so, I am looking at some alternatives:

a) create two separate egress ports and have PTP listen on one port, everything else listen on the other port and use normal forwarding rules to send PTP traffic incoming from eth0 to it's own port. Something like:

 other apps          ptp_daemon
      +               +
      +               +
   if_norm         if_ptp
       +            +
       |            |
       |            |
      ++------------++
      |              |
      |    ovs       |
      |              |
      +-----+--------+
            |
            +
          eth0

b) create prioritized queues on a port and use match and actions such as set_queue(queue) and enqueue(port, queue) on ingress traffic to forward the PTP traffic to the higher priority queue. However I think queue priority for this case only relates to which queue get to consume the bandwidth of the port first and not about changing the order in which the packets egress the port.

c) Or perhaps I can re-use tc PRIO or CBQ qdiscs by passing all traffic to tc first before ovs?  

 other apps
      |
      |
   if_norm
       +
       |
       |
      +--------------+
      |              |
      |    ovs       |
      |              |
      +-----+--------+
            |
            |
            tc ----- if_ptp ---- ptp_daemon
            +
          eth0

Any thoughts, ideas or clarifications most welcome.

Thanks,
Billy.



More information about the discuss mailing list