I have written numerous articles on the topic of ESXi Scripted Installation aka Kickstart, which is just one of the many options that enables customers to fully automate the installation and configuration of their ESXi hosts. An interesting question that recently came up internally was whether you could configure ESXi networking using IPv6, rather than IPv4 using the default ESXi Kickstart network parameters?
If you look at the ESXi network params as they are labeled such as netmask, it would seem that these are only applicable to IPv4. Although my personal experience has been exclusively IPv4, I figure I would take a quick look at the python code which powers the ESXi Kickstart infrastructure which is located under /usr/lib/vmware/weasel directory. Although I am not a Developer, from what I could grok, it seems like IPv6 might actually be possible using these exact same parameters.
Using Nested ESXi and the new vSphere 7.0 Update 2 feature HTTP Boot over virtual EFI, I was able to setup a quick prototype to validate that you can indeed configure IPv6 using the same ESXi networking parameters, which are applicable to both IPv4 and IPv6.
The only difference is that for IPv6, the netmask parameter accepts a network prefix rather than a traditional netmask value. Below is a snippet from my ESXi Kickstart which demonstrates the configuration of IPv6 networking.
vmaccepteula install --firstdisk --overwritevmfs reboot rootpw VMware1! network --bootproto=static --ip=2a01:7c8:aab5:4ce::1 --netmask=48 --gateway=2a01:7c8:aab5::1 --nameserver=2a01:aaa:aaab::1 --hostname=esxi-1.primp-industries.local
If we look at the esxi_install.log, we can see that our IPv6 parameters are properly parsed by the installer.
After all these years writing about ESXi Scripted Installation, it is still cool to learn something new! I also plan to file a documentation enhancement so that our official documentation will include this information.