ipv6: Default fib6_type to RTN_UNICAST when not set
A user reported that routes are getting installed with type 0 (RTN_UNSPEC)
where before the routes were RTN_UNICAST. One example is from accel-ppp
which apparently still uses the ioctl interface and does not set
rtmsg_type. Another is the netlink interface where ipv6 does not require
rtm_type to be set (v4 does). Prior to the commit in the Fixes tag the
ipv6 stack converted type 0 to RTN_UNICAST, so restore that behavior.
Fixes: e8478e80e5
("net/ipv6: Save route type in rt6_info")
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bf6de23153
commit
c7036d97ac
|
@ -3184,7 +3184,7 @@ static struct fib6_info *ip6_route_info_create(struct fib6_config *cfg,
|
||||||
|
|
||||||
rt->fib6_table = table;
|
rt->fib6_table = table;
|
||||||
rt->fib6_metric = cfg->fc_metric;
|
rt->fib6_metric = cfg->fc_metric;
|
||||||
rt->fib6_type = cfg->fc_type;
|
rt->fib6_type = cfg->fc_type ? : RTN_UNICAST;
|
||||||
rt->fib6_flags = cfg->fc_flags & ~RTF_GATEWAY;
|
rt->fib6_flags = cfg->fc_flags & ~RTF_GATEWAY;
|
||||||
|
|
||||||
ipv6_addr_prefix(&rt->fib6_dst.addr, &cfg->fc_dst, cfg->fc_dst_len);
|
ipv6_addr_prefix(&rt->fib6_dst.addr, &cfg->fc_dst, cfg->fc_dst_len);
|
||||||
|
|
Loading…
Reference in New Issue