Jesper D. Brouer
60a851c2a0
Now that codel works adjust horizons
...
The hard drop horizon (T_HORIZON_DROP) can be increased (to 40ms)
as codel target latency (T_HORIZON_TARGET) is taking care of
signaling TCP downloads via drops (after codel scheme).
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-28 14:22:29 +01:00
Jesper D. Brouer
3e0ac4f24d
Cleanup some comments
...
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-28 14:02:52 +01:00
Jesper D. Brouer
516668c62c
Move codel implementation to header file
...
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-28 13:51:49 +01:00
Jesper D. Brouer
2f6580dea4
Factor out codel structure
...
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-28 13:37:07 +01:00
Jesper D. Brouer
f50c741011
traffic-pacing-edt: finished codel implementation based on [1]
...
[1] https://queue.acm.org/appendices/codel.html
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-22 18:11:11 +01:00
Jesper D. Brouer
d8845714da
traffic-pacing-edt: Codel like scheme
...
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-22 14:53:51 +01:00
Jesper D. Brouer
eacff13518
traffic-pacing-edt: Experiment random drop packets exceeding 10 ms queue
...
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-22 14:45:13 +01:00
Jesper D. Brouer
a45ae39775
traffic-pacing-edt: make it easy to remove minimum delay trick in code
...
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-21 18:59:03 +01:00
Jesper D. Brouer
4671be73a8
traffic-pacing-edt: Minimum delay for all packet if no time-queue
...
Trying to trigger more NET_TX_SOFTIRQ to get packets scheduled
out more spaced out in time.
It is of-cause important to disable GRO in the first place.
E.g. cmdline:
sudo ethtool -K ens6f1 gso off tso off gro off
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-21 18:02:45 +01:00
Jesper D. Brouer
8714c9a37d
traffic-pacing-edt: also pace packets a bit on empty queue
...
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-21 16:54:58 +01:00
Jesper D. Brouer
794c074d7d
traffic-pacing-edt: New strategy: Shape at MAC layer with Ethernet
...
Take into account MAC layer overhead per packet.
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-21 15:57:14 +01:00
Jesper D. Brouer
6b5648158b
traffic-pacing-edt: Testing rates in production
...
Test different rates in production machine, and measure iperf3 TCP-goodput
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com >
2020-11-21 13:53:53 +01:00
Jesper Dangaard Brouer
71db45b28e
traffic-pacing-edt: Handle if loaded on outer VLAN net_device
...
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com >
2020-11-15 21:55:59 +01:00
Jesper Dangaard Brouer
a0f3760d6c
traffic-pacing-edt: Handle if VLAN is offloaded to SKB metadata
...
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com >
2020-11-15 21:19:10 +01:00
Jesper Dangaard Brouer
9c5ccaed9b
traffic-pacing-edt: Simple VLAN parsing via parse_ethhdr_vlan
...
Using the XDP based ethhdr VLAN parser. This cannot handle
if the SKB don't have the VLAN inlined.
Static match on VLAN 16 as test case.
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com >
2020-11-15 16:23:46 +01:00
Jesper Dangaard Brouer
21ebc4d8cd
traffic-pacing-edt: Align map struct to cache-line size
...
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com >
2020-11-15 15:56:31 +01:00
Jesper Dangaard Brouer
692202e60e
traffic-pacing-edt: use READ_ONCE and WRITE_ONCE via compiler.h
...
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com >
2020-11-15 15:40:42 +01:00
Jesper Dangaard Brouer
4ded8f7015
traffic-pacing-edt: control latency via horizon drop
...
When number of parallel (iperf -P N) flows increase, then the latency
increase as well (measured via simple ping through router).
This can be controlled via a much tigher drop horizon.
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com >
2020-11-14 19:33:42 +01:00
Jesper Dangaard Brouer
1fb4483207
traffic-pacing-edt: tc_fq_pacer.sh adjust packet per flow_limit
...
This was causing strange issues, where a TCP single flow could not
achieve the correct bandwidth.
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com >
2020-11-14 18:44:40 +01:00
Jesper Dangaard Brouer
9f97d984cb
traffic-pacing-edt: edt_pacer02.c add ECN marking horizon
...
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com >
2020-11-14 17:16:03 +01:00
Jesper Dangaard Brouer
55a8513e2c
traffic-pacing-edt: Play with edt_pacer02 drop horizon
...
This didn't help.
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com >
2020-11-14 16:51:11 +01:00
Jesper Dangaard Brouer
a6294dd946
edt_pacer02: Use skb wire_len
...
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com >
2020-11-14 14:51:30 +01:00
Jesper Dangaard Brouer
86750f321e
EDT: implement horizon drop
...
FQ-pacing qdisc also have horizon, but cannot use that, because this
BPF-prog will have updated map (t_last) on packet and assumes it got
its part of bandwidth.
Signed-off-by: Jesper Dangaard Brouer <netoptimizer@brouer.com >
2020-11-14 12:06:25 +01:00
Jesper Dangaard Brouer
efcd3c81b0
Implement basic EDT with static defines
...
Signed-off-by: Jesper Dangaard Brouer <netoptimizer@brouer.com >
2020-11-14 10:43:56 +01:00
Jesper Dangaard Brouer
42c1c99799
Add note to edt_pacer02 as it is non-functional atm
...
Signed-off-by: Jesper Dangaard Brouer <netoptimizer@brouer.com >
2020-11-08 14:40:19 +01:00
Jesper Dangaard Brouer
98ca505bc3
Add edt_pacer02.c for testing basic access to needed ctx and helpers
...
Signed-off-by: Jesper Dangaard Brouer <netoptimizer@brouer.com >
2020-11-08 14:24:51 +01:00