If my application is using DSCP values, and on the way some packets may be re-tagged by network equipment or other things. The problem is that the network equipment may just talk old-style ToS, meaning it thinks it can change just the Prio bits or the ToS-bits and all will be well.
But all is not well! What do I do with this ToS-byte value that has a value that doesn't have a DSCP mapping when I need to present it to the user?
I see three options:
Present the ToS-byte in numeric format
E.g.: ToS=184.
Yeah... thanks. Not user-friendly.
Present as DSCP if possible, but if no mapping exists, present both fields from that
E.g.:
- Prio=1,ToS=lowdelay,throughput
- DSCP=AF21 (mapping exists)
Always present ToS, and present DSCP mapping if possible
E.g
- Prio=6,ToS=lowdelay,throughput,DSCP=EF
- Prio=0,ToS=lowdelay,throughput
Any better way?
Extra notes
- Yes, I know end applications can't expect to have the ToS intact over the internet
- the numbers above may be inconsistent. I don't care, you know what I mean.