dladm

dladm is a new command with solaris 10 which can do many clever things (I think the general idea behind it is that ifconfig was becoming bloated with features and options that it was a good idea to break the link between the physical network provision and the logical usage)

ie: dladm - physical link provision/configuration
ifconfig - logical link configuration

Assuming a server with two gigabit ethernet connections connected to two switches (for physical resillience):-

# dladm show-dev
bge0 link: up speed: 1000 Mbps duplex: full
bge1 link: up speed: 1000 Mbps duplex: full

Then let us trunk these two together, ether-channel/teaming in cisco speak.

# dladm create-aggr -d bge0 -d bge1 $INDEX

Solaris 9 and above is able to cater for tagged VLANs using the following simple formula (as long as the physical interface driver supports of course) for ce interfaces:

VLAN_ID * 100 + instance_ID

Example:

# ifconfig ce728003 plumb
# ifconfig ce728003 10.10.10.30 netmask 255.255.255.0 broadcast 10.10.10.255

This should give you a interface from your 4th physical ”ce” NIC to the 728 VLAN. So using this with our existing aggregate leaves us with:-

# dladm show-link
bge0 type: non-vlan mtu: 1500 device: bge0
bge1 type: non-vlan mtu: 1500 device: bge1
aggr106001 type: vlan 106 mtu: 1500 aggregation: key 1
aggr108001 type: vlan 108 mtu: 1500 aggregation: key 1

And now ifconfig can be used to access those aggregations

# ifconfig aggr106001 plumb 10.0.106.1 up
# ifconfig aggr108001 plumb 10.0.108.2 up

And of course, you could always enable jumbo-frames on the switches and change the MTU on one of those aggregations to use 8K packets! (alas this as of solaris 10 update 3 isn’t supported by the dladm driver)

# ifconfig aggr108001 mtu 9000

NOTES:

  • LACP needs to be configured correctly - active on one side and passive on the other.