Qosify: new package for DSCP marking + cake

Please post the rest of the output of qosify as well

log2

Thanks. I wasn't able to reproduce it until I rebuilt my LLVM toolchain. I pushed out a fix for this issue. You can either wait for the next snapshot build to complete, or try out this package: http://nbd.name/qosify_2021-11-21-2743e587_mipsel_24kc.ipk

1 Like

thanks I'll try and let you know

what can be the issue causing the following msg ?

libbpf: failed to mkdir /sys/fs/bpf/qosify_data/config: No such file or directory

also if I issue "ubus call qosify check_devices" I get "Command failed: Not found"

The new config for overhead doesn't seem to work

1 Like

the other thing - ubus list doesn't show qosify

1 Like

Thanks. I can see no smoking gun in the cake statistics. You do move a lot of stuff into the Video and Voice tins though, not sure whether that achieves what you intend... (the priority tiers are only prioritized against each other so if all/most traffic ends up in Video you are really not better off than leaving everything in Best Effort). This however should not really affect bufferbloat tests.
BTW, you are not running the bufferbloat tests via WiFi do you?

Could you post the output of your qosify configuration and that of tc -s qdisc please to see what cake believes it should do?

my bufferbloat test with old version

my tc qdidsc i don't copy because i has a bug in putty

with qosify of 19/11/21

Capture d’écran 2021-11-21 à 17.23.06
Capture d’écran 2021-11-21 à 17.22.55

qosify does not start when I reboot the router so I add this command in the hotplug.d
iface

#!/bin/sh

[ -n "$DEVICE" ] || exit 0
[ "$ACTION" = ifup ] &&  {                                                                            
    echo y | /etc/init.d/qosify reload | start
    logger -t qosify "Reloading qosify due to $ACTION of $INTERFACE ($DEVICE)"
}

and now he start

It's only this qosify: add support for configuring overhead doesn't work.

The rest work as expected.

