diff options
author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2007-12-06 19:11:48 -0500 |
---|---|---|
committer | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-03-04 01:18:24 -0500 |
commit | 3b00944c5c73c49ef52bf17b66557c43c1d945fe (patch) | |
tree | 1b58242063283b24b26a0e060d378efe76157283 /net | |
parent | 95e41e93e18d8e1e272ce23d96bae4f17ce11d42 (diff) |
[IPV6]: Make ndisc_dst_alloc() common for later use.
For later use, this patch is renaming ndisc_dst_alloc()
(and related function/structures) to icmp6_dst_alloc()
(and so on). This patch also removing unused function-
pointer argument for it.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv6/ip6_fib.c | 2 | ||||
-rw-r--r-- | net/ipv6/ndisc.c | 2 | ||||
-rw-r--r-- | net/ipv6/route.c | 27 |
3 files changed, 15 insertions, 16 deletions
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index bab72b6f144..c70fd38b54b 100644 --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c | |||
@@ -1464,7 +1464,7 @@ void fib6_run_gc(unsigned long dummy) | |||
1464 | } | 1464 | } |
1465 | gc_args.more = 0; | 1465 | gc_args.more = 0; |
1466 | 1466 | ||
1467 | ndisc_dst_gc(&gc_args.more); | 1467 | icmp6_dst_gc(&gc_args.more); |
1468 | fib6_clean_all(fib6_age, 0, NULL); | 1468 | fib6_clean_all(fib6_age, 0, NULL); |
1469 | 1469 | ||
1470 | if (gc_args.more) | 1470 | if (gc_args.more) |
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index 8db5f4a419a..eb322959a3e 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c | |||
@@ -462,7 +462,7 @@ static void __ndisc_send(struct net_device *dev, | |||
462 | icmpv6_flow_init(ndisc_socket->sk, &fl, type, | 462 | icmpv6_flow_init(ndisc_socket->sk, &fl, type, |
463 | saddr, daddr, dev->ifindex); | 463 | saddr, daddr, dev->ifindex); |
464 | 464 | ||
465 | dst = ndisc_dst_alloc(dev, neigh, daddr, ip6_output); | 465 | dst = icmp6_dst_alloc(dev, neigh, daddr); |
466 | if (!dst) | 466 | if (!dst) |
467 | return; | 467 | return; |
468 | 468 | ||
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 6abe7da45ef..cd717450fb1 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -904,13 +904,12 @@ static inline unsigned int ipv6_advmss(unsigned int mtu) | |||
904 | return mtu; | 904 | return mtu; |
905 | } | 905 | } |
906 | 906 | ||
907 | static struct dst_entry *ndisc_dst_gc_list; | 907 | static struct dst_entry *icmp6_dst_gc_list; |
908 | static DEFINE_SPINLOCK(ndisc_lock); | 908 | static DEFINE_SPINLOCK(icmp6_dst_lock); |
909 | 909 | ||
910 | struct dst_entry *ndisc_dst_alloc(struct net_device *dev, | 910 | struct dst_entry *icmp6_dst_alloc(struct net_device *dev, |
911 | struct neighbour *neigh, | 911 | struct neighbour *neigh, |
912 | struct in6_addr *addr, | 912 | struct in6_addr *addr) |
913 | int (*output)(struct sk_buff *)) | ||
914 | { | 913 | { |
915 | struct rt6_info *rt; | 914 | struct rt6_info *rt; |
916 | struct inet6_dev *idev = in6_dev_get(dev); | 915 | struct inet6_dev *idev = in6_dev_get(dev); |
@@ -937,7 +936,7 @@ struct dst_entry *ndisc_dst_alloc(struct net_device *dev, | |||
937 | rt->u.dst.metrics[RTAX_HOPLIMIT-1] = 255; | 936 | rt->u.dst.metrics[RTAX_HOPLIMIT-1] = 255; |
938 | rt->u.dst.metrics[RTAX_MTU-1] = ipv6_get_mtu(rt->rt6i_dev); | 937 | rt->u.dst.metrics[RTAX_MTU-1] = ipv6_get_mtu(rt->rt6i_dev); |
939 | rt->u.dst.metrics[RTAX_ADVMSS-1] = ipv6_advmss(dst_mtu(&rt->u.dst)); | 938 | rt->u.dst.metrics[RTAX_ADVMSS-1] = ipv6_advmss(dst_mtu(&rt->u.dst)); |
940 | rt->u.dst.output = output; | 939 | rt->u.dst.output = ip6_output; |
941 | 940 | ||
942 | #if 0 /* there's no chance to use these for ndisc */ | 941 | #if 0 /* there's no chance to use these for ndisc */ |
943 | rt->u.dst.flags = ipv6_addr_type(addr) & IPV6_ADDR_UNICAST | 942 | rt->u.dst.flags = ipv6_addr_type(addr) & IPV6_ADDR_UNICAST |
@@ -947,10 +946,10 @@ struct dst_entry *ndisc_dst_alloc(struct net_device *dev, | |||
947 | rt->rt6i_dst.plen = 128; | 946 | rt->rt6i_dst.plen = 128; |
948 | #endif | 947 | #endif |
949 | 948 | ||
950 | spin_lock_bh(&ndisc_lock); | 949 | spin_lock_bh(&icmp6_dst_lock); |
951 | rt->u.dst.next = ndisc_dst_gc_list; | 950 | rt->u.dst.next = icmp6_dst_gc_list; |
952 | ndisc_dst_gc_list = &rt->u.dst; | 951 | icmp6_dst_gc_list = &rt->u.dst; |
953 | spin_unlock_bh(&ndisc_lock); | 952 | spin_unlock_bh(&icmp6_dst_lock); |
954 | 953 | ||
955 | fib6_force_start_gc(); | 954 | fib6_force_start_gc(); |
956 | 955 | ||
@@ -958,7 +957,7 @@ out: | |||
958 | return &rt->u.dst; | 957 | return &rt->u.dst; |
959 | } | 958 | } |
960 | 959 | ||
961 | int ndisc_dst_gc(int *more) | 960 | int icmp6_dst_gc(int *more) |
962 | { | 961 | { |
963 | struct dst_entry *dst, *next, **pprev; | 962 | struct dst_entry *dst, *next, **pprev; |
964 | int freed; | 963 | int freed; |
@@ -966,8 +965,8 @@ int ndisc_dst_gc(int *more) | |||
966 | next = NULL; | 965 | next = NULL; |
967 | freed = 0; | 966 | freed = 0; |
968 | 967 | ||
969 | spin_lock_bh(&ndisc_lock); | 968 | spin_lock_bh(&icmp6_dst_lock); |
970 | pprev = &ndisc_dst_gc_list; | 969 | pprev = &icmp6_dst_gc_list; |
971 | 970 | ||
972 | while ((dst = *pprev) != NULL) { | 971 | while ((dst = *pprev) != NULL) { |
973 | if (!atomic_read(&dst->__refcnt)) { | 972 | if (!atomic_read(&dst->__refcnt)) { |
@@ -980,7 +979,7 @@ int ndisc_dst_gc(int *more) | |||
980 | } | 979 | } |
981 | } | 980 | } |
982 | 981 | ||
983 | spin_unlock_bh(&ndisc_lock); | 982 | spin_unlock_bh(&icmp6_dst_lock); |
984 | 983 | ||
985 | return freed; | 984 | return freed; |
986 | } | 985 | } |