IPMX DSCP Markings and QoS

Created by Bastian Stolk, Modified on Fri, 25 Sep at 3:47 PM by Bastian Stolk

Summary

IPMX devices mark PTP as EF (46), video as AF42 (36) and audio as AF41 (34) by default. Everything else that belongs to a media stream inherits that stream's marking.

DSCP is a 6-bit field in every IP packet header (RFC 2474). Switches read it to decide which queue a packet goes into and how early it gets dropped under congestion. IPMX makes DiffServ marking mandatory in VSF TR-10-9 section 16, and certification testing (TR-10 TP-1 section 13) checks the values on the wire.

The marking alone does nothing. The switch must be configured to trust DSCP and map these values to the right queues.

Default DSCP values

Three values cover all IPMX media and timing traffic. These are defaults: devices should let the user change them, but TR-10-9 only says "should", so not every device will.

Traffic

Spec

PHB

DSCP (decimal)

ToS byte (hex)

PTP (event and general)

TR-10-1

EF

46

0xB8

PCM audio

TR-10-3

AF41

34

0x88

AES3 transparent transport

TR-10-12

AF41

34

0x88

Uncompressed video

TR-10-2

AF42

36

0x90

Ancillary data (ST 291-1)

TR-10-4

AF42

36

0x90

Compressed video

TR-10-7

AF42

36

0x90

CBR compressed video (JPEG XS)

TR-10-11

AF42

36

0x90

Audio and video share the AF4 class. The second digit is drop precedence: audio (AF41) is dropped last, video (AF42) before it. On a congested link the switch sheds video before audio.

The PTP and audio values match AES67 section 6.2, so IPMX and AES67 devices mark identically out of the box.

Ancillary data is grouped with video, not audio, even though it is a separate RTP stream.

Inherited markings

Some traffic has no value of its own. It must carry the same DSCP as the RTP stream it belongs to.

Traffic

Spec

Marking

HKEP (HDCP key exchange)

TR-10-5

Same as its RTP stream

Forward Error Correction

TR-10-6

Same as its RTP stream

HDMI InfoFrame packets

TR-10-10

Same as its RTP stream

RTCP Sender Reports

All senders

Same as its RTP stream


These are the ones that fail in practice. RTCP and HKEP are often generated by a different software process than the media engine, and that process sends with DSCP 0 unless told otherwise.

The result is a stream that looks fine in a quick capture but fails certification, or loses its RTCP timing info under load. Check each one separately.

What the spec does not cover

TR-10-9 section 16 mandates no marking for the following (yet). Expect them at DSCP 0 (best effort).

  • Privacy Encryption Protocol (TR-10-13)
  • USB extension (TR-10-14)
  • NMOS control traffic: IS-04 registration, IS-05 connection management, IS-11, DNS-SD
  • Device management: web UI, SSH, SNMP

Best effort is usually fine for control traffic on a properly sized network. USB is the exception worth watching: keyboard and mouse over a congested link feels laggy long before video breaks.

Sharing a network with Dante or Q-LAN

IPMX, Dante and Q-LAN use different defaults. On a shared network this puts one system's audio in the same queue as another system's clock.


Traffic

IPMX / AES67

Dante

Q-LAN

PTP

46 (EF)

56 (CS7)

46 (EF)

Audio

34 (AF41)

46 (EF)

34 (AF41)

Video

36 (AF42)

26 (AF31)

26 (AF31)


The conflict to watch is Dante audio at 46, which lands in the same strict-priority queue as IPMX PTP. A busy Dante system can then add jitter to IPMX clock sync.

Options, in order of preference:

  1. Change the IPMX devices' DSCP values to fit the site's existing QoS plan, if they expose the setting.
  2. Separate the systems by VLAN and apply per-VLAN trust or remarking on the switch.
  3. Remark Dante traffic at the ingress port to a lower class.

Q-LAN aligns with IPMX for PTP and audio, so it usually coexists without changes. Q-LAN video at 26 simply sits below IPMX video.


Switch configuration

A typical IPMX switch config trusts DSCP on media ports and maps the three values to separate queues. Exact commands vary by vendor. The intent is below.


DSCP

Traffic

Queue

Scheduling

46

PTP

Highest

Strict priority

34

Audio

High

Weighted, low drop

36

Video

High or next

Weighted

0

Control, NMOS, management

Default

Best effort


  • Trust DSCP on every port facing an IPMX device. Many switches default to trusting CoS or nothing, which silently flattens all traffic to one queue.
  • Keep strict priority for PTP only. PTP is low bandwidth, so a strict queue cannot starve anything. Putting media in a strict queue can.
  • Put audio and video in separate queues where possible. If the switch has only one AF4 queue, make sure it uses weighted drop (WRED) so AF41 survives before AF42.
  • Check uplinks too. Trust and queue mapping must apply on inter-switch links, not just edge ports.

If the network carries only IPMX and is not oversubscribed, QoS will rarely be exercised. It matters most on shared or converged networks and on uplinks that carry many streams.


Verifying markings

Capture on a mirrored port and filter by DSCP in Wireshark. Each IPMX flow should show exactly one value.


Check

Wireshark filter

Expected

PTP

ptp

ip.dsfield.dscp == 46

Audio RTP

rtp && ip.dsfield.dscp == 34

Every audio stream

Video RTP

rtp && ip.dsfield.dscp == 36

Every video and ancillary stream

RTCP

rtcp

Same value as the matching RTP stream

Anything unmarked

udp && ip.dsfield.dscp == 0

Only control and management


Symptoms that point to a QoS problem:

  • PTP offset or path delay jumps when other traffic ramps up.
  • Video glitches or freezes on a busy uplink while audio stays clean. That is AF42 being dropped first, as designed. The link is oversubscribed.
  • Audio drops on a network shared with Dante. Check whether both systems land in the same queue.
  • RTCP-dependent features (stream info, alignment) behave erratically under load while media looks fine. RTCP is probably unmarked.

References

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article