Skip to content

Commit

Permalink
IPv6 routing, NLM_F_* flag support: warn if new route is created with…
Browse files Browse the repository at this point in the history
…out NLM_F_CREATE

The support for NLM_F_* flags at IPv6 routing requests.

Warn if NLM_F_CREATE flag is not defined for RTM_NEWROUTE request,
creating new table. Later NLM_F_CREATE may be required for
new route creation.

Patch created against linux-3.2-rc1

Signed-off-by: Matti Vaittinen <Mazziesaccount@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Matti Vaittinen authored and David S. Miller committed Nov 14, 2011
1 parent abbd00b commit d71314b
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions net/ipv6/route.c
Original file line number Diff line number Diff line change
Expand Up @@ -1230,9 +1230,18 @@ int ip6_route_add(struct fib6_config *cfg)
if (cfg->fc_metric == 0)
cfg->fc_metric = IP6_RT_PRIO_USER;

table = fib6_new_table(net, cfg->fc_table);
err = -ENOBUFS;
if (NULL != cfg->fc_nlinfo.nlh &&
!(cfg->fc_nlinfo.nlh->nlmsg_flags&NLM_F_CREATE)) {
table = fib6_get_table(net, cfg->fc_table);
if (table == NULL) {
printk(KERN_WARNING "IPv6: NLM_F_CREATE should be specified when creating new route\n");
table = fib6_new_table(net, cfg->fc_table);
}
} else {
table = fib6_new_table(net, cfg->fc_table);
}
if (table == NULL) {
err = -ENOBUFS;
goto out;
}

Expand Down

0 comments on commit d71314b

Please sign in to comment.