diff options
author | WANG Cong <xiyou.wangcong@gmail.com> | 2014-01-15 15:38:43 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-16 17:24:11 -0800 |
commit | 6c80563c2fdd9b32e37e2570e5b1ba9befd591c0 (patch) | |
tree | 33c4325bcc9d5795e3495f44ac445811239f29a7 | |
parent | 7dff08bbda1610697a350eeb7dcdc6177d229407 (diff) | |
download | op-kernel-dev-6c80563c2fdd9b32e37e2570e5b1ba9befd591c0.zip op-kernel-dev-6c80563c2fdd9b32e37e2570e5b1ba9befd591c0.tar.gz |
net_sched: act: pick a different type for act_xt
In tcf_register_action() we check either ->type or ->kind to see if
there is an existing action registered, but ipt action registers two
actions with same type but different kinds. They should have different
types too.
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/uapi/linux/tc_act/tc_ipt.h | 1 | ||||
-rw-r--r-- | net/sched/act_ipt.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/uapi/linux/tc_act/tc_ipt.h b/include/uapi/linux/tc_act/tc_ipt.h index a233556..130aaad 100644 --- a/include/uapi/linux/tc_act/tc_ipt.h +++ b/include/uapi/linux/tc_act/tc_ipt.h @@ -4,6 +4,7 @@ #include <linux/pkt_cls.h> #define TCA_ACT_IPT 6 +#define TCA_ACT_XT 10 enum { TCA_IPT_UNSPEC, diff --git a/net/sched/act_ipt.c b/net/sched/act_ipt.c index 484bd19..bc9f498 100644 --- a/net/sched/act_ipt.c +++ b/net/sched/act_ipt.c @@ -298,7 +298,7 @@ static struct tc_action_ops act_ipt_ops = { static struct tc_action_ops act_xt_ops = { .kind = "xt", .hinfo = &ipt_hash_info, - .type = TCA_ACT_IPT, + .type = TCA_ACT_XT, .capab = TCA_CAP_NONE, .owner = THIS_MODULE, .act = tcf_ipt, |