Skip to contentSkip to conversation

IPv6: rt->n (neighbour in rt6_info) removal (TAKE 3)

PATCH In review YOSHIFUJI Hideaki 3 participants 4 messages Jan 17, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover IPv6: rt->n (neighbour in rt6_info) removal (TAKE 3)

This is "TAKE 3" of neighbour removal from rt6_info.

2->3:
- Removed "icmp6_dst_alloc() removal" patch. This is nothing to do with this series.
- Removed several unused variables, ifdefs, BUG_ONs.
- Handled several comments from Cong Wang.
- Reordered.

---
YOSHIFUJI Hideaki (11):
ndisc: Update neigh->updated with write lock.
ndisc: Remove tbl argument for __ipv6_neigh_lookup(). ipv6 route: Dump gateway based on RTF_GATEWAY flag and

    rt->rt6i_gateway.

ndisc: Introduce __ipv6_neigh_lookup_noref().
ipv6: Do not depend on rt->n in ip6_pol_route().
ipv6: Do not depend on rt->n in rt6_check_neigh().
ipv6: Do not depend on rt->n in rt6_probe().
ipv6: Introduce rt6_nexthop() to select nexthop address.
ipv6: Do not depend on rt->n in ip6_dst_lookup_tail().
ipv6: Do not depend on rt->n in ip6_finish_output2().
ipv6: Complete neighbour entry removal from dst_entry.

 include/net/ip6_fib.h   |    2 -
 include/net/ip6_route.h |    8 +++
 include/net/ndisc.h     |   24 ++++++---
 net/ipv6/ip6_output.c   |   26 ++++++---
 net/ipv6/route.c        |  138 ++++++++++++-----------------------------------
 net/ipv6/xfrm6_policy.c |    1 -
 6 files changed, 76 insertions(+), 123 deletions(-)
Signature · 1 line
1.7.9.5
maintainer
#1 lore raw

From: YOSHIFUJI Hideaki <[email protected]>
Date: Fri, 18 Jan 2013 02:41:41 +0900

Quoted 8 lines

This is "TAKE 3" of neighbour removal from rt6_info.

2->3:
- Removed "icmp6_dst_alloc() removal" patch. This is nothing to do with this series.
- Removed several unused variables, ifdefs, BUG_ONs.
- Handled several comments from Cong Wang.
- Reordered.

This series is almost perfect, great work.

In ip6_output you need to accomodate the fact that __neigh_create() returns error pointers so it is not valid to simply use a NULL test on 'neigh'.

You'll need to use IS_ERR(). 'neigh' can never be NULL here, it is either a valid non-NULL pointer or a return value from __neigh_create().

#2 lore raw
Quoted 5 lines · David Miller

From: YOSHIFUJI Hideaki <[email protected]>
Date: Fri, 18 Jan 2013 02:41:41 +0900

Quoted 2 lines

This is "TAKE 3" of neighbour removal from rt6_info.

Quoted 8 lines
Quoted 6 lines

2->3:
- Removed "icmp6_dst_alloc() removal" patch. This is nothing to do with this series.
- Removed several unused variables, ifdefs, BUG_ONs.
- Handled several comments from Cong Wang.
- Reordered.

This series is almost perfect, great work.

I guess if this is going in soon, the ip6 rt->n related oops I reported this morning is moot ? (unless anyone cares about fixing it for older kernels)

Dave

maintainer
#3 lore raw

From: Dave Jones <[email protected]>
Date: Thu, 17 Jan 2013 17:42:22 -0500

Quoted 13 lines · David Miller
Quoted 12 lines

From: YOSHIFUJI Hideaki <[email protected]>
Date: Fri, 18 Jan 2013 02:41:41 +0900

Quoted 8 lines

This is "TAKE 3" of neighbour removal from rt6_info.

2->3:
- Removed "icmp6_dst_alloc() removal" patch. This is nothing to do with this series.
- Removed several unused variables, ifdefs, BUG_ONs.
- Handled several comments from Cong Wang.
- Reordered.

Quoted 4 lines
Quoted 1 line

This series is almost perfect, great work.

I guess if this is going in soon, the ip6 rt->n related oops I reported this morning is moot ? (unless anyone cares about fixing it for older kernels)

I wouldn't say it's moot for older kernels, that's for sure.