netfilter: ebtables: use nf_register_hooks()

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Alexey Dobriyan 2008-07-26 17:47:53 -07:00 committed by David S. Miller
parent cdec7e50a4
commit e40f51a36a
2 changed files with 10 additions and 26 deletions

View file

@ -93,28 +93,20 @@ static struct nf_hook_ops ebt_ops_filter[] __read_mostly = {
static int __init ebtable_filter_init(void) static int __init ebtable_filter_init(void)
{ {
int i, j, ret; int ret;
ret = ebt_register_table(&frame_filter); ret = ebt_register_table(&frame_filter);
if (ret < 0) if (ret < 0)
return ret; return ret;
for (i = 0; i < ARRAY_SIZE(ebt_ops_filter); i++) ret = nf_register_hooks(ebt_ops_filter, ARRAY_SIZE(ebt_ops_filter));
if ((ret = nf_register_hook(&ebt_ops_filter[i])) < 0) if (ret < 0)
goto cleanup;
return ret;
cleanup:
for (j = 0; j < i; j++)
nf_unregister_hook(&ebt_ops_filter[j]);
ebt_unregister_table(&frame_filter); ebt_unregister_table(&frame_filter);
return ret; return ret;
} }
static void __exit ebtable_filter_fini(void) static void __exit ebtable_filter_fini(void)
{ {
int i; nf_unregister_hooks(ebt_ops_filter, ARRAY_SIZE(ebt_ops_filter));
for (i = 0; i < ARRAY_SIZE(ebt_ops_filter); i++)
nf_unregister_hook(&ebt_ops_filter[i]);
ebt_unregister_table(&frame_filter); ebt_unregister_table(&frame_filter);
} }

View file

@ -100,28 +100,20 @@ static struct nf_hook_ops ebt_ops_nat[] __read_mostly = {
static int __init ebtable_nat_init(void) static int __init ebtable_nat_init(void)
{ {
int i, ret, j; int ret;
ret = ebt_register_table(&frame_nat); ret = ebt_register_table(&frame_nat);
if (ret < 0) if (ret < 0)
return ret; return ret;
for (i = 0; i < ARRAY_SIZE(ebt_ops_nat); i++) ret = nf_register_hooks(ebt_ops_nat, ARRAY_SIZE(ebt_ops_nat));
if ((ret = nf_register_hook(&ebt_ops_nat[i])) < 0) if (ret < 0)
goto cleanup;
return ret;
cleanup:
for (j = 0; j < i; j++)
nf_unregister_hook(&ebt_ops_nat[j]);
ebt_unregister_table(&frame_nat); ebt_unregister_table(&frame_nat);
return ret; return ret;
} }
static void __exit ebtable_nat_fini(void) static void __exit ebtable_nat_fini(void)
{ {
int i; nf_unregister_hooks(ebt_ops_nat, ARRAY_SIZE(ebt_ops_nat));
for (i = 0; i < ARRAY_SIZE(ebt_ops_nat); i++)
nf_unregister_hook(&ebt_ops_nat[i]);
ebt_unregister_table(&frame_nat); ebt_unregister_table(&frame_nat);
} }