For the record, as I never got the TOS option to work (I suspect the NAT rule in pf reset the TOS although it is undocumented), I am moving to plan B which is to run the daemon under a dedicated user (e.g. transmission) and set out the parameter "user" in the packet filter rule as shown below:
Code: Select all
pass out quick on $ext_if inet proto { tcp udp } from $ext_if to any user transmission flags S/SA modulate state queue bittorrent
This is of course for the daemon running on the gateway box.
Now, if you are planning to run the daemon on a different box, my best advice would be to set up a proxy server bound to an alias of the internal NIC on the gateway server and connect the daemon to this proxy server. You can then use pf and altq to filter and queue traffic from this alias.
Adding my two cents...