I think this is really difficult to solve. Because you will have to bind a connection to a certain interface and route. For example you start a connection to a webserver over route A1. The answer will come back over route A1 but what happens if you answer out again over the route A2 will the server be able to answer or will it fail? Note the connection started over A1 so the server will be awaiting packets from the IP of the interface lying on route A1. So it will be necessary that a process/connection keeps on one route. On our side where the router is there is no problem conntrack will keep an eye on it but how will servers react that get a SYN from an certain adress and then confirmations on another IP?