lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <523e40c8-d2e2-2f02-f31b-43850bc5f818@gmail.com>
Date:   Mon, 26 Feb 2018 17:44:03 +0200
From:   Serhey Popovych <serhe.popovych@...il.com>
To:     David Ahern <dsahern@...il.com>, netdev@...r.kernel.org
Subject: Re: [PATCH iproute2-next v3 8/8] iplink: Reduce number of arguments
 to iplink_parse()

David Ahern wrote:
> On 2/22/18 6:02 AM, Serhey Popovych wrote:
>> Introduce new @struct iplink_parse_args data structure to consolidate
>> arguments to iplink_parse(). This will reduce number of arguments
>> passed to it.
>>
>> Pass this data structure to ->parse_opt() in iplink specific modules:
>> it may be used to get network device name and other information.
>>
>> Signed-off-by: Serhey Popovych <serhe.popovych@...il.com>
>> ---
>>  ip/ip_common.h           |   16 +++++++++++++---
>>  ip/iplink.c              |   34 ++++++++++++++++++++++------------
>>  ip/iplink_bond.c         |    4 +++-
>>  ip/iplink_bond_slave.c   |    4 +++-
>>  ip/iplink_bridge.c       |    4 +++-
>>  ip/iplink_bridge_slave.c |    4 +++-
>>  ip/iplink_can.c          |    4 +++-
>>  ip/iplink_geneve.c       |    4 +++-
>>  ip/iplink_hsr.c          |    4 +++-
>>  ip/iplink_ipoib.c        |    4 +++-
>>  ip/iplink_ipvlan.c       |    4 +++-
>>  ip/iplink_macvlan.c      |    4 +++-
>>  ip/iplink_vlan.c         |    4 +++-
>>  ip/iplink_vrf.c          |    5 ++++-
>>  ip/iplink_vxcan.c        |   14 ++++++--------
>>  ip/iplink_vxlan.c        |    4 +++-
>>  ip/ipmacsec.c            |    4 +++-
>>  ip/link_gre.c            |    6 ++++--
>>  ip/link_gre6.c           |    6 ++++--
>>  ip/link_ip6tnl.c         |    6 ++++--
>>  ip/link_iptnl.c          |    6 ++++--
>>  ip/link_veth.c           |   14 ++++++--------
>>  ip/link_vti.c            |    6 ++++--
>>  ip/link_vti6.c           |    6 ++++--
>>  24 files changed, 114 insertions(+), 57 deletions(-)
>>
> 
> Seems like a lot of churn for no benefit.
> 

I plan to extend iplink_get() to be used in tunnels and replace
lot of duplicated code. Since iplink_get() needs interface name
and there is no easy way to get it from netlink buffer provided via
@struct nlmsghdr n, I do all this stuff.

Same applies to name_is_vrf() and ipvrf_get_table(): they do nearly
the same things and can be consolidated. They also use interface
name.

On the other hand at same point I want to start RFC to submit
IFLA_IFNAME by default for all netlink commands instead of
ll_name_to_index() in userspace and giving index to kernel: it
is subject to race, interface might disappear, another interface
could be created before we send netlink message with ifindex.

Kernel knowns better how to translate name to network device and
does this with proper synchronization (RTNL).

> 




Download attachment "signature.asc" of type "application/pgp-signature" (491 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