Hi,
@mrz: Do you mean, adding the interface to an vrf instance the default route from dhcp-client should be added with the corresponding routing-mark? Well, I just tested it, and the default route will not get into the routing table with the routing-mark set. So indeed, using VRF a new option for the dhcp-client could handle this scenario in a nice way, as the default gateway in the main routing table is completely useless because it isn’t reachable from there.
> /ip dhcp-client print detail
Flags: X - disabled, I - invalid
0 interface=ether1 add-default-route=yes default-route-distance=1 use-peer-dns=yes use-peer-ntp=yes status=bound address=192.168.2.26/27 gateway=192.168.2.1 dhcp-server=192.168.2.1 primary-dns=192.168.2.1
primary-ntp=192.168.2.1 expires-after=1w2d23h55m14s
> /ip route vrf print detail
Flags: X - disabled, I - inactive
0 routing-mark=myroutingmark interfaces=ether1
> /ip route print detail
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
0 ADC dst-address=192.168.2.0/27 pref-src=192.168.2.26 gateway=ether1 gateway-status=ether1 reachable distance=0 scope=10 routing-mark=myroutingmark
1 DS dst-address=0.0.0.0/0 gateway=192.168.2.1 gateway-status=192.168.2.1 unreachable distance=1 scope=30 target-scope=10
@changeip: Well, this will work as you mentioned in a really global fashion only (all dhcp-clients default routes get the same routing-mark). This doesn’t cover cases, with multiple dhcp-uplinks. Doing load balancing over these lines I want each default gateway in a separate routing-table/routing-mark. So I gain full control beeing able to route different traffic over different dhcp-uplinks. At the moment you have to set add-default-gateway=no for each dhcp-client, add static default-routes with different routing-marks and update the gateways of these default routes with the script shown above… 
> /ip dhcp-client print detail
Flags: X - disabled, I - invalid
0 interface=ether1 add-default-route=yes default-route-distance=1 use-peer-dns=yes use-peer-ntp=yes status=bound address=192.168.2.26/27 gateway=192.168.2.1 dhcp-server=192.168.2.1 primary-dns=192.168.2.1
primary-ntp=192.168.2.1 expires-after=1w2d23h59m23s
> /routing filter print detail
Flags: X - disabled
0 chain=dynamic-in invert-match=no action=passthrough set-routing-mark="myroutingmark"
> /ip route print detail
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
0 ADS dst-address=0.0.0.0/0 gateway=192.168.2.1 gateway-status=192.168.2.1 reachable ether1 distance=1 scope=30 target-scope=10 routing-mark=myroutingmark
1 ADC dst-address=192.168.2.0/27 pref-src=192.168.2.26 gateway=ether1 gateway-status=ether1 reachable distance=0 scope=10
So an additional configuration option for the dhcp-client would make things much easier. 
Regards,
Robert