Re: iproute2: adding /128 address to sit interface borks
From: Stephen Hemminger <hidden>
Date: 2010-02-27 16:24:09
On Sat, 27 Feb 2010 16:03:36 +0100 (CET) Jan Engelhardt [off-list ref] wrote:
On Friday 2009-07-10 17:27, Stephen Hemminger wrote:quoted
On Fri, 10 Jul 2009 14:05:01 +0200 (CEST) Jan Engelhardt [off-list ref] wrote:quoted
it's impossible to do this, and the error message does not say why that is so. No word in dmesg either. # ip a a fc00::49/128 peer fc00::7 dev sit7 RTNETLINK answers: Invalid argumentYou will need to walk through the path in the kernel. In worst case, it means adding kernel printk's. Then if you want to be nice, make a patch to ipaddr.c in iproute utilities so command line can find the error before passing to kernel and give a nice error :-)The issue here was that the peer is encoded using the broadcast field, and since IPv6 has no broadcast, it was rejected by the kernel. The error messages really need to be improved. This year also came an article about that, http://lwn.net/Articles/374794/
The article overlooks the fact that netlink is a message based interface. There is no reason that the response message can't be extended to add additional sections to give more detailed answer. The issues are: * no infrastructure for this (message format, helpers, etc) * tedious effort to annotate all the existing error returns * update to command and library The extended error reports could even be a kernel config option so the embedded and those worried about space would not have to have it. --