[PATCH V2] app/testpmd: fix parameters order when calling rte_ether_addr_copy()
Ferruh Yigit
ferruh.yigit at intel.com
Mon Nov 22 10:10:32 CET 2021
On 11/22/2021 4:00 AM, Xu, Wei1 wrote:
> Hi Ferruh,
> Thanks for your explaining.
>
> It it by design, maybe a check and only rewrite the mac addresses when they are explicitly set?
>
What are you trying to fix/achieve exactly?
> Thanks,
> Wei
>
> -----Original Message-----
> From: Yigit, Ferruh <ferruh.yigit at intel.com>
> Sent: Tuesday, November 16, 2021 3:00 AM
> To: Xu, Wei1 <wei1.xu at intel.com>; Lu, Wenzhuo <wenzhuo.lu at intel.com>; Wu, Jingjing <jingjing.wu at intel.com>; Iremonger, Bernard <bernard.iremonger at intel.com>; dev at dpdk.org
> Cc: Zhang, Qi Z <qi.z.zhang at intel.com>
> Subject: Re: [PATCH V2] app/testpmd: fix parameters order when calling rte_ether_addr_copy()
>
> On 11/11/2021 2:29 AM, Xu, Wei1 wrote:
>> Running in 'csum' mode, the 'from' and 'to' parameters are not in the
>> correct order when calling rte_ether_addr_copy() which means the
>> 'src/dst' mac addresses in the mbuf will be overwriten.
>>
>
> Hi Wei,
>
> Original code looks good. What are you trying to fix exactly?
>
> API order is, 'rte_ether_addr_copy(from, to)'.
>
> I assume your expectation is packet to keep original src & dst MAC address, but it is not working that way, dest addrs is written by user configured 'peer address'.
>
> With your change for each packet, packet mac address written to testpmd configuration, which doesn't make sense.
>
>> As a result, the packets will not be recognized and received by the
>> receiver(s).
>>
>> Test CLI:
>> ./app/dpdk-testpmd -n 1 -l 1-2 -a 09:00.0 -- -i --forward-mode=csum
>>
>> Fixes: 10f4620(app/testpmd: modify mac in csum forwarding)
>>
>> v2:
>> - fixed indentation and long line warnings.
>>
>> Signed-off-by: Wei Xu <wei1.xu at intel.com>
>> ---
>> app/test-pmd/csumonly.c | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c index
>> 8526d9158a..08484fcda2 100644
>> --- a/app/test-pmd/csumonly.c
>> +++ b/app/test-pmd/csumonly.c
>> @@ -872,10 +872,10 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
>> * and inner headers */
>>
>> eth_hdr = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);
>> - rte_ether_addr_copy(&peer_eth_addrs[fs->peer_addr],
>> - ð_hdr->dst_addr);
>> - rte_ether_addr_copy(&ports[fs->tx_port].eth_addr,
>> - ð_hdr->src_addr);
>> + rte_ether_addr_copy(ð_hdr->dst_addr,
>> + &peer_eth_addrs[fs->peer_addr]);
>> + rte_ether_addr_copy(ð_hdr->src_addr,
>> + &ports[fs->tx_port].eth_addr);
>> parse_ethernet(eth_hdr, &info);
>> l3_hdr = (char *)eth_hdr + info.l2_len;
>>
>>
>
More information about the dev
mailing list