#
15c80155 |
| 22-Jan-2019 |
Dekel Peled <dekelp@mellanox.com> |
net/mlx5: block RSS action without Rx queue
This patch modifies function mlx5_flow_validate_action_rss(), to prevent the setting of rule with rss action, but without specifying any queues. For examp
net/mlx5: block RSS action without Rx queue
This patch modifies function mlx5_flow_validate_action_rss(), to prevent the setting of rule with rss action, but without specifying any queues. For example: flow create 0 ingress pattern end actions rss queues end / end
Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
ff160dbc |
| 22-Jan-2019 |
Dekel Peled <dekelp@mellanox.com> |
net/mlx5: allow port start with zero Rx queue
During port start, function mlx5_ctrl_flow_vlan() is called to create default ingress flow rules. For specific use-cases, a port can be used for Tx only
net/mlx5: allow port start with zero Rx queue
During port start, function mlx5_ctrl_flow_vlan() is called to create default ingress flow rules. For specific use-cases, a port can be used for Tx only. In such case, number of Rx queues can be set to 0 to save resources, hence the default ingress rules are irrelevant.
This patch modifies function mlx5_ctrl_flow_vlan() to avoid the creation of the default ingress rules when number of Rx queues is 0. It also includes update of validation functions for relevant actions, mlx5_flow_validate_action_queue() and mlx5_flow_validate_action_rss(), to prevent creation of flow rules with these actions when number of Rx queues is 0.
Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
55c61fa7 |
| 13-Jan-2019 |
Viacheslav Ovsiienko <viacheslavo@mellanox.com> |
net/mlx5: validate TOS and TTL on E-Switch
This patch adds the type-of-service and time-to-live IP header fields validation on E-Switch, both for match pattern and VXLAN encapsulation action IP head
net/mlx5: validate TOS and TTL on E-Switch
This patch adds the type-of-service and time-to-live IP header fields validation on E-Switch, both for match pattern and VXLAN encapsulation action IP header itesm. The E-Switch flows will use the common mlx5_flow_validate_item_ipv4/6 routines with added extra parameter, specifying the supported fields mask.
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
8dd569ab |
| 28-Nov-2018 |
Dekel Peled <dekelp@mellanox.com> |
net/mlx5: fix validation of Rx queue number
Function mlx5_ctrl_flow_vlan() is used to set the rss rule in MLX5 PMD, using priv->reta_idx_n as number of Rx queues. This number is passed to mlx5_flow_
net/mlx5: fix validation of Rx queue number
Function mlx5_ctrl_flow_vlan() is used to set the rss rule in MLX5 PMD, using priv->reta_idx_n as number of Rx queues. This number is passed to mlx5_flow_validate_action_rss(), which attempts to access the Rx queues at priv->rxqs. In case priv->rxqs_n is 0, priv->rxqs is empty, and mlx5_flow_validate_action_rss() will crash with segmentation fault.
priv->reta_idx_n can never be 0, even if priv->rxqs_n is set to 0. But when priv->rxqs_n is set to 0, setting the rss rule is invalid.
This patch updates mlx5_ctrl_flow_vlan(), if priv->rxqs_n is 0 the function will fail with EINVAL errno.
Fixes: 8086cf08b2f0 ("net/mlx5: handle RSS hash configuration in RSS flow") Cc: stable@dpdk.org
Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
c5e508f0 |
| 15-Nov-2018 |
Dekel Peled <dekelp@mellanox.com> |
net/mlx5: fix packet type for MPLS in UDP
Change the relevant value in tunnels_info[] to match tunnel type.
Fixes: a4a5cd21d20a ("net/mlx5: add flow MPLS item") Cc: stable@dpdk.org
Signed-off-by:
net/mlx5: fix packet type for MPLS in UDP
Change the relevant value in tunnels_info[] to match tunnel type.
Fixes: a4a5cd21d20a ("net/mlx5: add flow MPLS item") Cc: stable@dpdk.org
Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
38f7efaa |
| 15-Nov-2018 |
Dekel Peled <dekelp@mellanox.com> |
net/mlx5: fix MPLS item validation
Update the mlx5_flow_validate_item_mpls() function to allow MPLS over IP, UDP, and GRE. Modify the flow_dv_validate() function with the new logic introduced in pre
net/mlx5: fix MPLS item validation
Update the mlx5_flow_validate_item_mpls() function to allow MPLS over IP, UDP, and GRE. Modify the flow_dv_validate() function with the new logic introduced in previous patch of this series: set new variable last_item after each validation, update item_flags after each item iteration. The new variable last_item is sent to mlx5_flow_validate_item_mpls() and used to validate the MPLS item. Same change implemented in flow_verbs_validate().
Update the mlx5_flow_validate_item_mpls() function to verify that device configuration has mpls_en set to 1. This code was added earlier this year, but unintentionaly removed in recent versions.
Fixes: 84c406e74524 ("net/mlx5: add flow translate function")
Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
57e1073b |
| 15-Nov-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: fix flow destruction
As flow_drv_destroy() frees dev_flow, flow_rxq_flags_trim() must be called ahead.
Fixes: 84c406e74524 ("net/mlx5: add flow translate function")
Signed-off-by: Yongse
net/mlx5: fix flow destruction
As flow_drv_destroy() frees dev_flow, flow_rxq_flags_trim() must be called ahead.
Fixes: 84c406e74524 ("net/mlx5: add flow translate function")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
325384fc |
| 11-Nov-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: remove GRE inner IPv6 matching limitation
Such limitation seems not to exist on: - MLNX_OFED_linux-4.5-0.3.0.0 (Beta) - MLNX_OFED_LINUX-4.4-2.0.7.0 (GA) - upstream kernel 4.19.0-rc7
Si
net/mlx5: remove GRE inner IPv6 matching limitation
Such limitation seems not to exist on: - MLNX_OFED_linux-4.5-0.3.0.0 (Beta) - MLNX_OFED_LINUX-4.4-2.0.7.0 (GA) - upstream kernel 4.19.0-rc7
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
99813c2a |
| 08-Nov-2018 |
Dekel Peled <dekelp@mellanox.com> |
net/mlx5: fix flow director add and delete
Fix the flow_fdir_cmp() function, used by flow_fdir_filter_lookup(). This function is used by flow_fdir_filter_add() to check if same rule exists, and by f
net/mlx5: fix flow director add and delete
Fix the flow_fdir_cmp() function, used by flow_fdir_filter_lookup(). This function is used by flow_fdir_filter_add() to check if same rule exists, and by flow_fdir_filter_delete() to find flow rule to delete.
The function compared actions conf pointers, changed to compare actions type only.
Fixes: 2720f833d461 ("net/mlx5: add missing flow director delete") Cc: stable@dpdk.org
Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
3193c249 |
| 06-Nov-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: fix L4 protocol validation
- Currently, no device supports partial mask for protocol in IP header. - As there could be multiple IP items, next_protocol variable in flow validation has to
net/mlx5: fix L4 protocol validation
- Currently, no device supports partial mask for protocol in IP header. - As there could be multiple IP items, next_protocol variable in flow validation has to be reset for inner layer. Otherwise, inner TCP/UDP will see protocol number of outer IP header. - Remove redundant protocol checking for MPLS, which is done in mlx5_flow_validate_item_mpls().
Fixes: 3d69434113d1 ("net/mlx5: add Direct Verbs validation function") Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
c1cfb132 |
| 05-Nov-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: remove flags setting from flow preparation
Even though flow_drv_prepare() takes item_flags and action_flags to be filled in, those are not used and will be overwritten by parsing of flow_d
net/mlx5: remove flags setting from flow preparation
Even though flow_drv_prepare() takes item_flags and action_flags to be filled in, those are not used and will be overwritten by parsing of flow_drv_translate(). There's no reason to keep the flags and fill it. Appropriate notes are added to the documentation of flow_drv_prepare() and flow_drv_translate().
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
show more ...
|
#
f1b85a27 |
| 04-Nov-2018 |
Ophir Munk <ophirmu@mellanox.com> |
net/mlx5: support default RSS key as null
Applications which add RSS rules must supply an RSS key and length. If an application is only interested in default RSS operation it should not care about t
net/mlx5: support default RSS key as null
Applications which add RSS rules must supply an RSS key and length. If an application is only interested in default RSS operation it should not care about the exact RSS key. By setting the key to NULL - the PMD will use the default RSS key. In addition if the application does not care about the RSS type it can set it to 0 and the PMD will use the default type (ETH_RSS_IP).
Signed-off-by: Ophir Munk <ophirmu@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
3bcc6d6a |
| 30-Oct-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: fix validation of MLPS-in-GRE
Multiple tunnel isn't allowed but MPLS over GRE should be accepted.
Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
Signed-off
net/mlx5: fix validation of MLPS-in-GRE
Multiple tunnel isn't allowed but MPLS over GRE should be accepted.
Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
2720f833 |
| 30-Oct-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: add missing flow director delete
Deleting FDIR flow is not implemented by mistake. Also the name of static functions are properly renamed.
Fixes: b42c000e37a8 ("net/mlx5: remove flow supp
net/mlx5: add missing flow director delete
Deleting FDIR flow is not implemented by mistake. Also the name of static functions are properly renamed.
Fixes: b42c000e37a8 ("net/mlx5: remove flow support") Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
3b557cac |
| 25-Oct-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: fix detection and error for multiple item layers
1. The check for the Eth item was wrong. causing an error with flow rules like:
flow create 0 ingress pattern eth / vlan vid is 13 / ipv4
net/mlx5: fix detection and error for multiple item layers
1. The check for the Eth item was wrong. causing an error with flow rules like:
flow create 0 ingress pattern eth / vlan vid is 13 / ipv4 / gre / eth / vlan vid is 15 / end actions drop / end
2. align all error messages.
3. align multiple item layers check.
Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
ed4c5247 |
| 25-Oct-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: fix bit width of flow items
Apply the changes from commit c744f6b1b969 ("net/mlx5: fix bit width of item and action flags") in some places that were overlooked.
Fixes: 0ddd11437a9a ("net/
net/mlx5: fix bit width of flow items
Apply the changes from commit c744f6b1b969 ("net/mlx5: fix bit width of item and action flags") in some places that were overlooked.
Fixes: 0ddd11437a9a ("net/mlx5: fix bit width of item and action flags") Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
0ddd1143 |
| 24-Oct-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: fix bit width of item and action flags
Most of the code uses uint64_t for MLX5_FLOW_LAYER_* and MLX5_FLOW_ACTION_*, but there're some code using uint32_t.
Fixes: 2ed2fe5f0a9c ("net/mlx5:
net/mlx5: fix bit width of item and action flags
Most of the code uses uint64_t for MLX5_FLOW_LAYER_* and MLX5_FLOW_ACTION_*, but there're some code using uint32_t.
Fixes: 2ed2fe5f0a9c ("net/mlx5: rewrite IP address UDP/TCP port by E-Switch") Fixes: 57123c00c1b8 ("net/mlx5: add Linux TC flower driver for E-Switch flow") Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items") Fixes: 3d69434113d1 ("net/mlx5: add Direct Verbs validation function") Fixes: 84c406e74524 ("net/mlx5: add flow translate function") Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
24663641 |
| 24-Oct-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: fix flow tunnel handling
Both rte_flow and mlx5_flow redundantly have item flags. And it is not properly set in the code. This causes wrong tunnel flag handling. A rte_flow can have multip
net/mlx5: fix flow tunnel handling
Both rte_flow and mlx5_flow redundantly have item flags. And it is not properly set in the code. This causes wrong tunnel flag handling. A rte_flow can have multiple expanded device flows if the flow has an RSS action. Therefore, mlx5_flow should have the layers field.
Fixes: c4d9b9f7f382 ("net/mlx5: add Direct Verbs final functions") Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items") Fixes: 3d69434113d1 ("net/mlx5: add Direct Verbs validation function") Fixes: 84c406e74524 ("net/mlx5: add flow translate function") Fixes: 4e05a229c5da ("net/mlx5: add flow prepare function") Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
98521a39 |
| 24-Oct-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: rename static functions
In mlx5_flow*.c, static functions have names starting from 'flow_' while shared ones start from "mlx5_flow_'.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acke
net/mlx5: rename static functions
In mlx5_flow*.c, static functions have names starting from 'flow_' while shared ones start from "mlx5_flow_'.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
58b1312e |
| 23-Oct-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: add warning message for Direct Verbs flow
In case that the library doesn't support DV flow, if enabled by 'dv_flow_en=1', print out a warning message and disable it.
Fixes: 51e72d386c99 (
net/mlx5: add warning message for Direct Verbs flow
In case that the library doesn't support DV flow, if enabled by 'dv_flow_en=1', print out a warning message and disable it.
Fixes: 51e72d386c99 ("net/mlx5: add runtime parameter to enable Direct Verbs")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
show more ...
|
#
2dd8b721 |
| 23-Oct-2018 |
Viacheslav Ovsiienko <viacheslavo@mellanox.com> |
net/mlx5: simplify flow counters support check
The redundant check of Flow counters support in runtime is removed. The flag flow_counter_en is eliminated from the code. The Verbs create counter func
net/mlx5: simplify flow counters support check
The redundant check of Flow counters support in runtime is removed. The flag flow_counter_en is eliminated from the code. The Verbs create counter function just returns an error if no counter support presented in the system.
If there is no any of Flow counters configuration macro defined the log message is emited, indicating the missing counter support.
mlx5_flow_validate_action_count() fuctnion is also updated due to flow_counter_en flag removal.
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
show more ...
|
#
6bd7fbd0 |
| 23-Oct-2018 |
Dekel Peled <dekelp@mellanox.com> |
net/mlx5: support metadata as flow rule criteria
As described in series starting at [1], it adds option to set metadata value as match pattern when creating a new flow rule.
This patch adds metadat
net/mlx5: support metadata as flow rule criteria
As described in series starting at [1], it adds option to set metadata value as match pattern when creating a new flow rule.
This patch adds metadata support in mlx5 driver, in two parts: - Add the validation and setting of metadata value in matcher, when creating a new flow rule. - Add the passing of metadata value from mbuf to wqe when indicated by ol_flag, in different burst functions.
[1] "ethdev: support metadata as flow rule criteria" http://mails.dpdk.org/archives/dev/2018-September/113269.html
Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
684dafe7 |
| 18-Oct-2018 |
Moti Haimovsky <motih@mellanox.com> |
net/mlx5: add flow query abstraction interface
Flow engine now supports multiple driver paths with each having its own flow query implantation routine. This patch adds an abstraction to the flow que
net/mlx5: add flow query abstraction interface
Flow engine now supports multiple driver paths with each having its own flow query implantation routine. This patch adds an abstraction to the flow query routine in accordance to commit 0c76d1c9a18d ("net/mlx5: add abstraction for multiple flow drivers") done by Yongseok Koh.
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
show more ...
|
#
92378c2b |
| 11-Oct-2018 |
Moti Haimovsky <motih@mellanox.com> |
net/mlx5: support e-switch TCP-flags flow filter
This patch adds support for offloading flow rules with TCP-flags filter to mlx5 eswitch Hardwrae.
With mlx5 it is possible to offload a limited set
net/mlx5: support e-switch TCP-flags flow filter
This patch adds support for offloading flow rules with TCP-flags filter to mlx5 eswitch Hardwrae.
With mlx5 it is possible to offload a limited set of flow rules to the mlxsw (or e-switch) using the DPDK flow commands using the "transfer" attribute. This set of flow rules also supports filtering according to the values found in the TCP flags. This patch implements this offload capability in the mlx5 PMD under transfer attribute.
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
show more ...
|
#
3e9fa079 |
| 07-Oct-2018 |
Dekel Peled <dekelp@mellanox.com> |
net/mlx5: allow flow rule with attribute egress
This patch complements [1], adding to MLX5 PMD the option to set flow rule for egress traffic.
[1] "net/mlx5: support metadata as flow rule criteria"
net/mlx5: allow flow rule with attribute egress
This patch complements [1], adding to MLX5 PMD the option to set flow rule for egress traffic.
[1] "net/mlx5: support metadata as flow rule criteria" http://mails.dpdk.org/archives/dev/2018-September/113275.html
Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|