mlx5-fixes-2019-07-15

-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEGhZs6bAKwk/OTgTpSD+KveBX+j4FAl0s3DQACgkQSD+KveBX
 +j46bQgAnwKS24SFF9EYewh2Z9lmZlglapo9H0zDr5psB0KZICYVYk66oCEn+2nz
 3E8X7bzFIkTx3bfU9mtA7tc1EPyQD7OA1Mfke1ZiJ1d+OlYN9/NV+xQhs9UN9Fhd
 rEplrmvkAUzimygGI8CQWGvVYKo7S3C5ZU3tVdsYaa1TOdNHcZ5UmeF4OcGz8ojF
 /G3GzPq8PWG3C+EFy0Uc1JG0KqGbkr/wpXwbjt+2+rgimL7FVmh+flwEM94N9zFF
 IreX3Wy4fUpIZSpAqSSi4xZTeQWanEEltzKYg36TSqZ79ISkgcdSQ3YOfoK+9qNG
 jDfEftQHggxb4U/ZNSHEUagu4KygGA==
 =76ws
 -----END PGP SIGNATURE-----

Merge tag 'mlx5-fixes-2019-07-15' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux

Saeed Mameed says:

====================
Mellanox, mlx5 fixes 2019-07-15

This pull request provides mlx5 TC flower and tunnel fixes for kernel
5.2 from Eli and Vlad.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2019-07-15 17:18:15 -07:00
commit 1d43d5e469
1 changed files with 7 additions and 6 deletions

View File

@ -1499,7 +1499,8 @@ static int __parse_cls_flower(struct mlx5e_priv *priv,
*match_level = MLX5_MATCH_NONE;
if (dissector->used_keys &
~(BIT(FLOW_DISSECTOR_KEY_CONTROL) |
~(BIT(FLOW_DISSECTOR_KEY_META) |
BIT(FLOW_DISSECTOR_KEY_CONTROL) |
BIT(FLOW_DISSECTOR_KEY_BASIC) |
BIT(FLOW_DISSECTOR_KEY_ETH_ADDRS) |
BIT(FLOW_DISSECTOR_KEY_VLAN) |
@ -1522,11 +1523,7 @@ static int __parse_cls_flower(struct mlx5e_priv *priv,
return -EOPNOTSUPP;
}
if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS) ||
flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS) ||
flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID) ||
flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_PORTS) ||
flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_OPTS)) {
if (mlx5e_get_tc_tun(filter_dev)) {
if (parse_tunnel_attr(priv, spec, f, filter_dev, tunnel_match_level))
return -EOPNOTSUPP;
@ -2647,6 +2644,10 @@ static int mlx5e_attach_encap(struct mlx5e_priv *priv,
family = ip_tunnel_info_af(tun_info);
key.ip_tun_key = &tun_info->key;
key.tc_tunnel = mlx5e_get_tc_tun(mirred_dev);
if (!key.tc_tunnel) {
NL_SET_ERR_MSG_MOD(extack, "Unsupported tunnel");
return -EOPNOTSUPP;
}
hash_key = hash_encap_info(&key);