How can I route traffic to different gateways by protocol Here's the situation:

I can connect to the world either through my phone connection in wi-fi hotspot mode, or through a satellite link, which has much higher latency.

My phone connection is limited to 6 GB/month.  The Sat link to several GB/day.

I would like to use the phone link for things requiring responsiveness, and use the sat link for things where I don't care.

Anyone know of a package that allows routing by protocol?  E.g. route dns via hotspot but bittorent via satellite?

AND it has to be smart enough to do the right thing when I grab the phone and go.  (That is, all routes fall back to satellite link.)
If you are prepare to do a lot of research and command line work then you should be able to do it using the built in routing and firewall software.

There is a good package IPNetRouterX which makes doing it a lot easier. They also claim to be faster since they operate at the kernel level. They offer a 21 day trial so you can see if it works well for you before paying the $100 they want for it. I have had some success with it for other uses in a couple of clients.