[dpdk-dev] [PATCH 0/2] lib: move Netlink wrapper to lib

Thomas Monjalon thomas at monjalon.net
Thu Mar 15 16:39:46 CET 2018


14/03/2018 16:17, Stephen Hemminger:
> On Wed, 14 Mar 2018 13:08:55 +0100
> Nélio Laranjeiro <nelio.laranjeiro at 6wind.com> wrote:
> > On Tue, Mar 13, 2018 at 02:20:31PM -0700, Stephen Hemminger wrote:
> > > On Tue, 13 Mar 2018 13:28:25 +0100
> > > Nelio Laranjeiro <nelio.laranjeiro at 6wind.com> wrote:
> > > >  drivers/net/tap/Makefile                           |   3 +-
> > > >  drivers/net/tap/rte_eth_tap.c                      |  16 +--
> > > >  drivers/net/tap/tap_flow.c                         | 118 ++++++++++-----------
> > > >  drivers/net/tap/tap_netlink.h                      |  42 --------
> > > >  drivers/net/tap/tap_tcmsgs.c                       |  28 ++---
> > > >  drivers/net/tap/tap_tcmsgs.h                       |   2 +-
> > > >  lib/Makefile                                       |   2 +
> > > >  lib/librte_netlink/Makefile                        |  26 +++++
> > > >  lib/librte_netlink/meson.build                     |  13 +++
> > > >  .../librte_netlink/rte_netlink.c                   |  87 +++++++++++----
> > > >  lib/librte_netlink/rte_netlink.h                   |  43 ++++++++
> > > >  lib/librte_netlink/rte_netlink_version.map         |  18 ++++
> > > 
> > > I might have raised this before; but having yet another netlink library is
> > > not a great advantage. It would be much better to use a common external library
> > > libmnl which is already available on every distribution.  
> > 
> > The question is more do we really want to have a dependency on a so
> > small wrapper for a socket interface?
> 
> Lots of drivers already have dependencies.
> And I trust libmnl rather than a reinvented library.

Are we sure it is commonly installed in distributions?

This is needed only for TAP and mlx drivers.
Do we really want to add this dependency as mandatory for everybody
to compile DPDK with default PMDs?

I see 4 options:
1/ keep duplicated few functions in PMDs
2/ use libmnl
3/ add the functions in a DPDK lib (this patch)
4/ add the functions in EAL

I would vote for the first option because mlx5 has very minimal
requirement regarding netlink.
The first option can give us some time to think about the right way
to use netlink in the next releases.




More information about the dev mailing list