net/nfp: support IPv6 destination flow action

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>
This commit is contained in:
Chaoyong He 2022-10-21 16:01:58 +08:00 committed by Ferruh Yigit
parent 596ae22172
commit 51384f79b2
2 changed files with 10 additions and 0 deletions

View File

@ -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

View File

@ -635,6 +635,10 @@ nfp_flow_key_layers_calculate_actions(const struct rte_flow_action actions[],
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 @@ nfp_flow_compile_action(__rte_unused struct nfp_flower_representor *representor,
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;