You are not logged in.

#1 2023-01-20 15:15:32

j1simon
Member
From: Denmark
Registered: 2016-01-28
Posts: 189

Attempted to use/configure CAKE traffic shaping-capable queue

Using this page as a guide (https://wiki.gentoo.org/wiki/User:0xdc/Drafts/Cake) I have adapted it to my PC:

❯ cat /etc/NetworkManager/dispatcher.d/pre-up.d/40-qdisc-cake
#!/bin/bash

if [ "$1" == "enp68s0" ]; then
        modprobe ifb numifbs=1
        ip link set dev ifb0 up
        ## Download shaping
        # Create the ingress chain
        tc qdisc add dev $1 ingress

        # Redirect ingress to ifb device
        tc filter add dev $1 parent ffff: basic action mirred egress redirect dev ifb0

        # Perform cake shaping to downstream bandwidth
        tc qdisc replace dev ifb0 root cake bandwidth 1gbit besteffort

        ## Upload shaping
        # Add cake shaping to egress
        tc qdisc replace dev $1 root cake ethernet bandwidth 1gbit diffserv4
fi

Everything seems to be correct:

❯ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enp68s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc cake state UP group default qlen 2000
    link/ether d4:5d:64:55:a0:4c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.3/24 brd 192.168.1.255 scope global dynamic noprefixroute enp68s0
       valid_lft 86106sec preferred_lft 86106sec
3: ifb0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc cake state UNKNOWN group default qlen 32
    link/ether 4e:c6:e0:b4:15:cc brd ff:ff:ff:ff:ff:ff

❯ tc -s qdisc show
qdisc noqueue 0: dev lo root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0
qdisc cake 8002: dev enp68s0 root refcnt 9 bandwidth 1Gbit diffserv4 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms noatm overhead 38 mpu 84 
 Sent 168910650 bytes 154976 pkt (dropped 0, overlimits 265518 requeues 635) 
 backlog 0b 0p requeues 635
 memory used: 158976b of 15140Kb
 capacity estimate: 1Gbit
 min/max network layer size:           28 /    1500
 min/max overhead-adjusted size:       84 /    1538
 average network hdr offset:           14

                   Bulk  Best Effort        Video        Voice
  thresh      62500Kbit        1Gbit      500Mbit      250Mbit
  target            5ms          5ms          5ms          5ms
  interval        100ms        100ms        100ms        100ms
  pk_delay        168us          6us          3us          3us
  av_delay         86us          1us          0us          0us
  sp_delay         10us          0us          0us          0us
  backlog            0b           0b           0b           0b
  pkts           133385        21563            4           24
  bytes       166410883      2498351          360         1056
  way_inds       108643         1173            0            0
  way_miss         3566         3877            4            4
  way_cols            2            0            0            0
  drops               0            0            0            0
  marks               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            2           14            1            1
  bk_flows            1            0            0            0
  un_flows            0            0            0            0
  max_len          3028         3805           90           54
  quantum          1514         1514         1514         1514

qdisc ingress ffff: dev enp68s0 parent ffff:fff1 ---------------- 
 Sent 16898413 bytes 76001 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0
qdisc cake 8001: dev ifb0 root refcnt 2 bandwidth 1Gbit besteffort triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overhead 0 
 Sent 17962133 bytes 76001 pkt (dropped 0, overlimits 10818 requeues 0) 
 backlog 0b 0p requeues 0
 memory used: 34560b of 15140Kb
 capacity estimate: 1Gbit
 min/max network layer size:           32 /    2230
 min/max overhead-adjusted size:       32 /    2230
 average network hdr offset:           14

                  Tin 0
  thresh          1Gbit
  target            5ms
  interval        100ms
  pk_delay          1us
  av_delay          0us
  sp_delay          0us
  backlog            0b
  pkts            76001
  bytes        17962133
  way_inds         2036
  way_miss         4908
  way_cols            0
  drops               0
  marks               0
  ack_drop            0
  sp_flows            5
  bk_flows            1
  un_flows            0
  max_len          2230
  quantum          1514

The doubt I have is whether the "UNKNOWN" status of the ifb0 connection showing "ip" command is correct.

Offline

Board footer

Powered by FluxBB