|
@@ -3059,11 +3059,12 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
|
|
|
memset(&t->neigh_vars[NEIGH_VAR_GC_INTERVAL], 0,
|
|
|
sizeof(t->neigh_vars[NEIGH_VAR_GC_INTERVAL]));
|
|
|
} else {
|
|
|
+ struct neigh_table *tbl = p->tbl;
|
|
|
dev_name_source = "default";
|
|
|
- t->neigh_vars[NEIGH_VAR_GC_INTERVAL].data = (int *)(p + 1);
|
|
|
- t->neigh_vars[NEIGH_VAR_GC_THRESH1].data = (int *)(p + 1) + 1;
|
|
|
- t->neigh_vars[NEIGH_VAR_GC_THRESH2].data = (int *)(p + 1) + 2;
|
|
|
- t->neigh_vars[NEIGH_VAR_GC_THRESH3].data = (int *)(p + 1) + 3;
|
|
|
+ t->neigh_vars[NEIGH_VAR_GC_INTERVAL].data = &tbl->gc_interval;
|
|
|
+ t->neigh_vars[NEIGH_VAR_GC_THRESH1].data = &tbl->gc_thresh1;
|
|
|
+ t->neigh_vars[NEIGH_VAR_GC_THRESH2].data = &tbl->gc_thresh2;
|
|
|
+ t->neigh_vars[NEIGH_VAR_GC_THRESH3].data = &tbl->gc_thresh3;
|
|
|
}
|
|
|
|
|
|
if (handler) {
|