Add the corresponding logics to support the offload of set
TP dest port action.
Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>
---
doc/guides/nics/features/nfp.ini | 1 +
doc/guides/rel_notes/release_22_11.rst | 1 +
drivers/net/nfp/nfp_flow.c | 15 +++++++++++++++
3 files changed, 17 insertions(+)
@@ -52,4 +52,5 @@ set_ipv6_dst = Y
set_ipv6_src = Y
set_mac_dst = Y
set_mac_src = Y
+set_tp_dst = Y
set_tp_src = Y
@@ -123,6 +123,7 @@ New Features
* Set the MAC address
* POP and PUSH VLAN
* Set the IP address of IPv4 and IPv6
+ * Set the port number
* **Updated NXP dpaa2 driver.**
@@ -665,6 +665,13 @@ struct nfp_mask_id_entry {
tp_set_flag = true;
}
break;
+ case RTE_FLOW_ACTION_TYPE_SET_TP_DST:
+ PMD_DRV_LOG(DEBUG, "RTE_FLOW_ACTION_TYPE_SET_TP_DST detected");
+ if (!tp_set_flag) {
+ key_ls->act_size += sizeof(struct nfp_fl_act_set_tport);
+ tp_set_flag = true;
+ }
+ break;
default:
PMD_DRV_LOG(ERR, "Action type %d not supported.", action->type);
return -ENOTSUP;
@@ -1562,6 +1569,14 @@ struct nfp_mask_id_entry {
tp_set_flag = true;
}
break;
+ case RTE_FLOW_ACTION_TYPE_SET_TP_DST:
+ PMD_DRV_LOG(DEBUG, "Process RTE_FLOW_ACTION_TYPE_SET_TP_DST");
+ nfp_flow_action_set_tp(position, action, false, tp_set_flag);
+ if (!tp_set_flag) {
+ position += sizeof(struct nfp_fl_act_set_tport);
+ tp_set_flag = true;
+ }
+ break;
default:
PMD_DRV_LOG(ERR, "Unsupported action type: %d", action->type);
return -ENOTSUP;