I'm not sure how the bridge will impact this but maybe what you need are some HTB rules on your bridge interface.
Maybe something like this:
Code:
1:
|
1:1
/\
/ \
/ \
Laptop 85% \
1:10 \
/\ \
/ \ Other 15%
/ \ 1:20
[1:11] [1:12] / \
high low / \
[1:21] [1:22]
high low
Children of 10: would be guaranteed 85% of the bandwidth, 11: would be guaranteed the rest. Both classes being able to borrow from the other when it is not in use. Put all high priority traffic from the IP of your laptop into 10:1, all other traffic from that IP into 10:2. High prioirity traffic from all other IP's into 11:1, all other traffic into 11:2. Set the dequeueing priorities of 1:10, 1:11, and 1:21 to 1, set 1:20, 1:22, and 1:12 to 2.
This translates into TC commands like so (i think):
Code:
tc qdisc add dev root handle 1: htb \
default 22
tc class add dev br0 parent 1: classid 1:1 htb \
rate 90000kbit
tc class add dev br0 parent 1:1 classid 1:10 htb \
rate 76500kbit \
prio 1
tc class add dev br0 parent 1:10 classid 1:11 htb \
rate 65025kbit \
prio 1
tc class add dev br0 parent 1:10 classid 1:12 htb \
rate 11475kbit \
prio 2
tc class add dev br0 parent 1:1 classid 1:20 htb \
rate 13500kbit \
prio 2
tc class add dev br0 parent 1:20 classid 1:21 htb \
rate 11475 \
prio 1
tc class add dev br0 parent 1:20 classid 1:22 htb \
rate 2025kbit \
prio 2
This is not a complete TC script because it doesn't have filters to classify traffic, nor does it have SFQ enabled on any leaf. Bascially you'd want to match high priority from the laptop and put it in 1:11, match everything else from the laptop and put it in 1:12, high priority traffic from elsewhere go to 1:21, and the rest go to 1:22.
Think you can come up with the right filter lines and add SFQ (if desired)? I'm too tired to think about those right now.