[dpdk-dev] [PATCH] usertools: fix pmdinfo parsing

David Marchand david.marchand at redhat.com
Tue Nov 3 21:20:43 CET 2020


On Tue, Nov 3, 2020 at 8:27 PM Robin Jarry <robin.jarry at 6wind.com> wrote:
> 2020-11-03, David Marchand:
> > This script was using the librte_pmd prefix has a filter to follow

as*

> > DT_NEEDED entries.
> > Now that we changed the driver names, update this heuristic with an
> > explicit list of device classes.
> >
> > Fixes: a20b2c01a7a1 ("build: standardize component names and defines")
> >
> > Signed-off-by: David Marchand <david.marchand at redhat.com>
> > ---
> >  usertools/dpdk-pmdinfo.py | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/usertools/dpdk-pmdinfo.py b/usertools/dpdk-pmdinfo.py
> > index 1661982791..687a9fd032 100755
> > --- a/usertools/dpdk-pmdinfo.py
> > +++ b/usertools/dpdk-pmdinfo.py
> > @@ -450,7 +450,10 @@ def process_dt_needed_entries(self):
> >          for tag in dynsec.iter_tags():
> >              # pyelftools may return byte-strings, force decode them
> >              if force_unicode(tag.entry.d_tag) == 'DT_NEEDED':
> > -                if 'librte_pmd' in force_unicode(tag.needed):
> > +                words = force_unicode(tag.needed).split('_')
> > +                if words and len(words) >= 3 and words[0] == 'librte' and \
> > +                   words[1] in ['baseband', 'compress', 'crypto', 'event',
> > +                                'net', 'raw', 'regex', 'vdpa']:
>
> This code is already ugly and I don't have much better to suggest...

Less ugly with a regular expression?

if re.match(r"^librte_(baseband|compress|crypto|event|net|raw|regex|vdpa)_",
            force_unicode(tag.needed)):


-- 
David Marchand



More information about the dev mailing list