net: packet: use seq_hlist_foo() helpers
[safe/jmp/linux-2.6] / net / core / neighbour.c
index e587e68..f2efd72 100644 (file)
@@ -2092,7 +2092,7 @@ static int neigh_dump_table(struct neigh_table *tbl, struct sk_buff *skb,
                if (h > s_h)
                        s_idx = 0;
                for (n = tbl->hash_buckets[h], idx = 0; n; n = n->next) {
-                       if (dev_net(n->dev) != net)
+                       if (!net_eq(dev_net(n->dev), net))
                                continue;
                        if (idx < s_idx)
                                goto next;
@@ -2417,8 +2417,7 @@ EXPORT_SYMBOL(neigh_seq_stop);
 
 static void *neigh_stat_seq_start(struct seq_file *seq, loff_t *pos)
 {
-       struct proc_dir_entry *pde = seq->private;
-       struct neigh_table *tbl = pde->data;
+       struct neigh_table *tbl = seq->private;
        int cpu;
 
        if (*pos == 0)
@@ -2435,8 +2434,7 @@ static void *neigh_stat_seq_start(struct seq_file *seq, loff_t *pos)
 
 static void *neigh_stat_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 {
-       struct proc_dir_entry *pde = seq->private;
-       struct neigh_table *tbl = pde->data;
+       struct neigh_table *tbl = seq->private;
        int cpu;
 
        for (cpu = *pos; cpu < nr_cpu_ids; ++cpu) {
@@ -2455,8 +2453,7 @@ static void neigh_stat_seq_stop(struct seq_file *seq, void *v)
 
 static int neigh_stat_seq_show(struct seq_file *seq, void *v)
 {
-       struct proc_dir_entry *pde = seq->private;
-       struct neigh_table *tbl = pde->data;
+       struct neigh_table *tbl = seq->private;
        struct neigh_statistics *st = v;
 
        if (v == SEQ_START_TOKEN) {
@@ -2501,7 +2498,7 @@ static int neigh_stat_seq_open(struct inode *inode, struct file *file)
 
        if (!ret) {
                struct seq_file *sf = file->private_data;
-               sf->private = PDE(inode);
+               sf->private = PDE(inode)->data;
        }
        return ret;
 };
@@ -2566,21 +2563,18 @@ static struct neigh_sysctl_table {
 } neigh_sysctl_template __read_mostly = {
        .neigh_vars = {
                {
-                       .ctl_name       = NET_NEIGH_MCAST_SOLICIT,
                        .procname       = "mcast_solicit",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec,
                },
                {
-                       .ctl_name       = NET_NEIGH_UCAST_SOLICIT,
                        .procname       = "ucast_solicit",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec,
                },
                {
-                       .ctl_name       = NET_NEIGH_APP_SOLICIT,
                        .procname       = "app_solicit",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
@@ -2593,38 +2587,30 @@ static struct neigh_sysctl_table {
                        .proc_handler   = proc_dointvec_userhz_jiffies,
                },
                {
-                       .ctl_name       = NET_NEIGH_REACHABLE_TIME,
                        .procname       = "base_reachable_time",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec_jiffies,
-                       .strategy       = sysctl_jiffies,
                },
                {
-                       .ctl_name       = NET_NEIGH_DELAY_PROBE_TIME,
                        .procname       = "delay_first_probe_time",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec_jiffies,
-                       .strategy       = sysctl_jiffies,
                },
                {
-                       .ctl_name       = NET_NEIGH_GC_STALE_TIME,
                        .procname       = "gc_stale_time",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec_jiffies,
-                       .strategy       = sysctl_jiffies,
                },
                {
-                       .ctl_name       = NET_NEIGH_UNRES_QLEN,
                        .procname       = "unres_qlen",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec,
                },
                {
-                       .ctl_name       = NET_NEIGH_PROXY_QLEN,
                        .procname       = "proxy_qlen",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
@@ -2649,45 +2635,36 @@ static struct neigh_sysctl_table {
                        .proc_handler   = proc_dointvec_userhz_jiffies,
                },
                {
-                       .ctl_name       = NET_NEIGH_RETRANS_TIME_MS,
                        .procname       = "retrans_time_ms",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec_ms_jiffies,
-                       .strategy       = sysctl_ms_jiffies,
                },
                {
-                       .ctl_name       = NET_NEIGH_REACHABLE_TIME_MS,
                        .procname       = "base_reachable_time_ms",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec_ms_jiffies,
-                       .strategy       = sysctl_ms_jiffies,
                },
                {
-                       .ctl_name       = NET_NEIGH_GC_INTERVAL,
                        .procname       = "gc_interval",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec_jiffies,
-                       .strategy       = sysctl_jiffies,
                },
                {
-                       .ctl_name       = NET_NEIGH_GC_THRESH1,
                        .procname       = "gc_thresh1",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec,
                },
                {
-                       .ctl_name       = NET_NEIGH_GC_THRESH2,
                        .procname       = "gc_thresh2",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
                        .proc_handler   = proc_dointvec,
                },
                {
-                       .ctl_name       = NET_NEIGH_GC_THRESH3,
                        .procname       = "gc_thresh3",
                        .maxlen         = sizeof(int),
                        .mode           = 0644,
@@ -2699,7 +2676,7 @@ static struct neigh_sysctl_table {
 
 int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
                          int p_id, int pdev_id, char *p_name,
-                         proc_handler *handler, ctl_handler *strategy)
+                         proc_handler *handler)
 {
        struct neigh_sysctl_table *t;
        const char *dev_name_source = NULL;
@@ -2710,10 +2687,10 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
 #define NEIGH_CTL_PATH_DEV     3
 
        struct ctl_path neigh_path[] = {
-               { .procname = "net",     .ctl_name = CTL_NET, },
-               { .procname = "proto",   .ctl_name = 0, },
-               { .procname = "neigh",   .ctl_name = 0, },
-               { .procname = "default", .ctl_name = NET_PROTO_CONF_DEFAULT, },
+               { .procname = "net",     },
+               { .procname = "proto",   },
+               { .procname = "neigh",   },
+               { .procname = "default", },
                { },
        };
 
@@ -2738,7 +2715,6 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
 
        if (dev) {
                dev_name_source = dev->name;
-               neigh_path[NEIGH_CTL_PATH_DEV].ctl_name = dev->ifindex;
                /* Terminate the table early */
                memset(&t->neigh_vars[14], 0, sizeof(t->neigh_vars[14]));
        } else {
@@ -2750,31 +2726,19 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
        }
 
 
-       if (handler || strategy) {
+       if (handler) {
                /* RetransTime */
                t->neigh_vars[3].proc_handler = handler;
-               t->neigh_vars[3].strategy = strategy;
                t->neigh_vars[3].extra1 = dev;
-               if (!strategy)
-                       t->neigh_vars[3].ctl_name = CTL_UNNUMBERED;
                /* ReachableTime */
                t->neigh_vars[4].proc_handler = handler;
-               t->neigh_vars[4].strategy = strategy;
                t->neigh_vars[4].extra1 = dev;
-               if (!strategy)
-                       t->neigh_vars[4].ctl_name = CTL_UNNUMBERED;
                /* RetransTime (in milliseconds)*/
                t->neigh_vars[12].proc_handler = handler;
-               t->neigh_vars[12].strategy = strategy;
                t->neigh_vars[12].extra1 = dev;
-               if (!strategy)
-                       t->neigh_vars[12].ctl_name = CTL_UNNUMBERED;
                /* ReachableTime (in milliseconds) */
                t->neigh_vars[13].proc_handler = handler;
-               t->neigh_vars[13].strategy = strategy;
                t->neigh_vars[13].extra1 = dev;
-               if (!strategy)
-                       t->neigh_vars[13].ctl_name = CTL_UNNUMBERED;
        }
 
        t->dev_name = kstrdup(dev_name_source, GFP_KERNEL);
@@ -2782,9 +2746,7 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
                goto free;
 
        neigh_path[NEIGH_CTL_PATH_DEV].procname = t->dev_name;
-       neigh_path[NEIGH_CTL_PATH_NEIGH].ctl_name = pdev_id;
        neigh_path[NEIGH_CTL_PATH_PROTO].procname = p_name;
-       neigh_path[NEIGH_CTL_PATH_PROTO].ctl_name = p_id;
 
        t->sysctl_header =
                register_net_sysctl_table(neigh_parms_net(p), neigh_path, t->neigh_vars);