|SUCCESS| [v3] net/ice: detect L2TPv2 tunnel type in pre-scan loop
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Thu Apr 9 14:47:52 CEST 2026
Test-Label: ai-code-review
Test-Status: SUCCESS
https://dpdk.org/patch/162960
_AI Code Review_
=== Patch Review: series.patch (via Claude) ===
Review date: 2026-04-09
git sha: commit referenced as 733640dae75e in Fixes tag
Author: Shaiq Wani <shaiq.wani at intel.com>
Subject: [PATCH v3] net/ice: detect L2TPv2 tunnel type in pre-scan loop
This patch adds L2TPv2 tunnel type detection in the pre-scan loop of
ice_fdir_parse_pattern() to fix a bug where outer MAC addresses were
incorrectly stored in the inner ext_data struct when L2TPv2 items were
present, causing flow rules to fail matching.
> diff --git a/drivers/net/intel/ice/ice_fdir_filter.c b/drivers/net/intel/ice/ice_fdir_filter.c
> index 3522d77123..1cbc613020 100644
> --- a/drivers/net/intel/ice/ice_fdir_filter.c
> +++ b/drivers/net/intel/ice/ice_fdir_filter.c
> @@ -1911,6 +1911,8 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad,
> for (item = pattern; item->type != RTE_FLOW_ITEM_TYPE_END; item++) {
> if (item->type == RTE_FLOW_ITEM_TYPE_VXLAN)
> tunnel_type = ICE_FDIR_TUNNEL_TYPE_VXLAN;
> + if (item->type == RTE_FLOW_ITEM_TYPE_L2TPV2)
> + tunnel_type = ICE_FDIR_TUNNEL_TYPE_L2TPV2;
Does this logic handle multiple tunnel types in the same pattern
correctly? If a pattern contains both VXLAN and L2TPV2 items, does the
tunnel_type variable get overwritten, resulting in only the last tunnel
being detected?
The VXLAN check uses a simple if statement without else-if. The new
L2TPv2 check follows the same pattern. Can this code correctly identify
a pattern that includes multiple tunnel protocol items, or should these
be mutually exclusive checks using else-if?
> /* To align with shared code behavior, save gtpu outer
> * fields in inner struct.
> */
More information about the test-report
mailing list