Skip to content

QoS: Background traffic is prioritised above Best Effort #1611

Description

@troglobit

Current Behavior

Frames tagged PCP 1 are scheduled ahead of untagged and PCP 0 frames, on both the CPU path and the switch core. IEEE 802.1Q-2022 Table 8-5 maps priority 0 to traffic class 1 and priority 1 to traffic class 0 for every queue count from 4 up. Annex I.4 gives the rationale: 0 is the fixed default for end stations, so 1 was assigned to Background, the one traffic type that must rank below the default. A host that marks its backup traffic PCP 1 to stay out of the way gets the opposite.

The /usr/libexec/infix/init.d/25-mqprio script installs an identity map for eight queues:

tc qdisc add dev $iface root mqprio hw 1 num_tc 8 map 0 1 2 3 4 5 6 7 ...

The lower queue counts have the same inversion. The Marvell LinkStreet hardware default documented in doc/qos.md maps PCP to queue 1:1 and the top three DSCP bits to queue, so CS1 (8 to 15) also lands above CS0 (0 to 7).

Expected Behavior

Fix: follow Table 8-5 in 25-mqprio, map 1 0 2 3 4 5 6 7 for eight queues and map 1 0 0 1 2 2 3 3 for four, and the other columns likewise. Program the same PCP and DSCP to queue tables into the switch core, and update the table in doc/qos.md.

The upcoming QoS (re)design's factory default already uses this ordering.

Steps To Reproduce

No response

Additional information

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriagePending investigation & classification (CCB)

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions