On Thu, 16 Mar 2006 17:24:41 -0500 (EST) James Lentini <jlentini@xxxxxxxxxx> wrote: > > 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. > > This patch (against the iproute2 cvs repository) fixes the problem: > Okay, but there are number of other places in iproute2 that call ll_addr_a2n() with ifr.ifr_hwaddr.sa_data. And that is 14 bytes. If you want to fix those it will be harder since it would increase the sizeof(struct sockaddr) and potentially break compatibility. _______________________________________________ LARTC mailing list LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc