The ip(8) command has a bug when dealing with IPoIB link layer
addresses. Specifically it does not correctly handle the addition of
new entries in the neighbor/arp table. For example, this command will
fail:

ip neigh add 192.168.0.138 lladdr
00:00:04:04:fe:80:00:00:00:00:00:00:00:01:73:00:00:00:8a:91 nud
permanent dev ib0

An IPoIB link layer address is 20-bytes (see
http://www.ietf.org/internet-drafts/draft-ietf-ipoib-ip-over-infiniband-09.txt,
section 9.1.1).

The command line parsing code expects link layer addresses to be a
maximum of 16-bytes. Addresses over 16-bytes are truncated.
diff --git a/ChangeLog b/ChangeLog
index f9eb652..27d4c1b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-03-21  James Lentini <jlentini@netapp.com>
+	
+	* Increase size of hw address allowed for ip neigh to allow
+	  for IB.
+
 2006-03-14  Russell Stuart <russell-lartc@stuart.id.au>
 	
 	* Fix missing memset in tc sample