diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2008-07-26 20:47:53 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-26 20:47:53 -0400 |
commit | e40f51a36a6ca718e829c0933ab1e79333ac932e (patch) | |
tree | 94df5c10b946aa08dd741e2e1d0a43e0583aaa32 | |
parent | cdec7e50a4896c5197d5575d9ca635eea6825149 (diff) |
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>
-rw-r--r-- | net/bridge/netfilter/ebtable_filter.c | 18 | ||||
-rw-r--r-- | net/bridge/netfilter/ebtable_nat.c | 18 |
2 files changed, 10 insertions, 26 deletions
diff --git a/net/bridge/netfilter/ebtable_filter.c b/net/bridge/netfilter/ebtable_filter.c index 690bc3ab186c..1a58af51a2e2 100644 --- a/net/bridge/netfilter/ebtable_filter.c +++ b/net/bridge/netfilter/ebtable_filter.c | |||
@@ -93,28 +93,20 @@ static struct nf_hook_ops ebt_ops_filter[] __read_mostly = { | |||
93 | 93 | ||
94 | static int __init ebtable_filter_init(void) | 94 | static int __init ebtable_filter_init(void) |
95 | { | 95 | { |
96 | int i, j, ret; | 96 | int ret; |
97 | 97 | ||
98 | ret = ebt_register_table(&frame_filter); | 98 | ret = ebt_register_table(&frame_filter); |
99 | if (ret < 0) | 99 | if (ret < 0) |
100 | return ret; | 100 | return ret; |
101 | for (i = 0; i < ARRAY_SIZE(ebt_ops_filter); i++) | 101 | ret = nf_register_hooks(ebt_ops_filter, ARRAY_SIZE(ebt_ops_filter)); |
102 | if ((ret = nf_register_hook(&ebt_ops_filter[i])) < 0) | 102 | if (ret < 0) |
103 | goto cleanup; | 103 | ebt_unregister_table(&frame_filter); |
104 | return ret; | ||
105 | cleanup: | ||
106 | for (j = 0; j < i; j++) | ||
107 | nf_unregister_hook(&ebt_ops_filter[j]); | ||
108 | ebt_unregister_table(&frame_filter); | ||
109 | return ret; | 104 | return ret; |
110 | } | 105 | } |
111 | 106 | ||
112 | static void __exit ebtable_filter_fini(void) | 107 | static void __exit ebtable_filter_fini(void) |
113 | { | 108 | { |
114 | int i; | 109 | nf_unregister_hooks(ebt_ops_filter, ARRAY_SIZE(ebt_ops_filter)); |
115 | |||
116 | for (i = 0; i < ARRAY_SIZE(ebt_ops_filter); i++) | ||
117 | nf_unregister_hook(&ebt_ops_filter[i]); | ||
118 | ebt_unregister_table(&frame_filter); | 110 | ebt_unregister_table(&frame_filter); |
119 | } | 111 | } |
120 | 112 | ||
diff --git a/net/bridge/netfilter/ebtable_nat.c b/net/bridge/netfilter/ebtable_nat.c index 5b495fe2d0b6..f60c1e78e575 100644 --- a/net/bridge/netfilter/ebtable_nat.c +++ b/net/bridge/netfilter/ebtable_nat.c | |||
@@ -100,28 +100,20 @@ static struct nf_hook_ops ebt_ops_nat[] __read_mostly = { | |||
100 | 100 | ||
101 | static int __init ebtable_nat_init(void) | 101 | static int __init ebtable_nat_init(void) |
102 | { | 102 | { |
103 | int i, ret, j; | 103 | int ret; |
104 | 104 | ||
105 | ret = ebt_register_table(&frame_nat); | 105 | ret = ebt_register_table(&frame_nat); |
106 | if (ret < 0) | 106 | if (ret < 0) |
107 | return ret; | 107 | return ret; |
108 | for (i = 0; i < ARRAY_SIZE(ebt_ops_nat); i++) | 108 | ret = nf_register_hooks(ebt_ops_nat, ARRAY_SIZE(ebt_ops_nat)); |
109 | if ((ret = nf_register_hook(&ebt_ops_nat[i])) < 0) | 109 | if (ret < 0) |
110 | goto cleanup; | 110 | ebt_unregister_table(&frame_nat); |
111 | return ret; | ||
112 | cleanup: | ||
113 | for (j = 0; j < i; j++) | ||
114 | nf_unregister_hook(&ebt_ops_nat[j]); | ||
115 | ebt_unregister_table(&frame_nat); | ||
116 | return ret; | 111 | return ret; |
117 | } | 112 | } |
118 | 113 | ||
119 | static void __exit ebtable_nat_fini(void) | 114 | static void __exit ebtable_nat_fini(void) |
120 | { | 115 | { |
121 | int i; | 116 | nf_unregister_hooks(ebt_ops_nat, ARRAY_SIZE(ebt_ops_nat)); |
122 | |||
123 | for (i = 0; i < ARRAY_SIZE(ebt_ops_nat); i++) | ||
124 | nf_unregister_hook(&ebt_ops_nat[i]); | ||
125 | ebt_unregister_table(&frame_nat); | 117 | ebt_unregister_table(&frame_nat); |
126 | } | 118 | } |
127 | 119 | ||