Routes added should be persistant across reboots as these are written to esx.conf..
I 've added a few to a dummy ESXi5 VM I have here on my laptop... I did a save, and rebooted... When it came up, I noticed the esxcfg-route -l didn't display these new routes..?!
This is what I added:
esxcfg-route -a 7.7.7.7/32 192.168.111.243
esxcfg-route -a 8.8.9.9/32 192.168.111.3
I checked esx.conf and noticed something funky...
cat /etc/vmware/esx.conf | grep -i /routes/child
/net/routes/kernel/routes/child[0000]/gateway = "192.168.111.23"
/net/routes/kernel/routes/child[0001]/gateway = "192.168.111.3"
/net/routes/kernel/routes/child[0001]/network = "8.8.9.9/32"
/net/routes/kernel/routes/child[0003]/gateway = "192.168.111.243"
/net/routes/kernel/routes/child[0003]/network = "7.7.7.7/32"
Where did the 0000 child come from? It has the line /network= missing.
I did not edit esx.conf before until today in this VM...
I deleted the entry and edited it so I would end up with child 0001 and 0002 only:
/net/routes/kernel/routes/child[0001]/gateway = "192.168.111.3"
/net/routes/kernel/routes/child[0001]/network = "8.8.9.9/32"
/net/routes/kernel/routes/child[0002]/gateway = "192.168.111.243"
/net/routes/kernel/routes/child[0002]/network = "7.7.7.7/32"
Saved and rebooted.... now the esxcfg-route -l displays them just fine:
esxcfg-route -l
VMkernel Routes:
Network Netmask Gateway Interface
7.7.7.7 255.255.255.255 192.168.111.243 vmk0
8.8.9.9 255.255.255.255 192.168.111.3 vmk0
192.168.111.0 255.255.255.0 Local Subnet vmk0
192.168.112.0 255.255.255.0 Local Subnet vmk1
default 0.0.0.0 192.168.111.2 vmk0
Maybe something like this is might be your issue too....? Some weird entry in esx.conf?
/Rubeck