Skip to content

Commit

Permalink
ipv6: Don't change dst->flags using assignments.
Browse files Browse the repository at this point in the history
This blows away any flags already set in the entry.

Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
davem330 committed Jul 2, 2011
1 parent 6e4e2f8 commit 11d53b4
Showing 1 changed file with 2 additions and 10 deletions.
12 changes: 2 additions & 10 deletions net/ipv6/route.c
Original file line number Diff line number Diff line change
Expand Up @@ -1062,14 +1062,6 @@ struct dst_entry *icmp6_dst_alloc(struct net_device *dev,
dst_metric_set(&rt->dst, RTAX_HOPLIMIT, 255);
rt->dst.output = ip6_output;

#if 0 /* there's no chance to use these for ndisc */
rt->dst.flags = ipv6_addr_type(addr) & IPV6_ADDR_UNICAST
? DST_HOST
: 0;
ipv6_addr_copy(&rt->rt6i_dst.addr, addr);
rt->rt6i_dst.plen = 128;
#endif

spin_lock_bh(&icmp6_dst_lock);
rt->dst.next = icmp6_dst_gc_list;
icmp6_dst_gc_list = &rt->dst;
Expand Down Expand Up @@ -1244,7 +1236,7 @@ int ip6_route_add(struct fib6_config *cfg)
ipv6_addr_prefix(&rt->rt6i_dst.addr, &cfg->fc_dst, cfg->fc_dst_len);
rt->rt6i_dst.plen = cfg->fc_dst_len;
if (rt->rt6i_dst.plen == 128)
rt->dst.flags = DST_HOST;
rt->dst.flags |= DST_HOST;

#ifdef CONFIG_IPV6_SUBTREES
ipv6_addr_prefix(&rt->rt6i_src.addr, &cfg->fc_src, cfg->fc_src_len);
Expand Down Expand Up @@ -2025,7 +2017,7 @@ struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev,

in6_dev_hold(idev);

rt->dst.flags = DST_HOST;
rt->dst.flags |= DST_HOST;
rt->dst.input = ip6_input;
rt->dst.output = ip6_output;
rt->rt6i_idev = idev;
Expand Down

0 comments on commit 11d53b4

Please sign in to comment.