Argh. Stupid me.............. The tables 201 and 202, who decide the route for packets with already defined source addres were in the rules that way: The routing rules are: 0: from all lookup local 50: from all lookup main 201: from 192.168.17.0/28 iif eth2 lookup 201 202: from 192.168.16.0/28 iif eth1 lookup 202 222: from all lookup 222 32766: from all lookup main 32767: from all lookup default Look at the terrible "iif ethx"!!!!!!!!! The packets were routed _at random_ by the 'equalizing routing decision', even if with decided address. Argh. Solution: there should not be "if ethx" in the routing rule matching Now it works. Even though, I'd prefer to get the Julian's patches working. When I try them, all packets go to the same interface (the first hop). I'll keep on working... Always, always, there is the deadly "user fault". :))) Thanks for your support!