Okay, here’s what I have to get fq_codel enabled on bridge on boot:

crontab -e 

# m h  dom mon dow   command
@reboot /usr/src/start.fq_codel.sh

vi /usr/src/start.fq_codel.sh
  #!/bin/bash

  /sbin/tc qdisc add dev enp1s0 root fq_codel
  /sbin/tc qdisc add dev enp2s0 root fq_codel

chmod 755 /usr/src/start.fq_codel.sh

it seems to be working under load (so far) though load will increase in the next 24 hours so I’ll watch it, but here’s what I get:

tc -s qdisc show dev enp2s0
  qdisc fq_codel 8002: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
  Sent 4273930406 bytes 3059139 pkt (dropped 0, overlimits 0 requeues 1269)
  backlog 0b 0p requeues 1269
  maxpacket 54504 drop_overlimit 0 new_flow_count 401 ecn_mark 0
  new_flows_len 0 old_flows_len 0

Should I change any settings? Where can I learn more about what my requeues should be, or really any of the other settings?

- Dev 

On Jan 4, 2019, at 12:40 PM, Toke Høiland-Jørgensen <toke@toke.dk> wrote:

Dev <dev@logicalwebhost.com> writes:

Okay, thanks to some help from the list, I’ve configured a transparent bridge running fq_codel which works for multiple subnet traffic. Here’s my setup:

Machine A ——— 192.168.10.200 — — bridge fq_codel machine B —— laptop C 192.168.10.150
Machine D ——— 192.168.3.50 — —| 

On Machine A:

straight gigE interface 192.168.10.200

Bridge Machine B: enp3s0 mgmt interface
enp2s0 bridge interface 1
enp1s0 bridge interface 2
br0 bridge for 1 and 2

# The loopback network interface 
auto lo br0 
iface lo inet loopback 

# The primary network interface 
allow-hotplug enp3s0 
iface enp3s0 inet static 
 address 172.16.0.5/24 
 gateway 172.16.0.5 
dns-nameservers 8.8.8.8

iface enp1s0 inet manual 
 tc qdisc add dev enp1s0 root fq_codel 

 iface enp2s0 inet manual 
tc qdisc add dev enp2s0 root fq_codel 

 # Bridge setup 
iface br0 inet static 
bridge_ports enp1s0 enp2s0 
address 192.168.3.75 
broadcast 192.168.3.255 
netmask 255.255.255.0 
gateway 192.168.3

note: I still have to run this command later, will troubleshoot at
some point (unless you have suggestions to make it work):

You can try setting the default qdisc to fq_codel; put:

net.core.default_qdisc=fq_codel

in /etc/sysctl.conf

-Toke