On 16/07/07 14:01, Patrick McHardy wrote: > Simon Arlott 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
> The code looks like it would support it properly. Please add a
> few printks to inet6_rtm_newaddr to find out what goes wrong.
Erm. It's routing configuration that's broken not address configuration
(ip doesn't even . Looking at route.c through to ip6_fib.c, it doesn't
support replacing routes at all.
$ grep NLM_F_ ipv4/fib_*.c ipv4/route.c ipv6/fib6_* ipv6/ip6_fib.c
ipv6/route.c
ipv4/fib_frontend.c: cfg->fc_nlflags = NLM_F_CREATE;
ipv4/fib_frontend.c: .fc_nlflags = NLM_F_CREATE | NLM_F_APPEND,
ipv4/fib_hash.c: if (cfg->fc_nlflags & NLM_F_EXCL)
ipv4/fib_hash.c: if (cfg->fc_nlflags & NLM_F_REPLACE) {
ipv4/fib_hash.c: &cfg->fc_nlinfo,
NLM_F_REPLACE);
ipv4/fib_hash.c: if (!(cfg->fc_nlflags & NLM_F_APPEND))
ipv4/fib_hash.c: if (!(cfg->fc_nlflags & NLM_F_CREATE))
ipv4/fib_hash.c: NLM_F_MULTI) <
0) {
ipv4/fib_trie.c: if (cfg->fc_nlflags & NLM_F_EXCL)
ipv4/fib_trie.c: if (cfg->fc_nlflags & NLM_F_REPLACE) {
ipv4/fib_trie.c: tb->tb_id,
&cfg->fc_nlinfo, NLM_F_REPLACE);
ipv4/fib_trie.c: if (!(cfg->fc_nlflags & NLM_F_APPEND))
ipv4/fib_trie.c: if (!(cfg->fc_nlflags & NLM_F_CREATE))
ipv4/route.c: 1, NLM_F_MULTI) <= 0) {
ipv6/route.c: prefix, NLM_F_MULTI);
--
Simon Arlott
smime.p7s
Description: S/MIME Cryptographic Signature
