Commit d0a84e1f authored by Vishal Kulkarni's avatar Vishal Kulkarni Committed by David S. Miller

ethtool: allow flow-type ether without IP protocol field

Set IP protocol mask only when IP protocol field is set.
This will allow flow-type ether with vlan rule which don't have
protocol field to apply.

ethtool -N ens5f4 flow-type ether proto 0x8100 vlan 0x600\
m 0x1FFF action 3 loc 16
Signed-off-by: default avatarVishal Kulkarni <vishal@chelsio.com>
Reviewed-by: default avatarMichal Kubecek <mkubecek@suse.cz>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f8c931f3
...@@ -3025,13 +3025,14 @@ ethtool_rx_flow_rule_create(const struct ethtool_rx_flow_spec_input *input) ...@@ -3025,13 +3025,14 @@ ethtool_rx_flow_rule_create(const struct ethtool_rx_flow_spec_input *input)
case TCP_V4_FLOW: case TCP_V4_FLOW:
case TCP_V6_FLOW: case TCP_V6_FLOW:
match->key.basic.ip_proto = IPPROTO_TCP; match->key.basic.ip_proto = IPPROTO_TCP;
match->mask.basic.ip_proto = 0xff;
break; break;
case UDP_V4_FLOW: case UDP_V4_FLOW:
case UDP_V6_FLOW: case UDP_V6_FLOW:
match->key.basic.ip_proto = IPPROTO_UDP; match->key.basic.ip_proto = IPPROTO_UDP;
match->mask.basic.ip_proto = 0xff;
break; break;
} }
match->mask.basic.ip_proto = 0xff;
match->dissector.used_keys |= BIT(FLOW_DISSECTOR_KEY_BASIC); match->dissector.used_keys |= BIT(FLOW_DISSECTOR_KEY_BASIC);
match->dissector.offset[FLOW_DISSECTOR_KEY_BASIC] = match->dissector.offset[FLOW_DISSECTOR_KEY_BASIC] =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment