Link Aggregation on OS X


You’ll know it as “link aggravation” if you’ve tried to configure it before. Apple’s docs let you shoot yourself in the foot. More recent versions of OS X Server 10.5 seem to behave better; however, it’s certainly possible to get a 10.4 box into a state where it kernel panics on boot if link aggregation is set up incorrectly.

  • We will assume you have two interfaces respectively named “Ethernet 0″ and “Ethernet 1.”


  • You must have a switch that supports 802.3ad link aggregation, a.k.a. LACP (Link Aggregate Control Protocol). Some devices may call it “trunking.” Whatever it is, make sure it says 802.3ad, because a “trunk” can be different than a “link aggregate.” For example, on a Netgear GS724Tv2, setting up a trunk in the Trunking menu will actually disconnect the link aggregate. (It will say that no network cables are connected.) Your best bet is to plug in the cables, and look at the server’s network port status. If it’s good, you’re fine. Some devices, such as the HP ProCurve 4018gl, will not support dynamic trunking by default, so you will need to manually define a trunk with the LACP option in Port Setup.

OS X Server 10.5

  • When first setting up a server (in the wizard that runs before you even get to the Desktop), configure Ethernet 0 manually with the soon-to-be bonded information. (That is, the static IP that you will be using.)
  • Set Ethernet 1 to “off.” Don’t remove it or anything, just tell it to be “off.”
  • Once you get into the OS, create a new Link Aggregate virtual interface. I prefer to call it “Bond 0″ to match its BSD name. Once the interface has been created, enable both Ethernet 0 and Ethernet 1 as member interfaces. Bond 0 should be using DHCP.
  • Save changes.
  • Now, copy the settings for the Ethernet 0 interface to Bond 0, set the Ethernet 0 interface to be “off,” THEN save changes. (You don’t want to save in between copying settings and turning off Ethernet 0.) It should flip over to the bonded connection.
  • Reboot to verify it works across restarts.

OS X Server 10.4

  • Link aggregation is basically setup the same way as with 10.5, with the following notes / caveats:
  • The system will automatically disable en0 and en1 when you create the bond interface.
  • If you attempt to setup link aggregation on 10.4 (that is, not 10.4.1, .2, .3, etc.) it will kernel panic upon reboot. The system itself will even freeze when booting into single user mode as soon as it detects a network link, so you can’t even do a “destroy” command on the bond interface.
  • I’m not sure which minor versions of 10.4 support link aggregation, but 10.4.11 seems to work fine. Not as well as 10.5, though.

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>