mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-26 08:32:38 +00:00
d59dc14515
From upstream: b8392808eb3f sch_cake: add RFC 8622 LE PHB support to CAKE diffserv handling 3f608f0c4136 sch_cake: fix a few style nits 8c95eca0bb8c sch_cake: don't call diffserv parsing code when it is not needed 9208d2863ac6 sch_cake: don't try to reallocate or unshare skb unconditionally From netdev not yet accepted: sch_cake: fix IP protocol handling in the presence of VLAN tags The VLAN tag handling is actually wider than just cake so upstream are working out how to fix it generically. We fix it here just for cake. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
58 lines
1.7 KiB
Diff
58 lines
1.7 KiB
Diff
From b8392808eb3fc28e523e28cb258c81ca246deb9b Mon Sep 17 00:00:00 2001
|
|
From: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
|
|
Date: Thu, 25 Jun 2020 22:18:00 +0200
|
|
Subject: [PATCH] sch_cake: add RFC 8622 LE PHB support to CAKE diffserv
|
|
handling
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Change tin mapping on diffserv3, 4 & 8 for LE PHB support, in essence
|
|
making LE a member of the Bulk tin.
|
|
|
|
Bulk has the least priority and minimum of 1/16th total bandwidth in the
|
|
face of higher priority traffic.
|
|
|
|
NB: Diffserv 3 & 4 swap tin 0 & 1 priorities from the default order as
|
|
found in diffserv8, in case anyone is wondering why it looks a bit odd.
|
|
|
|
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
|
|
[ reword commit message slightly ]
|
|
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
---
|
|
net/sched/sch_cake.c | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
--- a/net/sched/sch_cake.c
|
|
+++ b/net/sched/sch_cake.c
|
|
@@ -312,8 +312,8 @@ static const u8 precedence[] = {
|
|
};
|
|
|
|
static const u8 diffserv8[] = {
|
|
- 2, 5, 1, 2, 4, 2, 2, 2,
|
|
- 0, 2, 1, 2, 1, 2, 1, 2,
|
|
+ 2, 0, 1, 2, 4, 2, 2, 2,
|
|
+ 1, 2, 1, 2, 1, 2, 1, 2,
|
|
5, 2, 4, 2, 4, 2, 4, 2,
|
|
3, 2, 3, 2, 3, 2, 3, 2,
|
|
6, 2, 3, 2, 3, 2, 3, 2,
|
|
@@ -323,7 +323,7 @@ static const u8 diffserv8[] = {
|
|
};
|
|
|
|
static const u8 diffserv4[] = {
|
|
- 0, 2, 0, 0, 2, 0, 0, 0,
|
|
+ 0, 1, 0, 0, 2, 0, 0, 0,
|
|
1, 0, 0, 0, 0, 0, 0, 0,
|
|
2, 0, 2, 0, 2, 0, 2, 0,
|
|
2, 0, 2, 0, 2, 0, 2, 0,
|
|
@@ -334,7 +334,7 @@ static const u8 diffserv4[] = {
|
|
};
|
|
|
|
static const u8 diffserv3[] = {
|
|
- 0, 0, 0, 0, 2, 0, 0, 0,
|
|
+ 0, 1, 0, 0, 2, 0, 0, 0,
|
|
1, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|