From: Kevin Traynor <ktraynor@redhat.com>
To: dev@dpdk.org, rasland@mellanox.com
Cc: Kevin Traynor <ktraynor@redhat.com>
Subject: [dpdk-dev] [PATCH] net/mlx5: fix gcc 10 enum-conversion warning
Date: Fri, 20 Mar 2020 16:47:42 +0000 [thread overview]
Message-ID: <20200320164742.14721-1-ktraynor@redhat.com> (raw)
gcc 10.0.1 reports warnings when using mlx5_rte_flow enums
with rte_flow type enums. For example:
../drivers/net/mlx5/mlx5_flow.c: In function ‘flow_hairpin_split’:
../drivers/net/mlx5/mlx5_flow.c:3406:19:
warning: implicit conversion from ‘enum mlx5_rte_flow_action_type’ to ‘enum rte_flow_action_type’ [-Wenum-conversion]
3406 | tag_action->type = MLX5_RTE_FLOW_ACTION_TYPE_TAG;
| ^
../drivers/net/mlx5/mlx5_flow.c:3419:13:
warning: implicit conversion from ‘enum mlx5_rte_flow_item_type’ to ‘enum rte_flow_item_type’ [-Wenum-conversion]
3419 | item->type = MLX5_RTE_FLOW_ITEM_TYPE_TAG;
| ^
Fix by casting to the correct enum.
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
---
drivers/net/mlx5/mlx5_flow.c | 46 ++++++++++++++++++++++++------------
1 file changed, 31 insertions(+), 15 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 41072da6d..c1b87a3ed 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -3002,5 +3002,6 @@ flow_mreg_add_copy_action(struct rte_eth_dev *dev, uint32_t mark_id,
if (mark_id != MLX5_DEFAULT_COPY_ID) {
items[0] = (struct rte_flow_item){
- .type = MLX5_RTE_FLOW_ITEM_TYPE_TAG,
+ .type = (enum rte_flow_item_type)
+ MLX5_RTE_FLOW_ITEM_TYPE_TAG,
.spec = &tag_spec,
};
@@ -3009,9 +3010,11 @@ flow_mreg_add_copy_action(struct rte_eth_dev *dev, uint32_t mark_id,
};
actions[0] = (struct rte_flow_action){
- .type = MLX5_RTE_FLOW_ACTION_TYPE_MARK,
+ .type = (enum rte_flow_action_type)
+ MLX5_RTE_FLOW_ACTION_TYPE_MARK,
.conf = &ftag,
};
actions[1] = (struct rte_flow_action){
- .type = MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG,
+ .type = (enum rte_flow_action_type)
+ MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG,
.conf = &cp_mreg,
};
@@ -3030,5 +3033,6 @@ flow_mreg_add_copy_action(struct rte_eth_dev *dev, uint32_t mark_id,
};
actions[0] = (struct rte_flow_action){
- .type = MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG,
+ .type = (enum rte_flow_action_type)
+ MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG,
.conf = &cp_mreg,
};
@@ -3404,5 +3408,6 @@ flow_hairpin_split(struct rte_eth_dev *dev,
/* Add set meta action and end action for the Rx flow. */
tag_action = actions_rx;
- tag_action->type = MLX5_RTE_FLOW_ACTION_TYPE_TAG;
+ tag_action->type = (enum rte_flow_action_type)
+ MLX5_RTE_FLOW_ACTION_TYPE_TAG;
actions_rx++;
rte_memcpy(actions_rx, actions, sizeof(struct rte_flow_action));
@@ -3417,5 +3422,6 @@ flow_hairpin_split(struct rte_eth_dev *dev,
addr = (void *)&pattern_tx[2];
item = pattern_tx;
- item->type = MLX5_RTE_FLOW_ITEM_TYPE_TAG;
+ item->type = (enum rte_flow_item_type)
+ MLX5_RTE_FLOW_ITEM_TYPE_TAG;
tag_item = (void *)addr;
tag_item->data = *flow_id;
@@ -3549,5 +3555,6 @@ flow_meter_split_prep(struct rte_eth_dev *dev,
/* Add the extra tag action first. */
tag_action = actions_pre;
- tag_action->type = MLX5_RTE_FLOW_ACTION_TYPE_TAG;
+ tag_action->type = (enum rte_flow_action_type)
+ MLX5_RTE_FLOW_ACTION_TYPE_TAG;
actions_pre++;
action_cur = &actions_pre;
@@ -3610,5 +3617,6 @@ flow_meter_split_prep(struct rte_eth_dev *dev,
* for vlan push and set vid.
*/
- sfx_items->type = MLX5_RTE_FLOW_ITEM_TYPE_VLAN;
+ sfx_items->type = (enum rte_flow_item_type)
+ MLX5_RTE_FLOW_ITEM_TYPE_VLAN;
sfx_items++;
}
@@ -3625,5 +3633,6 @@ flow_meter_split_prep(struct rte_eth_dev *dev,
tag_mask = tag_spec + 1;
tag_mask->data = 0xffffff00;
- tag_item->type = MLX5_RTE_FLOW_ITEM_TYPE_TAG;
+ tag_item->type = (enum rte_flow_item_type)
+ MLX5_RTE_FLOW_ITEM_TYPE_TAG;
tag_item->spec = tag_spec;
tag_item->last = NULL;
@@ -3728,5 +3737,6 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev,
/* Replace QUEUE/RSS action. */
split_actions[qrss_idx] = (struct rte_flow_action){
- .type = MLX5_RTE_FLOW_ACTION_TYPE_TAG,
+ .type = (enum rte_flow_action_type)
+ MLX5_RTE_FLOW_ACTION_TYPE_TAG,
.conf = set_tag,
};
@@ -3791,5 +3801,6 @@ flow_mreg_tx_copy_prep(struct rte_eth_dev *dev,
if (encap_idx == actions_n - 1) {
ext_actions[actions_n - 1] = (struct rte_flow_action){
- .type = MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG,
+ .type = (enum rte_flow_action_type)
+ MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG,
.conf = cp_mreg,
};
@@ -3799,5 +3810,6 @@ flow_mreg_tx_copy_prep(struct rte_eth_dev *dev,
} else {
ext_actions[encap_idx] = (struct rte_flow_action){
- .type = MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG,
+ .type = (enum rte_flow_action_type)
+ MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG,
.conf = cp_mreg,
};
@@ -3913,4 +3925,5 @@ flow_create_split_metadata(struct rte_eth_dev *dev,
else
ext_actions[qrss - actions].type =
+ (enum rte_flow_action_type)
MLX5_RTE_FLOW_ACTION_TYPE_TAG;
/*
@@ -3964,5 +3977,6 @@ flow_create_split_metadata(struct rte_eth_dev *dev,
struct rte_flow_item q_items[] = {
{
- .type = MLX5_RTE_FLOW_ITEM_TYPE_TAG,
+ .type = (enum rte_flow_item_type)
+ MLX5_RTE_FLOW_ITEM_TYPE_TAG,
.spec = &q_tag_spec,
.last = NULL,
@@ -4605,5 +4619,6 @@ mlx5_ctrl_flow_source_queue(struct rte_eth_dev *dev,
struct rte_flow_item items[] = {
{
- .type = MLX5_RTE_FLOW_ITEM_TYPE_TX_QUEUE,
+ .type = (enum rte_flow_item_type)
+ MLX5_RTE_FLOW_ITEM_TYPE_TX_QUEUE,
.spec = &queue_spec,
.last = NULL,
@@ -5722,5 +5737,6 @@ mlx5_flow_discover_mreg_c(struct rte_eth_dev *dev)
struct rte_flow_action actions[] = {
[0] = {
- .type = MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG,
+ .type = (enum rte_flow_action_type)
+ MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG,
.conf = &(struct mlx5_flow_action_copy_mreg){
.src = REG_C_1,
--
2.21.1
next reply other threads:[~2020-03-20 16:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-20 16:47 Kevin Traynor [this message]
2020-05-04 7:39 ` Slava Ovsiienko
2020-05-04 8:21 ` Raslan Darawsheh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200320164742.14721-1-ktraynor@redhat.com \
--to=ktraynor@redhat.com \
--cc=dev@dpdk.org \
--cc=rasland@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).