I've done some work on this a few month ago at my other job, and
basically
the solution lies in iproute2 commands.
You will find detailed instructions on managing multihomed hosts with iproute2 in the Linux Advanced Routing and Traffic Control HOWTO, available at http://lartc.org .