Subject: Re: [Bugme-new] [Bug 8755] New: "ip -6 route change " behaves like "ip -6 route add"

From: Simon Arlott <[email-masked]>
Date: Sun, 15 Jul 2007 19:49:07 +0100

On 15/07/07 16:07, Patrick McHardy wrote:
>>>Changing an existing route:
>>># ip -6 r show 2002::/16
>>>2002::/16 dev sit0  metric 1024  expires 4482618sec mtu 1480 advmss 7140
>>>hoplimit 4294967295
>>># ip -6 r change 2002::/16 dev sit0 mtu 1280
>>>RTNETLINK answers: File exists
^ This is clearly a bug, since I'm trying to change an existing route
and it gives an error as if it tried to add it.

>>>Adding a route using "change":
>>># ip -6 r change 2002::/17 dev sit0 mtu 1280
>>># ip -6 r show 2002::/17
>>>2002::/17 dev sit0  metric 1024  expires 21334368sec mtu 1280 advmss 1220
>>>hoplimit 4294967295
^ This shouldn't be possible!

> There is a difference between "add" and "change". "add" will only add a
> new address if there isn't already one with the same identity, "change"
> will allow to change attributes of an existing address, like flags,
> lifetime, ..., or behave similar to "add" in case the address doesn't
> already exist.
> 
> What kind of behaviour are you expecting?

That "change" would actually change not simply add. It won't let me
change anything and in fact can only add instead.

Compare it to ipv4 where "change" never adds - "replace" is "change, or
add". (Also, "replace" doesn't work for v6 either).

-- 
Simon Arlott