ProblemI've searched internet like anything but couldn't find much about limiting upload.The solutions given are not limiting IP basis like this one but LAN as a whole.             +-----++--------+   |  S  || User A |---+  W  |+--------+   |  I  |+--------+   |  T  |     +--------+        +----------+| User B |---+  C  +-----| Router |--------| Internet |+--------+   |  H  |     +--------+        +----------+   ....     ... / ...+--------+   |  H  || User N |---+  U  |+--------+   |  B  |             +-----+UserA:172.16.10.2UserB:172.16.10.3 RouterPrivate:172.16.0.1UserC:172.16.10.4I want to limit only upload of 172.16.10.3 & 172.16.10.4 using tc htb and iptables What I've already triedaltered the script as per my requirementIF_INET=external# upload bandwidth limit for interfaceBW_MAX=2000# upload bandwidth limit for 172.16.16.11BW_CLIENT=900# first, clear previous settingstc qdisc del dev ${IF_INET} root# top-level htb queue discipline; send unclassified data into class 1:10tc qdisc add dev ${IF_INET} root handle 1: htb default 10# parent class (wrap everything in this class to allow bandwidth borrowing)tc class add dev externel parent 1: classid 1:1 htb \  rate ${BW_MAX}kbit ceil ${BW_MAX}kbit# two child classes## the default child classtc class add dev ${IF_INET} parent 1:1 \  classid 1:10 htb rate $((${BW_MAX} - ${BW_CLIENT}))kbit ceil ${BW_MAX}kbit# the child class for traffic from 172.16.16.11tc class add dev ${IF_INET} parent 1:1 \  classid 1:20 htb rate ${BW_CLIENT}kbit ceil ${BW_MAX}kbit# classify traffictc filter add dev ${IF_INET} parent 1:0 protocol ip prio 1 u32 \  match ip src 172.16.16.11/32 flowid 1:20but this will not work for limiting upload. So what's the solution? 
Is it possible to throttle upload bandwidth per `IP` basis using `tc`, `htb` and `iptables` ? (Download limitation not required)
linux;networking;iptables;tc;qos