If you're using Joyent SDC7, SmartOS host NIC bonding is handled from within the SDC user interface. SmartOS hosts are PXE booted and the NIC config is delivered by SDC as part of the boot process.
If you're directly administering your SmartOS hosts or using Project FiFo for orchestration you'll need to setup link aggregation (NIC bonding) yourself. Fortunately this is a very simple process. All you need to do is edit the persistent configuration file (/usbkey/config) with the changes below.
In this case I have four NICs and I want two bonds, one called 'admin' and the other 'external'. I have included the lacp commands for reference but remarked them out as I don't have lacp setup on my switches. Once you've edited the config, reboot and you're done.
Firstly, enumerate your NICs to get the MAC addresses you need for the config file.
dladm show-phys -m
aggr0_aggr=0:a0:d1:eb:ac:68,0:a0:d1:eb:ac:69 aggr1_aggr=0:1b:21:36:75:44,0:1b:21:36:75:45 #aggr0_lacp_mode=active #aggr1_lacp_mode=active admin_nic=aggr0 external_nic=aggr1 #admin_nic is the nic admin_ip will be connected to for headnode zones. admin_ip=10.2.2.101 admin_netmask=255.255.255.0 admin_network=10.2.2.0 admin_gateway=10.2.2.101
Referenced article: https://wiki.smartos.org/display/DOC/Managing+NICs