forked from Minki/linux
net: sched: tcindex, fw, flow: use tcf_block_q helper to get struct Qdisc
Use helper to get q pointer per block. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7fa9d974f3
commit
1abf272022
@ -491,8 +491,11 @@ static int flow_change(struct net *net, struct sk_buff *in_skb,
|
|||||||
perturb_period = nla_get_u32(tb[TCA_FLOW_PERTURB]) * HZ;
|
perturb_period = nla_get_u32(tb[TCA_FLOW_PERTURB]) * HZ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TC_H_MAJ(baseclass) == 0)
|
if (TC_H_MAJ(baseclass) == 0) {
|
||||||
baseclass = TC_H_MAKE(tp->q->handle, baseclass);
|
struct Qdisc *q = tcf_block_q(tp->chain->block);
|
||||||
|
|
||||||
|
baseclass = TC_H_MAKE(q->handle, baseclass);
|
||||||
|
}
|
||||||
if (TC_H_MIN(baseclass) == 0)
|
if (TC_H_MIN(baseclass) == 0)
|
||||||
baseclass = TC_H_MAKE(baseclass, 1);
|
baseclass = TC_H_MAKE(baseclass, 1);
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include <net/netlink.h>
|
#include <net/netlink.h>
|
||||||
#include <net/act_api.h>
|
#include <net/act_api.h>
|
||||||
#include <net/pkt_cls.h>
|
#include <net/pkt_cls.h>
|
||||||
|
#include <net/sch_generic.h>
|
||||||
|
|
||||||
#define HTSIZE 256
|
#define HTSIZE 256
|
||||||
|
|
||||||
@ -83,9 +84,11 @@ static int fw_classify(struct sk_buff *skb, const struct tcf_proto *tp,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
struct Qdisc *q = tcf_block_q(tp->chain->block);
|
||||||
|
|
||||||
/* Old method: classify the packet using its skb mark. */
|
/* Old method: classify the packet using its skb mark. */
|
||||||
if (id && (TC_H_MAJ(id) == 0 ||
|
if (id && (TC_H_MAJ(id) == 0 ||
|
||||||
!(TC_H_MAJ(id ^ tp->q->handle)))) {
|
!(TC_H_MAJ(id ^ q->handle)))) {
|
||||||
res->classid = id;
|
res->classid = id;
|
||||||
res->class = 0;
|
res->class = 0;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#include <net/act_api.h>
|
#include <net/act_api.h>
|
||||||
#include <net/netlink.h>
|
#include <net/netlink.h>
|
||||||
#include <net/pkt_cls.h>
|
#include <net/pkt_cls.h>
|
||||||
|
#include <net/sch_generic.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Passing parameters to the root seems to be done more awkwardly than really
|
* Passing parameters to the root seems to be done more awkwardly than really
|
||||||
@ -90,9 +91,11 @@ static int tcindex_classify(struct sk_buff *skb, const struct tcf_proto *tp,
|
|||||||
|
|
||||||
f = tcindex_lookup(p, key);
|
f = tcindex_lookup(p, key);
|
||||||
if (!f) {
|
if (!f) {
|
||||||
|
struct Qdisc *q = tcf_block_q(tp->chain->block);
|
||||||
|
|
||||||
if (!p->fall_through)
|
if (!p->fall_through)
|
||||||
return -1;
|
return -1;
|
||||||
res->classid = TC_H_MAKE(TC_H_MAJ(tp->q->handle), key);
|
res->classid = TC_H_MAKE(TC_H_MAJ(q->handle), key);
|
||||||
res->class = 0;
|
res->class = 0;
|
||||||
pr_debug("alg 0x%x\n", res->classid);
|
pr_debug("alg 0x%x\n", res->classid);
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user