|SUCCESS| [v3] net/ice: fix L2TPv2 outer MAC in training packet
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Thu Apr 9 22:21:05 CEST 2026
Test-Label: ai-code-review
Test-Status: SUCCESS
https://dpdk.org/patch/162961
_AI Code Review_
=== Patch Review: series.patch (via Claude) ===
Review date: 2026-04-09
commit c4f7a3b8e9d2
Author: Shaiq Wani <shaiq.wani at intel.com>
net/ice: fix L2TPv2 outer MAC in training packet
This commit corrects the pointer used when writing outer MAC addresses
in L2TPv2 flow director training packets.
> diff --git a/drivers/net/intel/ice/base/ice_fdir.c b/drivers/net/intel/ice/base/ice_fdir.c
> index 2c0cb99854..1846fbc515 100644
> --- a/drivers/net/intel/ice/base/ice_fdir.c
> +++ b/drivers/net/intel/ice/base/ice_fdir.c
> @@ -3835,6 +3835,12 @@ ice_fdir_get_gen_prgm_pkt(struct ice_hw *hw, struct ice_fdir_fltr *input,
> u16 pos;
> u16 offset;
>
> + /* pkt = start of full packet buffer (outer Ethernet header, offset 0).
> + * loc = start of current protocol segment; equals pkt for non-tunnel
> + * flows, but points past the tunnel header for tunnel flows.
> + * Use pkt for outer L2 fields, loc for the active segment.
> + */
> +
Does this multi-line comment follow the correct format per the coding
style? The coding style requires:
/*
* Text here
*/
But this comment appears to use /* on the first line with text on the
same line, which is not permitted for multi-line comments.
> @@ -4599,16 +4605,16 @@ ice_fdir_get_gen_prgm_pkt(struct ice_hw *hw, struct ice_fdir_fltr *input,
> input->ip.v6.tc);
> break;
> case ICE_FLTR_PTYPE_NONF_IPV4_L2TPV2_CONTROL:
> - ice_pkt_insert_mac_addr(loc, input->ext_data_outer.dst_mac);
> - ice_pkt_insert_mac_addr(loc + ETH_ALEN,
> + ice_pkt_insert_mac_addr(pkt, input->ext_data_outer.dst_mac);
> + ice_pkt_insert_mac_addr(pkt + ETH_ALEN,
> input->ext_data_outer.src_mac);
> ice_pkt_insert_u16(loc, ICE_IPV4_L2TPV2_LEN_SESS_ID_OFFSET,
> input->l2tpv2_data.session_id);
> break;
> case ICE_FLTR_PTYPE_NONF_IPV4_L2TPV2:
> case ICE_FLTR_PTYPE_NONF_IPV4_L2TPV2_PPP:
> - ice_pkt_insert_mac_addr(loc, input->ext_data_outer.dst_mac);
> - ice_pkt_insert_mac_addr(loc + ETH_ALEN,
> + ice_pkt_insert_mac_addr(pkt, input->ext_data_outer.dst_mac);
> + ice_pkt_insert_mac_addr(pkt + ETH_ALEN,
> input->ext_data_outer.src_mac);
[ ... ]
> @@ -4622,16 +4628,16 @@ ice_fdir_get_gen_prgm_pkt(struct ice_hw *hw, struct ice_fdir_fltr *input,
> }
> break;
> case ICE_FLTR_PTYPE_NONF_IPV6_L2TPV2_CONTROL:
> - ice_pkt_insert_mac_addr(loc, input->ext_data_outer.dst_mac);
> - ice_pkt_insert_mac_addr(loc + ETH_ALEN,
> + ice_pkt_insert_mac_addr(pkt, input->ext_data_outer.dst_mac);
> + ice_pkt_insert_mac_addr(pkt + ETH_ALEN,
> input->ext_data_outer.src_mac);
> ice_pkt_insert_u16(loc, ICE_IPV6_L2TPV2_LEN_SESS_ID_OFFSET,
> input->l2tpv2_data.session_id);
> break;
> case ICE_FLTR_PTYPE_NONF_IPV6_L2TPV2:
> case ICE_FLTR_PTYPE_NONF_IPV6_L2TPV2_PPP:
> - ice_pkt_insert_mac_addr(loc, input->ext_data_outer.dst_mac);
> - ice_pkt_insert_mac_addr(loc + ETH_ALEN,
> + ice_pkt_insert_mac_addr(pkt, input->ext_data_outer.dst_mac);
> + ice_pkt_insert_mac_addr(pkt + ETH_ALEN,
> input->ext_data_outer.src_mac);
More information about the test-report
mailing list