I have a router/gateway under Linux, I want to add some QoS to reserve bandwidth for a specific flow. This can be done with iptables/netfilter and tc, but all examples start from the fact that you know in advance the total bandwidth available.
Problem is, my WAN is a moving 3G connection, with variable performances. On day 1, I can have 5 Mbps, and rainy day 2 is down to 2 Mbps. How can I guarantee that my flow 1 will always have 100Kbps available with low latency?
I thought of a complex solution, with a daily or hourly script to check bandwidth and dynamically create and apply QoS scripts, but it's not a good solution to me.