Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 78716
b: refs/heads/master
c: 3151a9a
h: refs/heads/master
v: v3
  • Loading branch information
Pavel Emelyanov authored and David S. Miller committed Jan 28, 2008
1 parent a3efa03 commit 6d1e2b4
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 56 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 90754f8ec011c91382ece2849a43b8f8aa8a0105
refs/heads/master: 3151a9ab04714d0323efbe3c6c12bc5b2b1f058d
52 changes: 15 additions & 37 deletions trunk/net/decnet/dn_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,10 +173,6 @@ static int dn_forwarding_sysctl(ctl_table *table, int __user *name, int nlen,
static struct dn_dev_sysctl_table {
struct ctl_table_header *sysctl_header;
ctl_table dn_dev_vars[5];
ctl_table dn_dev_dev[2];
ctl_table dn_dev_conf_dir[2];
ctl_table dn_dev_proto_dir[2];
ctl_table dn_dev_root_dir[2];
} dn_dev_sysctl = {
NULL,
{
Expand Down Expand Up @@ -224,37 +220,23 @@ static struct dn_dev_sysctl_table {
},
{0}
},
{{
.ctl_name = 0,
.procname = "",
.mode = 0555,
.child = dn_dev_sysctl.dn_dev_vars
}, {0}},
{{
.ctl_name = NET_DECNET_CONF,
.procname = "conf",
.mode = 0555,
.child = dn_dev_sysctl.dn_dev_dev
}, {0}},
{{
.ctl_name = NET_DECNET,
.procname = "decnet",
.mode = 0555,
.child = dn_dev_sysctl.dn_dev_conf_dir
}, {0}},
{{
.ctl_name = CTL_NET,
.procname = "net",
.mode = 0555,
.child = dn_dev_sysctl.dn_dev_proto_dir
}, {0}}
};

static void dn_dev_sysctl_register(struct net_device *dev, struct dn_dev_parms *parms)
{
struct dn_dev_sysctl_table *t;
int i;

#define DN_CTL_PATH_DEV 3

struct ctl_path dn_ctl_path[] = {
{ .procname = "net", .ctl_name = CTL_NET, },
{ .procname = "decnet", .ctl_name = NET_DECNET, },
{ .procname = "conf", .ctl_name = NET_DECNET_CONF, },
{ /* to be set */ },
{ },
};

t = kmemdup(&dn_dev_sysctl, sizeof(*t), GFP_KERNEL);
if (t == NULL)
return;
Expand All @@ -265,20 +247,16 @@ static void dn_dev_sysctl_register(struct net_device *dev, struct dn_dev_parms *
}

if (dev) {
t->dn_dev_dev[0].procname = dev->name;
t->dn_dev_dev[0].ctl_name = dev->ifindex;
dn_ctl_path[DN_CTL_PATH_DEV].procname = dev->name;
dn_ctl_path[DN_CTL_PATH_DEV].ctl_name = dev->ifindex;
} else {
t->dn_dev_dev[0].procname = parms->name;
t->dn_dev_dev[0].ctl_name = parms->ctl_name;
dn_ctl_path[DN_CTL_PATH_DEV].procname = parms->name;
dn_ctl_path[DN_CTL_PATH_DEV].ctl_name = parms->ctl_name;
}

t->dn_dev_dev[0].child = t->dn_dev_vars;
t->dn_dev_conf_dir[0].child = t->dn_dev_dev;
t->dn_dev_proto_dir[0].child = t->dn_dev_conf_dir;
t->dn_dev_root_dir[0].child = t->dn_dev_proto_dir;
t->dn_dev_vars[0].extra1 = (void *)dev;

t->sysctl_header = register_sysctl_table(t->dn_dev_root_dir);
t->sysctl_header = register_sysctl_paths(dn_ctl_path, t->dn_dev_vars);
if (t->sysctl_header == NULL)
kfree(t);
else
Expand Down
23 changes: 5 additions & 18 deletions trunk/net/decnet/sysctl_net_decnet.c
Original file line number Diff line number Diff line change
Expand Up @@ -470,28 +470,15 @@ static ctl_table dn_table[] = {
{0}
};

static ctl_table dn_dir_table[] = {
{
.ctl_name = NET_DECNET,
.procname = "decnet",
.mode = 0555,
.child = dn_table},
{0}
};

static ctl_table dn_root_table[] = {
{
.ctl_name = CTL_NET,
.procname = "net",
.mode = 0555,
.child = dn_dir_table
},
{0}
static struct ctl_path dn_path[] = {
{ .procname = "net", .ctl_name = CTL_NET, },
{ .procname = "decnet", .ctl_name = NET_DECNET, },
{ }
};

void dn_register_sysctl(void)
{
dn_table_header = register_sysctl_table(dn_root_table);
dn_table_header = register_sysctl_paths(dn_path, dn_table);
}

void dn_unregister_sysctl(void)
Expand Down

0 comments on commit 6d1e2b4

Please sign in to comment.