summaryrefslogtreecommitdiffstats
path: root/src/dpdk_lib18/librte_pmd_i40e/i40e_fdir.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dpdk_lib18/librte_pmd_i40e/i40e_fdir.c')
-rwxr-xr-xsrc/dpdk_lib18/librte_pmd_i40e/i40e_fdir.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dpdk_lib18/librte_pmd_i40e/i40e_fdir.c b/src/dpdk_lib18/librte_pmd_i40e/i40e_fdir.c
index 98df9357..4b209e18 100755
--- a/src/dpdk_lib18/librte_pmd_i40e/i40e_fdir.c
+++ b/src/dpdk_lib18/librte_pmd_i40e/i40e_fdir.c
@@ -727,7 +727,10 @@ i40e_fdir_fill_eth_ip_head(const struct rte_eth_fdir_input *fdir_input,
*/
ip->src_addr = fdir_input->flow.ip4_flow.dst_ip;
ip->dst_addr = fdir_input->flow.ip4_flow.src_ip;
- ip->next_proto_id = next_proto[fdir_input->flow_type];
+ if (fdir_input->flow_type == RTE_ETH_FLOW_TYPE_IPV4_OTHER) {
+ ip->next_proto_id = fdir_input->flow.ip4_flow.l4_proto;
+ } else
+ ip->next_proto_id = next_proto[fdir_input->flow_type];
break;
case RTE_ETH_FLOW_TYPE_UDPV6:
case RTE_ETH_FLOW_TYPE_TCPV6: