wifi: cfg80211: fix bug of mapping AF3x to incorrect User Priority
authorhhorace <hhoracehsu@gmail.com>
Wed, 7 Aug 2024 08:22:05 +0000 (16:22 +0800)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 27 Aug 2024 08:28:54 +0000 (10:28 +0200)
According to RFC8325 4.3, Multimedia Streaming: AF31(011010, 26),
AF32(011100, 28), AF33(011110, 30) maps to User Priority = 4
and AC_VI (Video).

However, the original code remain the default three Most Significant
Bits (MSBs) of the DSCP, which makes AF3x map to User Priority = 3
and AC_BE (Best Effort).

Fixes: 6fdb8b8781d5 ("wifi: cfg80211: Update the default DSCP-to-UP mapping")
Signed-off-by: hhorace <hhoracehsu@gmail.com>
Reviewed-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20240807082205.1369-1-hhoracehsu@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/util.c

index 9a7c3adc8a3bf4a9d8aaa8de324614d4153e610d..edeeb056fe4da19b3c5aac111ed13898ed1e938f 100644 (file)
@@ -998,10 +998,10 @@ unsigned int cfg80211_classify8021d(struct sk_buff *skb,
         * Diffserv Service Classes no update is needed:
         * - Standard: DF
         * - Low Priority Data: CS1
-        * - Multimedia Streaming: AF31, AF32, AF33
         * - Multimedia Conferencing: AF41, AF42, AF43
         * - Network Control Traffic: CS7
         * - Real-Time Interactive: CS4
+        * - Signaling: CS5
         */
        switch (dscp >> 2) {
        case 10:
@@ -1026,9 +1026,11 @@ unsigned int cfg80211_classify8021d(struct sk_buff *skb,
                /* Broadcasting video: CS3 */
                ret = 4;
                break;
-       case 40:
-               /* Signaling: CS5 */
-               ret = 5;
+       case 26:
+       case 28:
+       case 30:
+               /* Multimedia Streaming: AF31, AF32, AF33 */
+               ret = 4;
                break;
        case 44:
                /* Voice Admit: VA */