Add the corresponding logics to support the offload of
set dest IPv6 address 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 +
drivers/net/nfp/nfp_flow.c | 9 +++++++++
2 files changed, 10 insertions(+)
@@ -46,6 +46,7 @@ of_set_vlan_vid = Y
port_id = Y
set_ipv4_dst = Y
set_ipv4_src = Y
+set_ipv6_dst = Y
set_ipv6_src = Y
set_mac_dst = Y
set_mac_src = Y
@@ -635,6 +635,10 @@ struct nfp_mask_id_entry {
PMD_DRV_LOG(DEBUG, "RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC detected");
key_ls->act_size += sizeof(struct nfp_fl_act_set_ipv6_addr);
break;
+ case RTE_FLOW_ACTION_TYPE_SET_IPV6_DST:
+ PMD_DRV_LOG(DEBUG, "RTE_FLOW_ACTION_TYPE_SET_IPV6_DST detected");
+ key_ls->act_size += sizeof(struct nfp_fl_act_set_ipv6_addr);
+ break;
default:
PMD_DRV_LOG(ERR, "Action type %d not supported.", action->type);
return -ENOTSUP;
@@ -1485,6 +1489,11 @@ struct nfp_mask_id_entry {
nfp_flow_action_set_ipv6(position, action, true);
position += sizeof(struct nfp_fl_act_set_ipv6_addr);
break;
+ case RTE_FLOW_ACTION_TYPE_SET_IPV6_DST:
+ PMD_DRV_LOG(DEBUG, "Process RTE_FLOW_ACTION_TYPE_SET_IPV6_DST");
+ nfp_flow_action_set_ipv6(position, action, false);
+ position += sizeof(struct nfp_fl_act_set_ipv6_addr);
+ break;
default:
PMD_DRV_LOG(ERR, "Unsupported action type: %d", action->type);
return -ENOTSUP;