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;
|
||||
}
|
||||
|
||||
if (TC_H_MAJ(baseclass) == 0)
|
||||
baseclass = TC_H_MAKE(tp->q->handle, baseclass);
|
||||
if (TC_H_MAJ(baseclass) == 0) {
|
||||
struct Qdisc *q = tcf_block_q(tp->chain->block);
|
||||
|
||||
baseclass = TC_H_MAKE(q->handle, baseclass);
|
||||
}
|
||||
if (TC_H_MIN(baseclass) == 0)
|
||||
baseclass = TC_H_MAKE(baseclass, 1);
|
||||
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include <net/netlink.h>
|
||||
#include <net/act_api.h>
|
||||
#include <net/pkt_cls.h>
|
||||
#include <net/sch_generic.h>
|
||||
|
||||
#define HTSIZE 256
|
||||
|
||||
@ -83,9 +84,11 @@ static int fw_classify(struct sk_buff *skb, const struct tcf_proto *tp,
|
||||
}
|
||||
}
|
||||
} else {
|
||||
struct Qdisc *q = tcf_block_q(tp->chain->block);
|
||||
|
||||
/* Old method: classify the packet using its skb mark. */
|
||||
if (id && (TC_H_MAJ(id) == 0 ||
|
||||
!(TC_H_MAJ(id ^ tp->q->handle)))) {
|
||||
!(TC_H_MAJ(id ^ q->handle)))) {
|
||||
res->classid = id;
|
||||
res->class = 0;
|
||||
return 0;
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include <net/act_api.h>
|
||||
#include <net/netlink.h>
|
||||
#include <net/pkt_cls.h>
|
||||
#include <net/sch_generic.h>
|
||||
|
||||
/*
|
||||
* 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);
|
||||
if (!f) {
|
||||
struct Qdisc *q = tcf_block_q(tp->chain->block);
|
||||
|
||||
if (!p->fall_through)
|
||||
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;
|
||||
pr_debug("alg 0x%x\n", res->classid);
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user