f_flower: don't set TCA_FLOWER_KEY_ETH_TYPE for "protocol all"
v2 - update to address changes in00697ca19a. When using the tc flower filter, rules marked with "protocol all" do not actually match all packets. This is due to a bug in f_flower.c that passes in ETH_P_ALL in the TCA_FLOWER_KEY_ETH_TYPE attribute when adding a rule. Fix this by omitting TCA_FLOWER_KEY_ETH_TYPE if the protocol is set to ETH_P_ALL. Fixes:488b41d020("tc: flower no need to specify the ethertype") Cc: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: Benjamin LaHaise <benjamin.lahaise@netronome.com> Signed-off-by: Benjamin LaHaise <bcrl@kvack.org> Reviewed-by: Roi Dayan <roid@mellanox.com>
This commit is contained in:
parent
11f2c75315
commit
4f7d406f5d
|
|
@ -529,9 +529,11 @@ parse_done:
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (eth_type != htons(ETH_P_ALL)) {
|
||||
ret = addattr16(n, MAX_MSG, TCA_FLOWER_KEY_ETH_TYPE, eth_type);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
tail->rta_len = (((void *)n)+n->nlmsg_len) - (void *)tail;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue