Am I correct in thinking that to correctly apply CAKE when using a VPN, the correct interface to apply CAKE on is the 'tun' interface (for upload) and an IFB interface based on the 'tun' interface (for download)? Using the 'nat' option in CAKE can CAKE correctly determine the destination LAN ip from the IFB interface? Using tcpdump on the 'tun' interface I only see different source IP addresses since the destination is always just the router IP.
I determined the VPN overhead based on:
tcpdump -vpni tun11
12:28:09.320900 IP (tos 0x0, ttl 64, id 37907, offset 0, flags [DF], proto ICMP (1), length 84)
10.8.2.5 > 8.8.8.8: ICMP echo request, id 53794, seq 1, length 64
12:28:09.371879 IP (tos 0x0, ttl 120, id 0, offset 0, flags [none], proto ICMP (1), length 84)
8.8.8.8 > 10.8.2.5: ICMP echo reply, id 53794, seq 1, length 64
tcpdump -vpni tun11
12:25:43.753390 IP (tos 0x0, ttl 64, id 32446, offset 0, flags [DF], proto UDP (17), length 137)
10.1.168.205.34090 > 195.206.183.101.1194: UDP, length 109
12:25:43.801997 IP (tos 0x28, ttl 54, id 3721, offset 0, flags [DF], proto UDP (17), length 137)
195.206.183.101.1194 > 10.1.168.205.34090: UDP, length 109
137-84 = 53.
I have no clue what to use for the WAN packet overhead for my LTE connection(?), so I have just assumed this is 38. Is that a reasonable guesstimate? That would give 38 + 53 = 91 for the total overhead, right? Would that be for both download and upload?
tc qdisc ls:
qdisc pfifo_fast 0: dev eth0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth3 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth5 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_us_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_ds_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth6 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth7 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc cake 8016: dev tun11 root refcnt 2 bandwidth 30720Kbit diffserv3 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 91
qdisc ingress ffff: dev tun11 parent ffff:fff1 ----------------
qdisc cake 8017: dev ifb root refcnt 2 bandwidth 35840Kbit besteffort dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 91
tc -s qdisc:
tc -s qdisc
qdisc pfifo_fast 0: dev eth0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 1907462860 bytes 2451283 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 76974733 bytes 420991 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 74847091 bytes 390824 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth3 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 77308930 bytes 411791 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 3847947597 bytes 3225189 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth5 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev spu_us_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev spu_ds_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth6 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 2685520945 bytes 2702650 pkt (dropped 0, overlimits 0 requeues 7)
backlog 0b 0p requeues 7
qdisc pfifo_fast 0: dev eth7 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 6792469138 bytes 6569039 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc cake 8016: dev tun11 root refcnt 2 bandwidth 30720Kbit diffserv3 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 91
Sent 425968333 bytes 521945 pkt (dropped 296, overlimits 671517 requeues 0)
backlog 0b 0p requeues 0
memory used: 835Kb of 4Mb
capacity estimate: 30720Kbit
min/max network layer size: 29 / 1443
min/max overhead-adjusted size: 120 / 1534
average network hdr offset: 0
Bulk Best Effort Voice
thresh 1920Kbit 30720Kbit 7680Kbit
target 9.37ms 5ms 5ms
interval 104ms 100ms 100ms
pk_delay 0us 1.68ms 101us
av_delay 0us 559us 5us
sp_delay 0us 25us 2us
backlog 0b 0b 0b
pkts 0 521640 601
bytes 0 426260646 105596
way_inds 0 4640 0
way_miss 0 4837 3
way_cols 0 0 0
drops 0 296 0
marks 0 0 0
ack_drop 0 0 0
sp_flows 0 1 1
bk_flows 0 1 0
un_flows 0 0 0
max_len 0 1443 437
quantum 300 937 300
qdisc ingress ffff: dev tun11 parent ffff:fff1 ----------------
Sent 298963180 bytes 470879 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc cake 8017: dev ifb root refcnt 2 bandwidth 35840Kbit besteffort dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 91
Sent 287991570 bytes 462836 pkt (dropped 8043, overlimits 331808 requeues 0)
backlog 0b 0p requeues 0
memory used: 1005Kb of 4Mb
capacity estimate: 35840Kbit
min/max network layer size: 30 / 1426
min/max overhead-adjusted size: 121 / 1517
average network hdr offset: 0
Tin 0
thresh 35840Kbit
target 5ms
interval 100ms
pk_delay 117us
av_delay 7us
sp_delay 1us
backlog 0b
pkts 470879
bytes 298963180
way_inds 1177
way_miss 4576
way_cols 0
drops 8043
marks 0
ack_drop 0
sp_flows 2
bk_flows 1
un_flows 0
max_len 1426
quantum 1093
I am a bit confused because with having set 35Mbit/s download and 30Mbit/s upload I see on speed tests around 27Mbit/s download and 26Mbit/s upload. It seems as if the download is getting more heavily throttled as compared to the download.
Does all this seem reasonable?