mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 23:24:11 +08:00
net_sched: act_ipt forward compat with xtables
Deal with changes in newer xtables while maintaining backward compatibility. Thanks to Jan Engelhardt for suggestions. Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fe86d71416
commit
0dcffd0964
@ -8,7 +8,7 @@
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* Copyright: Jamal Hadi Salim (2002-4)
|
||||
* Copyright: Jamal Hadi Salim (2002-13)
|
||||
*/
|
||||
|
||||
#include <linux/types.h>
|
||||
@ -303,17 +303,44 @@ static struct tc_action_ops act_ipt_ops = {
|
||||
.walk = tcf_generic_walker
|
||||
};
|
||||
|
||||
MODULE_AUTHOR("Jamal Hadi Salim(2002-4)");
|
||||
static struct tc_action_ops act_xt_ops = {
|
||||
.kind = "xt",
|
||||
.hinfo = &ipt_hash_info,
|
||||
.type = TCA_ACT_IPT,
|
||||
.capab = TCA_CAP_NONE,
|
||||
.owner = THIS_MODULE,
|
||||
.act = tcf_ipt,
|
||||
.dump = tcf_ipt_dump,
|
||||
.cleanup = tcf_ipt_cleanup,
|
||||
.lookup = tcf_hash_search,
|
||||
.init = tcf_ipt_init,
|
||||
.walk = tcf_generic_walker
|
||||
};
|
||||
|
||||
MODULE_AUTHOR("Jamal Hadi Salim(2002-13)");
|
||||
MODULE_DESCRIPTION("Iptables target actions");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_ALIAS("act_xt");
|
||||
|
||||
static int __init ipt_init_module(void)
|
||||
{
|
||||
return tcf_register_action(&act_ipt_ops);
|
||||
int ret1, ret2;
|
||||
ret1 = tcf_register_action(&act_xt_ops);
|
||||
if (ret1 < 0)
|
||||
printk("Failed to load xt action\n");
|
||||
ret2 = tcf_register_action(&act_ipt_ops);
|
||||
if (ret2 < 0)
|
||||
printk("Failed to load ipt action\n");
|
||||
|
||||
if (ret1 < 0 && ret2 < 0)
|
||||
return ret1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __exit ipt_cleanup_module(void)
|
||||
{
|
||||
tcf_unregister_action(&act_xt_ops);
|
||||
tcf_unregister_action(&act_ipt_ops);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user