net/mlx5: fix TC rule handle assignment
authorViacheslav Ovsiienko <viacheslavo@mellanox.com>
Tue, 22 Jan 2019 12:05:46 +0000 (12:05 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 24 Jan 2019 13:53:10 +0000 (14:53 +0100)
commit0deb984fd7e59746625e8a16b1b28b7b048971ee
treea2bb4a634d1515e0d34afc4d09164e3a05248154
parent15c80155874e6eef8e1023edab233d4bc6868ad9
net/mlx5: fix TC rule handle assignment

When tc rule is created via Netlink message application
can provide the unique rule value which can be accepted
by the kernel. Than rule is managed with this assigned
handle. It was found that kernel can reject the proposed
handle and assign its own handle value, the rule control
is lost, because application uses its initially prorosed
rule handle and knows nothing about handle been repleced.

The kernel can assign handle automatically, the application
can get the assigned handle value by specifying NLM_F_ECHO
flag in Netlink message when rule is being created. The
kernel sends back the full descriptor of rule and handle
can be retrieved from and stored by application for further
rule management.

Fixes: 57123c00c1b8 ("net/mlx5: add Linux TC flower driver for E-Switch flow")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
drivers/net/mlx5/mlx5_flow_tcf.c