All of lore.kernel.org
 help / color / mirror / Atom feed
From: Phil Sutter <phil@nwl.cc>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: David Miller <davem@davemloft.net>,
	dsahern@gmail.com, daniel@iogearbox.net, netdev@vger.kernel.org
Subject: Re: [RFC] iproute: Add support for extended ack to rtnl_talk
Date: Thu, 4 May 2017 22:43:18 +0200	[thread overview]
Message-ID: <20170504204318.GB21130@orbyte.nwl.cc> (raw)
In-Reply-To: <20170504094356.66590a9a@xeon-e3>

Hi,

On Thu, May 04, 2017 at 09:43:56AM -0700, Stephen Hemminger wrote:
> On Thu, 04 May 2017 10:41:03 -0400 (EDT)
> David Miller <davem@davemloft.net> wrote:
> 
> > From: David Ahern <dsahern@gmail.com>
> > Date: Thu, 4 May 2017 08:27:35 -0600
> > 
> > > On 5/4/17 3:36 AM, Daniel Borkmann wrote:  
> > >> What is the clear benefit/rationale of outsourcing this to
> > >> libmnl? I always was the impression we should strive for as little
> > >> dependencies as possible?  
> > > 
> > > +1  
> > 
> > Agreed, all else being equal iproute2 should be as self contained
> > as possible since it is such a fundamental tool.
> 
> Sorry, the old netlink code is more difficult to understand than libmnl.
> Having dependency on a library is not a problem. There already is
> an alternative implementation of ip commands in busybox for those
> people trying to work in small environments.

I second that. If you can't afford the extra ~24KB of libmnl on your
system, you much rather can't afford the 20 times bigger ip binary,
either.

Regarding conversion to libmnl, which I investigated and started working
on once: My gut feeling back then was that it's not quite worth the
effor since iproute2 requires an intermediate layer of functions anyway.
Another detail which I didn't like that much was libmnl's idiom of
creating netlink messages on base of just a plain buffer and using
mnl_nlmsg_put_header() et al. to populate it with data. I'm probably a
bit biased since I did the conversion to c99-style initializers for the
various struct req data types, but I didn't like the added run-time
overhead to achieve just the same.

So in summary, given that very little change happens to iproute2's
internal libnetlink, I don't see much urge to make it use libmnl as
backend. In my opinion it just adds another potential source of errors.

Eventually this should be a maintainer level decision, though. :)

Cheers, Phil

  reply	other threads:[~2017-05-04 20:43 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-03 23:56 [RFC] iproute: Add support for extended ack to rtnl_talk Stephen Hemminger
2017-05-04  9:36 ` Daniel Borkmann
2017-05-04 14:27   ` David Ahern
2017-05-04 14:41     ` David Miller
2017-05-04 15:50       ` Jamal Hadi Salim
2017-05-04 16:43       ` Stephen Hemminger
2017-05-04 20:43         ` Phil Sutter [this message]
2017-05-14  1:29           ` David Ahern
2017-05-16 16:36             ` Stephen Hemminger
2017-05-18 10:02               ` Daniel Borkmann
2017-05-18 14:55                 ` Stephen Hemminger
2017-05-19  4:24                 ` David Ahern
2017-08-03 20:26                   ` David Ahern
2017-08-04 11:31                     ` Simon Horman
2017-08-04 16:47                       ` Stephen Hemminger
2017-08-07 16:48                         ` David Ahern
2017-08-07 18:06                           ` Stephen Hemminger
2017-08-07 18:09                             ` David Ahern
2017-08-07 18:45                               ` David Miller
2017-08-07 19:12                                 ` Stephen Hemminger
2017-08-07 20:26                                   ` David Miller
2017-08-07 21:21                                     ` Stephen Hemminger
2017-05-04 14:37   ` Leon Romanovsky
2017-05-04 16:45     ` Stephen Hemminger
2017-05-04 17:55       ` Leon Romanovsky
2017-05-06 10:36         ` Jiri Pirko
2017-05-04 16:42   ` Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170504204318.GB21130@orbyte.nwl.cc \
    --to=phil@nwl.cc \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=dsahern@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=stephen@networkplumber.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.