Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 277594
b: refs/heads/master
c: 14df015
h: refs/heads/master
v: v3
  • Loading branch information
Matti Vaittinen authored and David S. Miller committed Nov 17, 2011
1 parent 5ffd2eb commit 43d4ea6
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8f5f69824fe221a36df781c2aee9fa1d74e89077
refs/heads/master: 14df015bb1708cd7ba1e5af11a1b0365b165a3ef
21 changes: 14 additions & 7 deletions trunk/net/ipv6/ip6_fib.c
Original file line number Diff line number Diff line change
Expand Up @@ -449,9 +449,15 @@ static struct fib6_node * fib6_add_1(struct fib6_node *root, void *addr,
*/
if (plen < fn->fn_bit ||
!ipv6_prefix_equal(&key->addr, addr, fn->fn_bit)) {
if (!allow_create)
if (!allow_create) {
if (replace_required) {
printk(KERN_WARNING
"IPv6: Can't replace route, no match found\n");
return ERR_PTR(-ENOENT);
}
printk(KERN_WARNING
"IPv6: NLM_F_CREATE should be set when creating new route\n");
}
goto insert_above;
}

Expand Down Expand Up @@ -482,7 +488,7 @@ static struct fib6_node * fib6_add_1(struct fib6_node *root, void *addr,
fn = dir ? fn->right: fn->left;
} while (fn);

if (replace_required && !allow_create) {
if (!allow_create) {
/* We should not create new node because
* NLM_F_REPLACE was specified without NLM_F_CREATE
* I assume it is safe to require NLM_F_CREATE when
Expand All @@ -492,16 +498,17 @@ static struct fib6_node * fib6_add_1(struct fib6_node *root, void *addr,
* MUST be specified if new route is created.
* That would keep IPv6 consistent with IPv4
*/
printk(KERN_WARNING
"IPv6: NLM_F_CREATE should be set when creating new route - ignoring request\n");
return ERR_PTR(-ENOENT);
if (replace_required) {
printk(KERN_WARNING
"IPv6: Can't replace route, no match found\n");
return ERR_PTR(-ENOENT);
}
printk(KERN_WARNING "IPv6: NLM_F_CREATE should be set when creating new route\n");
}
/*
* We walked to the bottom of tree.
* Create new leaf node without children.
*/
if (!allow_create)
printk(KERN_WARNING "IPv6: NLM_F_CREATE should be set when creating new route\n");

ln = node_alloc();

Expand Down

0 comments on commit 43d4ea6

Please sign in to comment.