config
config defaults
        list defaults /etc/qosify/*.conf
        option dscp_prio CS5
        option dscp_icmp CS6
        option dscp_bulk bulk
        option dscp_default_udp CS4
        option bulk_trigger_timeout 5
        option bulk_trigger_pps 100
        option prio_max_avg_pkt_len 500

config alias bulk
        option ingress LE
        option egress LE

config alias video
        option ingress AF41
        option egress AF41

config alias voice
        option ingress CS6
        option egress CS6

config interface wan
        option name wan
        option disabled 0
        option bandwidth_up 19mbit
        option bandwidth_down 57mbit
        option overhead_type manual
        option overhead 34
        # defaults:
        option ingress 1
        option egress 1
        option mode diffserv3
        option nat 1
        option host_isolate 1
        option autorate_ingress 0
        option ingress_options ""
        option egress_options "diffserv4"
        option options ""

config device wandev
        option disabled 1
        option name wan
        option bandwidth 100mbit
tc -s qdisc
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 fq_codel 0: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 790079009 bytes 878669 pkt (dropped 0, overlimits 0 requeues 3)
 backlog 0b 0p requeues 3
  maxpacket 3036 drop_overlimit 0 new_flow_count 4375 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc noqueue 0: dev wan root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev lan1 root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev lan2 root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev lan3 root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev br-lan root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc cake 1: dev pppoe-wan root refcnt 2 bandwidth 19Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms raw overhead 0
 Sent 595181 bytes 4942 pkt (dropped 0, overlimits 202 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 23296b of 4Mb
 capacity estimate: 19Mbit
 min/max network layer size:           40 /    1492
 min/max overhead-adjusted size:       40 /    1492
 average network hdr offset:            0

                   Bulk  Best Effort        Video        Voice
  thresh       1187Kbit       19Mbit     9500Kbit     4750Kbit
  target         15.3ms          5ms          5ms          5ms
  interval        110ms        100ms        100ms        100ms
  pk_delay          0us        3.7ms       6.16ms         58us
  av_delay          0us        231us        350us         44us
  sp_delay          0us         19us         32us         30us
  backlog            0b           0b           0b           0b
  pkts                0         2138         1448         1356
  bytes               0       303186       222847        69148
  way_inds            0            0          116          935
  way_miss            0           52           45          148
  way_cols            0            0            0            0
  drops               0            0            0            0
  marks               0            1            0            0
  ack_drop            0            0            0            0
  sp_flows            0            2            1            1
  bk_flows            0            1            0            0
  un_flows            0            0            0            0
  max_len             0         6986        13018          576
  quantum           300          579          300          300

qdisc ingress ffff: dev pppoe-wan parent ffff:fff1 ----------------
 Sent 2949071 bytes 5725 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev wlan1 root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc cake 1: dev ifb-pppoe-wan root refcnt 2 bandwidth 57Mbit diffserv3 dual-dsthost nat nowash ingress no-ack-filter split-gso rtt 100ms raw overhead 0
 Sent 2944611 bytes 5722 pkt (dropped 3, overlimits 1386 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 20800b of 4Mb
 capacity estimate: 57Mbit
 min/max network layer size:           40 /    1492
 min/max overhead-adjusted size:       40 /    1492
 average network hdr offset:            0

                   Bulk  Best Effort        Voice
  thresh       3562Kbit       57Mbit    14250Kbit
  target          5.1ms          5ms          5ms
  interval        100ms        100ms        100ms
  pk_delay          0us       4.12ms         32us
  av_delay          0us        272us          0us
  sp_delay          0us         21us          0us
  backlog            0b           0b           0b
  pkts                0         5721            4
  bytes               0      2948767          304
  way_inds            0            8            0
  way_miss            0          246            4
  way_cols            0            0            0
  drops               0            3            0
  marks               0            0            0
  ack_drop            0            0            0
  sp_flows            0            1            0
  bk_flows            0            1            0
  un_flows            0            0            0
  max_len             0         1492           76
  quantum           300         1514          434
1 Like
config defaults
	list defaults /etc/qosify/*.conf
	option dscp_prio CS5
	option dscp_icmp +CS0
	option dscp_bulk LE @superlapo try change bulk to LE 
	option dscp_default_udp	CS4
	option bulk_trigger_timeout 5
	option bulk_trigger_pps	100
	option prio_max_avg_pkt_len 500

config class bulk
	option ingress LE
	option egress LE

config class video
	option ingress AF41
	option egress AF41

config class voice
	option ingress CS6
	option egress CS6
	option bulk_trigger_pps 100
	option bulk_trigger_timeout 5
	option dscp_bulk CS0

config interface wan
	option name wan
	option disabled 0
	option bandwidth_up 16mbit
	option bandwidth_down 56mbit
	# defaults:
	option ingress 1
	option egress 1
	option mode diffserv4
	option nat 1
	option host_isolate 1
	option autorate_ingress 1
	option ingress_options ""
	option egress_options ""
	option options "overhead 44"

From what I can tell from your earlier posts, it does not mount /sys/fs/bpf for some reason.
This line is in /etc/init.d/boot:

grep -q bpf /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime,mode=0700 -t bpf bpffs /sys/fs/bpf

Are you sure that your extroot filesystem is up to date and has this line? What happens if you run it manually and restart qosify?

Are you sure that the package you installed has that init script change already? I just copy&pasted your config onto my router for testing, and it worked just fine.

You are right. It's not there.
I build my own image so probably something wrong with my build environment

@ndb, there seems to be an issue on a reboot with rango device where qosify is listed as running but cake is not loaded. The boot file is correct and the bpf file system is extent. It starts up correctly by using restart | reload after reboot, possibly some race condition. post

@moeller0 , curiosity has not got the better of me yet, so I have not looked to see what is coming my way from the outside.

Please show me your qosify config

As it is currently:

Summary
config defaults
	list defaults /etc/qosify/*.conf
#	option dscp_prio +video
	option dscp_prio CS5
#	option dscp_icmp +bestEffort
	option dscp_icmp +CS0
	option dscp_bulk bulk
#	option dscp_default_udp	+bestEffort
	option dscp_default_udp	CS4
#	option dscp_default_tcp	+bestEffort
	option bulk_trigger_timeout 5
	option bulk_trigger_pps	100
	option prio_max_avg_pkt_len 500

config class bulk
	option ingress LE
	option egress LE

config class bestEffort
	option ingress CS0
	option egress CS0
	option bulk_trigger_timeout 5
	option bulk_trigger_pps 100
	option dscp_bulk LE

config class video
	option ingress AF41
	option egress AF41
#	option bulk_trigger_timeout 5
#	option bulk_trigger_pps 100
#	option dscp_bulk CS0

config class voice
	option ingress CS6
	option egress CS6
#	option bulk_trigger_timeout 5
#	option bulk_trigger_pps 100
#	option dscp_bulk CS0

config interface wan
	option name wan
	option disabled 0
	option bandwidth_up 100mbit
	option bandwidth_down 500mbit
	option overhead_type docsis
	option ingress 1
	option egress 1
	option mode diffserv4
	option nat 1
	option host_isolate 1
	option autorate_ingress 1
#	option options "docsis ack-filter"
#	option options "overhead 44"
#	option egress_options "docsis ack-filter"
#	option ingress_options "squash"
#	option ingress_options "besteffort wash"
	option ingress_options "wash"

#config device wandev
#	option disabled 1
#	option name eth0
#	option bandwidth 600mbit
#	option options "docsis ack-filter"

this starts up fine on a mamba.

Should note also, with the last two qosify versions pushed, no matter what config I have tried, nothing ever ends up in the Bulk tin ( diffserv4).

Some of those tests are over WiFi but there is no difference from wired ones:

  • I have effectively at least HT80 connections
  • Radio spectrum in my area is not crowded
    Thanks for suggestion on categorization. Will take a look into it however it might be weekend specific spike.
    Is memory consumption increase not something to be concerned with?