VRF: putting interface in vrf on ROS 6(.44.5)

Hi guys,

I’m changing the management setup of our routers.
Most of them are on the current stable ROS 7, no problem here.
Some of them are still on ROS 6, and three of them are still on 6.44.5 (long-term) (don’t ask. I’ve not been allowed to reboot them yet and (fortunately) they didn’t crash for a long time).

So I have to deal with ROS 6.

On ROS7 (in this example a CCR2216) I connect ether1 to the new management vlan and put ether1 into MGMT vrf:

/ip vrf                                                 
add comment="Management VRF" interfaces=ether1 name=MGMT

/ip route
add comment="MGMT default-route" dst-address=0.0.0.0/0 gateway=10.x.y.1@MGMT routing-table=MGMT

This works as expected and is great!

But what is the equivalent way to do it on ROS 6?

/ip route vrf add comment="MGMT" routing-mark=MGMT interfaces=ether1
/ip route add comment="MGMT default-route" dst-address=0.0.0.0/0 gateway=10.x.y.1 routing-mark=MGMT

That is accepted by the router and working fine when specifying the VRF:

/tool traceroute routing-table=MGMT 8.8.8.8

But when not asking for the particular table, but specifying the source-interface (which should live only in this VRF, shouldn’t it?) it still uses main routing table:

[gw] <SAFE> /tool traceroute 8.8.8.8 src-address=10.x.y.3
 # ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST STD-DEV STATUS
 1 10.i.j.13                        0%   13   0.1ms     0.1     0.1     0.2       0

(so it’s using the gateway from the main routing table, not from the MGMT one)

How do I force interfaces in MGMT vrf to use that routing table only? Do I need to add /ip route rules as well?

Thanks for your help and best regards!

Tools like traceroute and ping requires you to explicitly specify in which routing table to run. Default is main, so by not specifying vrf you are saying “run the tool in the main table”.