From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f51.google.com ([209.85.215.51]:39276 "EHLO mail-lf0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750989AbeCGIlf (ORCPT ); Wed, 7 Mar 2018 03:41:35 -0500 Received: by mail-lf0-f51.google.com with SMTP id f75-v6so2024341lfg.6 for ; Wed, 07 Mar 2018 00:41:35 -0800 (PST) From: Serhey Popovych To: netdev@vger.kernel.org Cc: dsahern@gmail.com Subject: [PATCH iproute2-next v4 0/4] iplink: Improve iplink_parse() Date: Wed, 7 Mar 2018 10:40:35 +0200 Message-Id: <1520412039-17154-1-git-send-email-serhe.popovych@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: This is main routine to parse ip-link(8) configuration parameters. Move all code related to command line parsing and validation to it from iptables_modify(). As benefit we reduce number of arguments as well as checking for most of weired cases in single place to give benefit to iptables_parse() users. See individual patch description message for more information. v4 Drop patches intended to reduce number of arguments to iptables_parse(): postpone to the series with real use cases. Save only ifi_index in iplink_vxcan.c and link_veth.c: no need to save whole ifinfomsg data structure. Note that there is no sense to introduce custom version of iplink_parse() to use in iplink_vxcan.c and link_veth.c because there is too much parameters we need to support (except VF and few others) making huge code duplication. v3 Move vxlan/veth ifinfomsg save/restore to separate patch to make clear change that perform most of request buffer setups and checks in iplink_parse(). Update commit message descriptions and extra new line from "utils: Introduce and use nodev() helper routine" patch. v2 Terminate via exit() when failing to parse command line arguments to help identify failing line in batch mode. Thanks, Serhii Serhey Popovych (4): utils: Introduce and use nodev() helper routine iplink: Use "dev" and "name" parameters interchangeable when possible iplink: Follow documented behaviour when "index" is given iplink: Perform most of request buffer setups and checks in iplink_parse() bridge/fdb.c | 17 ++---- bridge/link.c | 8 +-- bridge/mdb.c | 19 ++---- bridge/vlan.c | 7 +-- include/utils.h | 1 + ip/ip6tunnel.c | 6 +- ip/ip_common.h | 4 +- ip/ipaddress.c | 7 +-- ip/iplink.c | 163 +++++++++++++++++++++++++++---------------------- ip/iplink_bond.c | 4 +- ip/iplink_bridge.c | 7 +-- ip/iplink_vxcan.c | 23 ++----- ip/iplink_vxlan.c | 7 +-- ip/ipmroute.c | 7 +-- ip/ipneigh.c | 14 ++--- ip/ipntable.c | 6 +- ip/iproute.c | 36 ++++------- ip/iproute_lwtunnel.c | 4 +- ip/iptunnel.c | 6 +- ip/link_gre.c | 7 +-- ip/link_gre6.c | 7 +-- ip/link_ip6tnl.c | 4 +- ip/link_iptnl.c | 4 +- ip/link_veth.c | 23 ++----- ip/link_vti.c | 7 +-- ip/link_vti6.c | 7 +-- lib/utils.c | 6 ++ tc/m_mirred.c | 6 +- tc/tc_class.c | 14 ++--- tc/tc_filter.c | 18 ++---- tc/tc_qdisc.c | 12 ++-- 31 files changed, 196 insertions(+), 265 deletions(-) -- 1.7.10.4