flow_dissector: Add flags argument to skb_flow_dissector functions
The flags argument will allow control of the dissection process (for instance whether to parse beyond L3). Signed-off-by: Tom Herbert <tom@herbertland.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
a6e544b0a8
commit
cd79a2382a
@@ -301,7 +301,7 @@ static int flow_classify(struct sk_buff *skb, const struct tcf_proto *tp,
|
||||
|
||||
keymask = f->keymask;
|
||||
if (keymask & FLOW_KEYS_NEEDED)
|
||||
skb_flow_dissect_flow_keys(skb, &flow_keys);
|
||||
skb_flow_dissect_flow_keys(skb, &flow_keys, 0);
|
||||
|
||||
for (n = 0; n < f->nkeys; n++) {
|
||||
key = ffs(keymask) - 1;
|
||||
|
||||
@@ -129,7 +129,7 @@ static int fl_classify(struct sk_buff *skb, const struct tcf_proto *tp,
|
||||
* so do it rather here.
|
||||
*/
|
||||
skb_key.basic.n_proto = skb->protocol;
|
||||
skb_flow_dissect(skb, &head->dissector, &skb_key);
|
||||
skb_flow_dissect(skb, &head->dissector, &skb_key, 0);
|
||||
|
||||
fl_set_masked_key(&skb_mkey, &skb_key, &head->mask);
|
||||
|
||||
|
||||
@@ -170,13 +170,13 @@ static bool choke_match_flow(struct sk_buff *skb1,
|
||||
|
||||
if (!choke_skb_cb(skb1)->keys_valid) {
|
||||
choke_skb_cb(skb1)->keys_valid = 1;
|
||||
skb_flow_dissect_flow_keys(skb1, &temp);
|
||||
skb_flow_dissect_flow_keys(skb1, &temp, 0);
|
||||
make_flow_keys_digest(&choke_skb_cb(skb1)->keys, &temp);
|
||||
}
|
||||
|
||||
if (!choke_skb_cb(skb2)->keys_valid) {
|
||||
choke_skb_cb(skb2)->keys_valid = 1;
|
||||
skb_flow_dissect_flow_keys(skb2, &temp);
|
||||
skb_flow_dissect_flow_keys(skb2, &temp, 0);
|
||||
make_flow_keys_digest(&choke_skb_cb(skb2)->keys, &temp);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user