Thread (4 messages) 4 messages, 2 authors, 2010-02-27

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 argument
You 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.

-- 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help