Hey Stephan,
Apologize for the delayed response and appreciate your assistance.
I prepared a document outlining the bug and its flow, along with the two 
solutions we discussed.
I hope this document provides a comprehensive overview. Can you take a look?

Thank you!

https://docs.google.com/document/d/1LmMlJ31P1G77K0TGkBfXWz0DEj6zdprP0bG5p_wu77w/edit?usp=sharing


> -----Original Message-----
> From: Stephen Hemminger <[email protected]>
> Sent: Monday, 17 March 2025 16:11
> To: Shani Peretz <[email protected]>
> Cc: [email protected]; Tyler Retzlaff <[email protected]>; Parav Pandit
> <[email protected]>; Xueming Li <[email protected]>; Nipun Gupta
> <[email protected]>; Nikhil Agarwal <[email protected]>; Hemant
> Agrawal <[email protected]>; Sachin Saxena
> <[email protected]>; Rosen Xu <[email protected]>; Chenbo Xia
> <[email protected]>; Tomasz Duszynski <[email protected]>;
> Chengwen Feng <[email protected]>; NBU-Contact-longli
> (EXTERNAL) <[email protected]>; Wei Hu <[email protected]>; Bruce
> Richardson <[email protected]>; Kevin Laatz
> <[email protected]>; Jan Blunck <[email protected]>
> Subject: Re: [PATCH v7 2/4] lib: fix comparison between devices
> 
> External email: Use caution opening links or attachments
> 
> 
> On Thu, 6 Mar 2025 16:26:50 +0000
> Shani Peretz <[email protected]> wrote:
> 
> > > -----Original Message-----
> > > From: Stephen Hemminger <[email protected]>
> > > Sent: Thursday, 20 February 2025 20:33
> > > To: Shani Peretz <[email protected]>
> > > Cc: [email protected]; Tyler Retzlaff <[email protected]>;
> > > Parav Pandit <[email protected]>; Xueming Li <[email protected]>;
> > > Nipun Gupta <[email protected]>; Nikhil Agarwal
> > > <[email protected]>; Hemant Agrawal <[email protected]>;
> > > Sachin Saxena <[email protected]>; Rosen Xu
> > > <[email protected]>; Chenbo Xia <[email protected]>; Tomasz
> > > Duszynski <[email protected]>; Chengwen Feng
> > > <[email protected]>; NBU-Contact-longli
> > > (EXTERNAL) <[email protected]>; Wei Hu <[email protected]>; Bruce
> > > Richardson <[email protected]>; Kevin Laatz
> > > <[email protected]>; Jan Blunck <[email protected]>
> > > Subject: Re: [PATCH v7 2/4] lib: fix comparison between devices
> > >
> > > External email: Use caution opening links or attachments
> > >
> > >
> > > On Wed, 12 Feb 2025 18:38:33 +0200
> > > Shani Peretz <[email protected]> wrote:
> > >
> > > > DPDK supports multiple formats for specifying buses, (such as
> > > > "0000:08:00.0" and "08:00.0" for PCI).
> > > > This flexibility can lead to inconsistencies when using one format
> > > > while running testpmd, then attempts to use the other format in a
> > > > later command, resulting in a failure.
> > > >
> > > > The issue arises from the find_device function, which compares the
> > > > user-provided string directly with the device->name in the
> > > > rte_device structure.
> > > > If we want to accurately compare these names, we'll need to bring
> > > > both sides to the same representation by invoking the parse
> > > > function on the user input.
> > >
> > > Could you give an example where this happens please?
> > > Shouldn't find_device string always be changed into canonical form
> > > in find_device handler?
> >
> > The flow I was dealing with was attach_port -> rte_dev_probe - >
> local_dev_probe -> find_device.
> > The string passed to attach_port was the short version, directly from the 
> > user.
> >
> > So, to clarify - you're saying that find_device simply need to accept the 
> > string
> in its canonical form? Which means we'll only need to fix local_dev_probe to
> bring it to the canonical form before calling find_device?
> > I tried it but then I noticed that there's no function that gets the user-
> provided string and returns it's string canonical form. The closest to this is
> parse, but what it eventually returns is not necessarily a string - it can be
> anything - for instance pci_parse will give you back a struct rte_pci_addr.
> 
> Not sure at this point. There are two options. One would be fixup in 
> attach_port
> the other would be allowing short form in PCI part of find_device. Since the
> strings from command line are put in canonical form for devargs, it seems
> logical to do it in attach_port path.

Reply via email to