[IPV6]: Make ndisc_dst_alloc() common for later use.
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Fri, 7 Dec 2007 00:11:48 +0000 (16:11 -0800)
committerYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Tue, 4 Mar 2008 06:18:24 +0000 (15:18 +0900)
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>
include/net/ip6_route.h
net/ipv6/ip6_fib.c
net/ipv6/ndisc.c
net/ipv6/route.c

index f99e4f0f568f902c8cd67f3dbc49517dcc26200e..8d155a645aba187ceee0619c3d81eeec438dc421 100644 (file)
@@ -73,11 +73,11 @@ extern struct rt6_info              *rt6_lookup(struct in6_addr *daddr,
                                            struct in6_addr *saddr,
                                            int oif, int flags);
 
-extern struct dst_entry *ndisc_dst_alloc(struct net_device *dev,
+extern struct dst_entry *icmp6_dst_alloc(struct net_device *dev,
                                         struct neighbour *neigh,
-                                        struct in6_addr *addr,
-                                        int (*output)(struct sk_buff *));
-extern int ndisc_dst_gc(int *more);
+                                        struct in6_addr *addr);
+extern int icmp6_dst_gc(int *more);
+
 extern void fib6_force_start_gc(void);
 
 extern struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev,
index bab72b6f14444f9701d830ff6d93f009bb753926..c70fd38b54b7ad2b9ca980b29abcf3acad65b23d 100644 (file)
@@ -1464,7 +1464,7 @@ void fib6_run_gc(unsigned long dummy)
        }
        gc_args.more = 0;
 
-       ndisc_dst_gc(&gc_args.more);
+       icmp6_dst_gc(&gc_args.more);
        fib6_clean_all(fib6_age, 0, NULL);
 
        if (gc_args.more)
index 8db5f4a419aac0ec3148bf636893fd7cf2181dd5..eb322959a3e1a41457bd0b88688068d18b12c0ec 100644 (file)
@@ -462,7 +462,7 @@ static void __ndisc_send(struct net_device *dev,
        icmpv6_flow_init(ndisc_socket->sk, &fl, type,
                         saddr, daddr, dev->ifindex);
 
-       dst = ndisc_dst_alloc(dev, neigh, daddr, ip6_output);
+       dst = icmp6_dst_alloc(dev, neigh, daddr);
        if (!dst)
                return;
 
index 6abe7da45ef77ac16aded948547d5f4f718725fd..cd717450fb10772777a774700a4756e8dba94ddf 100644 (file)
@@ -904,13 +904,12 @@ static inline unsigned int ipv6_advmss(unsigned int mtu)
        return mtu;
 }
 
-static struct dst_entry *ndisc_dst_gc_list;
-static DEFINE_SPINLOCK(ndisc_lock);
+static struct dst_entry *icmp6_dst_gc_list;
+static DEFINE_SPINLOCK(icmp6_dst_lock);
 
-struct dst_entry *ndisc_dst_alloc(struct net_device *dev,
+struct dst_entry *icmp6_dst_alloc(struct net_device *dev,
                                  struct neighbour *neigh,
-                                 struct in6_addr *addr,
-                                 int (*output)(struct sk_buff *))
+                                 struct in6_addr *addr)
 {
        struct rt6_info *rt;
        struct inet6_dev *idev = in6_dev_get(dev);
@@ -937,7 +936,7 @@ struct dst_entry *ndisc_dst_alloc(struct net_device *dev,
        rt->u.dst.metrics[RTAX_HOPLIMIT-1] = 255;
        rt->u.dst.metrics[RTAX_MTU-1] = ipv6_get_mtu(rt->rt6i_dev);
        rt->u.dst.metrics[RTAX_ADVMSS-1] = ipv6_advmss(dst_mtu(&rt->u.dst));
-       rt->u.dst.output  = output;
+       rt->u.dst.output  = ip6_output;
 
 #if 0  /* there's no chance to use these for ndisc */
        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,
        rt->rt6i_dst.plen = 128;
 #endif
 
-       spin_lock_bh(&ndisc_lock);
-       rt->u.dst.next = ndisc_dst_gc_list;
-       ndisc_dst_gc_list = &rt->u.dst;
-       spin_unlock_bh(&ndisc_lock);
+       spin_lock_bh(&icmp6_dst_lock);
+       rt->u.dst.next = icmp6_dst_gc_list;
+       icmp6_dst_gc_list = &rt->u.dst;
+       spin_unlock_bh(&icmp6_dst_lock);
 
        fib6_force_start_gc();
 
@@ -958,7 +957,7 @@ out:
        return &rt->u.dst;
 }
 
-int ndisc_dst_gc(int *more)
+int icmp6_dst_gc(int *more)
 {
        struct dst_entry *dst, *next, **pprev;
        int freed;
@@ -966,8 +965,8 @@ int ndisc_dst_gc(int *more)
        next = NULL;
        freed = 0;
 
-       spin_lock_bh(&ndisc_lock);
-       pprev = &ndisc_dst_gc_list;
+       spin_lock_bh(&icmp6_dst_lock);
+       pprev = &icmp6_dst_gc_list;
 
        while ((dst = *pprev) != NULL) {
                if (!atomic_read(&dst->__refcnt)) {
@@ -980,7 +979,7 @@ int ndisc_dst_gc(int *more)
                }
        }
 
-       spin_unlock_bh(&ndisc_lock);
+       spin_unlock_bh(&icmp6_dst_lock);
 
        return freed;
 }