solaris zones on different subnets

Greetings,

Having an issue with a multihomed global zone hosting zones on different subnets.
The issue is with the dev zone that is hosted on the non-default network.
Any help, other than going to exclusive IP, as I have one card for admin ntwk for both zones, would be appreciated.

Scenario details:

Global Zone (GZ) running Solaris 10 08/07.
NICs:

  • ce0 used for admin network - virtual to each zone
  • ce1 used for cluster heartbeat
    e1000g0 - main NIC on Prod subnet - virtual to prod zone
    e1000g1 - NIC plummed for Dev subnet - virtual to dev zone

i am able to get to my NIS server, on different subnet from both interfaces on GZ

i am not able to get to the NIS server from the dev zone.

 
$ zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   7 prod         running    /zones/prod                native   shared
   9 dev         running    /zones/dev                native   shared
$ zonecfg -z prod info net
net:
        address:  x.0.224.31
        physical: e1000g0
$ zonecfg -z dev info net
net:
        address: aaa.bbb.206.92
        physical: ce0
net:
        address:  x.0.229.162
        physical: e1000g1
$ ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        zone dev
        inet 127.0.0.1 netmask ff000000
lo0:2: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        zone prod
        inet 127.0.0.1 netmask ff000000
ce0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet aaa.bbb.206.90 netmask fffffe00 broadcast aaa.bbb.207.255
ce0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        zone dev
        inet aaa.bbb.206.92 netmask fffffe00 broadcast aaa.bbb.207.255
ce0:2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        zone prod
        inet aaa.bbb.206.91 netmask fffffe00 broadcast aaa.bbb.207.255
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet  x.0.224.16 netmask fffffe00 broadcast  x.0.225.255
e1000g0:3: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        zone prod
        inet  x.0.224.32 netmask fffffe00 broadcast  x.0.225.255
e1000g0:4: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        zone prod
        inet  x.0.224.31 netmask fffffe00 broadcast  x.0.225.255
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 6
        inet  x.0.229.161 netmask fffffe00 broadcast  x.0.229.255
e1000g1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 6
        zone dev
        inet  x.0.229.162 netmask fffffe00 broadcast  x.0.229.255
$ netstat -rn
Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use     Interface
-------------------- -------------------- ----- ----- ---------- ---------
default               x.0.224.1           UG        1      61540
 x.0.224.0            x.0.224.16          U         1       2023 e1000g0
 x.0.228.0            x.0.228.1           UG        1          0
 x.0.228.0            x.0.229.161         U         1          0 e1000g1
aaa.bbb.206.0        aaa.bbb.206.90       U         1       1455 ce0
224.0.0.0             x.0.224.16          U         1          0 e1000g0
127.0.0.1            127.0.0.1            UH       62    6983043 lo0
 

After many attempts with different varations, came up with a working repeatable solution.
Add second default route to /etc/defaultrouter:

#Production network
x.0.224.1
#Development network
x.0.228.1