Minor gotcha for creating multiple zones

I recieved a new test machine on Friday, and being too lazy to set any particular tests running on it to burn it in I decided to just leave it running over the weekend creating as many zones as it could. Today I came in to discover that only 255 zones were created. The error message on booting the 256th was

bash-3.00# zoneadm -z rodent-z256 boot
zoneadm: zone 'rodent-z256': eri0: could not add interface: No buffer space available
zoneadm: zone 'rodent-z256': call to zoneadmd failed

Sure enough, trying to bring up another virtual interface on eri0 resulted in

bash-3.00# ifconfig eri0:256 plumb
ifconfig: plumb: SIOCLIFADDIF: eri0:256: No buffer space available
bash-3.00#

To allow more interfaces you need to tweak /dev/ip ip_addrs_per_if. E.g. ndd -set /dev/ip ip_addrs_per_if 8192 . The new value takes effect immediately.
The only place I can see this mentioned in the docs is in the script to configure multiple zones, but I wasn’t using that script.

2 thoughts on “Minor gotcha for creating multiple zones”

  1. thanks for posting – saved me a long slow sift through sunsolve 🙂
    add this to /etc/init.d/inetinit so it comes back after reboot:
    /usr/sbin/ndd -set /dev/ip ip_addrs_per_if 8192
    threeta

  2. Thanks albert, that was some useful info.. i was breaking my head over why the agent simulator tool was not creating the virtual IPs.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top