diff mbox series

wifi: cfg80211: fix bug of mapping AF3x to incorrect User Priority

Message ID 20240805071743.2112-1-hhoracehsu@gmail.com (mailing list archive)
State Superseded
Delegated to: Johannes Berg
Headers show
Series wifi: cfg80211: fix bug of mapping AF3x to incorrect User Priority | expand

Commit Message

hhorace Aug. 5, 2024, 7:17 a.m. UTC
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).

Signed-off-by: hhorace <hhoracehsu@gmail.com>
---
 net/wireless/util.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Simon Horman Aug. 6, 2024, 9:08 a.m. UTC | #1
+ Guillaume and Ido

On Mon, Aug 05, 2024 at 03:17:42PM +0800, hhorace wrote:
> 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).
> 
> Signed-off-by: hhorace <hhoracehsu@gmail.com>

Adding Guillaume and Ido as this relates to DSCP.

> ---
>  net/wireless/util.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/net/wireless/util.c b/net/wireless/util.c
> index 082c6f9..4e04618 100644
> --- a/net/wireless/util.c
> +++ b/net/wireless/util.c
> @@ -998,7 +998,6 @@ 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
> @@ -1026,6 +1025,12 @@ unsigned int cfg80211_classify8021d(struct sk_buff *skb,
>  		/* Broadcasting video: CS3 */
>  		ret = 4;
>  		break;
> +	case 26:
> +	case 28:
> +	case 30:
> +		/* Multimedia Streaming: AF31, AF32, AF33 */
> +		ret = 4;
> +		break;
>  	case 40:
>  		/* Signaling: CS5 */
>  		ret = 5;
> -- 
> 2.42.0.windows.2
> 
>
Guillaume Nault Aug. 6, 2024, 11:04 a.m. UTC | #2
On Tue, Aug 06, 2024 at 10:08:44AM +0100, Simon Horman wrote:
> + Guillaume and Ido
> 
> On Mon, Aug 05, 2024 at 03:17:42PM +0800, hhorace wrote:
> > 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).
> > 
> > Signed-off-by: hhorace <hhoracehsu@gmail.com>
> 
> Adding Guillaume and Ido as this relates to DSCP.

Thanks. The patch looks good to me (only missing a Fixes tag).

Just a note to hhorace: the entry for CS5 (case 40) is useless as CS5
is 101000. So the value of the 3 high order bits already is 5 (in case
you want to make a followup patch for net-next).

Fixes: 6fdb8b8781d5 ("wifi: cfg80211: Update the default DSCP-to-UP mapping")
Reviewed-by: Guillaume Nault <gnault@redhat.com>

> > ---
> >  net/wireless/util.c | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/net/wireless/util.c b/net/wireless/util.c
> > index 082c6f9..4e04618 100644
> > --- a/net/wireless/util.c
> > +++ b/net/wireless/util.c
> > @@ -998,7 +998,6 @@ 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
> > @@ -1026,6 +1025,12 @@ unsigned int cfg80211_classify8021d(struct sk_buff *skb,
> >  		/* Broadcasting video: CS3 */
> >  		ret = 4;
> >  		break;
> > +	case 26:
> > +	case 28:
> > +	case 30:
> > +		/* Multimedia Streaming: AF31, AF32, AF33 */
> > +		ret = 4;
> > +		break;
> >  	case 40:
> >  		/* Signaling: CS5 */
> >  		ret = 5;
> > -- 
> > 2.42.0.windows.2
> > 
> > 
>
Kalle Valo Aug. 7, 2024, 7:24 a.m. UTC | #3
Guillaume Nault <gnault@redhat.com> writes:

> On Tue, Aug 06, 2024 at 10:08:44AM +0100, Simon Horman wrote:
>> + Guillaume and Ido
>> 
>> On Mon, Aug 05, 2024 at 03:17:42PM +0800, hhorace wrote:
>> > 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).
>> > 
>> > Signed-off-by: hhorace <hhoracehsu@gmail.com>
>> 
>> Adding Guillaume and Ido as this relates to DSCP.
>
> Thanks. The patch looks good to me (only missing a Fixes tag).
>
> Just a note to hhorace: the entry for CS5 (case 40) is useless as CS5
> is 101000. So the value of the 3 high order bits already is 5 (in case
> you want to make a followup patch for net-next).

Minor clarification: cfg80211 patches go to wireless-next, not net-next.
hhorace Aug. 7, 2024, 8:13 a.m. UTC | #4
Kalle Valo <kvalo@kernel.org> writes:
>
> Guillaume Nault <gnault@redhat.com> writes:
>
> > On Tue, Aug 06, 2024 at 10:08:44AM +0100, Simon Horman wrote:
> >> + Guillaume and Ido
> >>
> >> On Mon, Aug 05, 2024 at 03:17:42PM +0800, hhorace wrote:
> >> > 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).
> >> >
> >> > Signed-off-by: hhorace <hhoracehsu@gmail.com>
> >>
> >> Adding Guillaume and Ido as this relates to DSCP.
> >
> > Thanks. The patch looks good to me (only missing a Fixes tag).
> >
> > Just a note to hhorace: the entry for CS5 (case 40) is useless as CS5
> > is 101000. So the value of the 3 high order bits already is 5 (in case
> > you want to make a followup patch for net-next).

Sure. I will add it in next version.

>
> Minor clarification: cfg80211 patches go to wireless-next, not net-next.

Thanks for your clarification.

>
> --
> https://patchwork.kernel.org/project/linux-wireless/list/
>
> https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Guillaume Nault Aug. 7, 2024, 11:35 a.m. UTC | #5
On Wed, Aug 07, 2024 at 10:24:13AM +0300, Kalle Valo wrote:
> Guillaume Nault <gnault@redhat.com> writes:
> 
> > On Tue, Aug 06, 2024 at 10:08:44AM +0100, Simon Horman wrote:
> >> + Guillaume and Ido
> >> 
> >> On Mon, Aug 05, 2024 at 03:17:42PM +0800, hhorace wrote:
> >> > 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).
> >> > 
> >> > Signed-off-by: hhorace <hhoracehsu@gmail.com>
> >> 
> >> Adding Guillaume and Ido as this relates to DSCP.
> >
> > Thanks. The patch looks good to me (only missing a Fixes tag).
> >
> > Just a note to hhorace: the entry for CS5 (case 40) is useless as CS5
> > is 101000. So the value of the 3 high order bits already is 5 (in case
> > you want to make a followup patch for net-next).
> 
> Minor clarification: cfg80211 patches go to wireless-next, not net-next.

Yes, sorry for the confusion :-/.

> -- 
> https://patchwork.kernel.org/project/linux-wireless/list/
> 
> https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
>
diff mbox series

Patch

diff --git a/net/wireless/util.c b/net/wireless/util.c
index 082c6f9..4e04618 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -998,7 +998,6 @@  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
@@ -1026,6 +1025,12 @@  unsigned int cfg80211_classify8021d(struct sk_buff *skb,
 		/* Broadcasting video: CS3 */
 		ret = 4;
 		break;
+	case 26:
+	case 28:
+	case 30:
+		/* Multimedia Streaming: AF31, AF32, AF33 */
+		ret = 4;
+		break;
 	case 40:
 		/* Signaling: CS5 */
 		ret = 5;