[{"id":1774053,"web_url":"http://patchwork.ozlabs.org/comment/1774053/","msgid":"<fdc1459e-9d68-7262-bc62-f7b198d45c6f@gmail.com>","list_archive_url":null,"date":"2017-09-23T17:12:08","subject":"Re: [PATCH net-next v2 5/6] rtnetlink: add helpers to dump vf and\n\tnetnsid information","submitter":{"id":6918,"url":"http://patchwork.ozlabs.org/api/people/6918/","name":"David Ahern","email":"dsahern@gmail.com"},"content":"On 9/22/17 12:10 AM, Florian Westphal wrote:\n> +static noinline_for_stack int rtnl_fill_vf(struct sk_buff *skb,\n> +\t\t\t\t\t   struct net_device *dev,\n> +\t\t\t\t\t   u32 ext_filter_mask)\n> +{\n> +\tstruct nlattr *vfinfo;\n> +\tint i, num_vfs;\n> +\n> +\tif (!dev->dev.parent || ((ext_filter_mask & RTEXT_FILTER_VF) == 0))\n> +\t\treturn 0;\n> +\n> +\tnum_vfs = dev_num_vf(dev->dev.parent);\n> +\tif (nla_put_u32(skb, IFLA_NUM_VF, num_vfs))\n> +\t\treturn -EMSGSIZE;\n> +\n> +\tif (!dev->netdev_ops->ndo_get_vf_config)\n> +\t\treturn 0;\n> +\n> +\tvfinfo = nla_nest_start(skb, IFLA_VFINFO_LIST);\n> +\tif (!vfinfo)\n> +\t\treturn -EMSGSIZE;\n> +\n> +\tfor (i = 0; i < num_vfs; i++) {\n> +\t\tif (rtnl_fill_vfinfo(skb, dev, i, vfinfo))\n> +\t\t\treturn -EMSGSIZE;\n> +\t}\n> +\n> +\tnla_nest_end(skb, vfinfo);\n> +\treturn 0;\n> +}\n> +\n>  static int rtnl_fill_link_ifmap(struct sk_buff *skb, struct net_device *dev)\n>  {\n>  \tstruct rtnl_link_ifmap map;\n> @@ -1355,6 +1385,23 @@ static noinline int nla_put_ifalias(struct sk_buff *skb, struct net_device *dev)\n>  \treturn 0;\n>  }\n>  \n> +static noinline int rtnl_fill_link_netnsid(struct sk_buff *skb,\n> +\t\t\t\t\t   const struct net_device *dev)\n> +{\n> +\tif (dev->rtnl_link_ops && dev->rtnl_link_ops->get_link_net) {\n> +\t\tstruct net *link_net = dev->rtnl_link_ops->get_link_net(dev);\n> +\n> +\t\tif (!net_eq(dev_net(dev), link_net)) {\n> +\t\t\tint id = peernet2id_alloc(dev_net(dev), link_net);\n> +\n> +\t\t\tif (nla_put_s32(skb, IFLA_LINK_NETNSID, id))\n> +\t\t\t\treturn -EMSGSIZE;\n> +\t\t}\n> +\t}\n> +\n> +\treturn 0;\n> +}\n> +\n\nNo reason to combine vf and netnsid into 1 patch; completely separate topics\n\n\n>  static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev,\n>  \t\t\t    int type, u32 pid, u32 seq, u32 change,\n>  \t\t\t    unsigned int flags, u32 ext_filter_mask,\n> @@ -1428,27 +1475,9 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev,\n>  \tif (rtnl_fill_stats(skb, dev))\n>  \t\tgoto nla_put_failure;\n>  \n> -\tif (dev->dev.parent && (ext_filter_mask & RTEXT_FILTER_VF) &&\n> -\t    nla_put_u32(skb, IFLA_NUM_VF, dev_num_vf(dev->dev.parent)))\n> +\tif (rtnl_fill_vf(skb, dev, ext_filter_mask))\n>  \t\tgoto nla_put_failure;\n>  \n> -\tif (dev->netdev_ops->ndo_get_vf_config && dev->dev.parent &&\n> -\t    ext_filter_mask & RTEXT_FILTER_VF) {\n> -\t\tint i;\n> -\t\tstruct nlattr *vfinfo;\n> -\t\tint num_vfs = dev_num_vf(dev->dev.parent);\n> -\n> -\t\tvfinfo = nla_nest_start(skb, IFLA_VFINFO_LIST);\n> -\t\tif (!vfinfo)\n> -\t\t\tgoto nla_put_failure;\n> -\t\tfor (i = 0; i < num_vfs; i++) {\n> -\t\t\tif (rtnl_fill_vfinfo(skb, dev, i, vfinfo))\n> -\t\t\t\tgoto nla_put_failure;\n> -\t\t}\n> -\n> -\t\tnla_nest_end(skb, vfinfo);\n> -\t}\n> -\n>  \tif (rtnl_port_fill(skb, dev, ext_filter_mask))\n>  \t\tgoto nla_put_failure;\n>  \n> @@ -1460,17 +1489,8 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev,\n>  \t\t\tgoto nla_put_failure;\n>  \t}\n>  \n> -\tif (dev->rtnl_link_ops &&\n> -\t    dev->rtnl_link_ops->get_link_net) {\n> -\t\tstruct net *link_net = dev->rtnl_link_ops->get_link_net(dev);\n> -\n> -\t\tif (!net_eq(dev_net(dev), link_net)) {\n> -\t\t\tint id = peernet2id_alloc(dev_net(dev), link_net);\n> -\n> -\t\t\tif (nla_put_s32(skb, IFLA_LINK_NETNSID, id))\n> -\t\t\t\tgoto nla_put_failure;\n> -\t\t}\n> -\t}\n> +\tif (rtnl_fill_link_netnsid(skb, dev))\n> +\t\tgoto nla_put_failure;\n>  \n>  \tif (!(af_spec = nla_nest_start(skb, IFLA_AF_SPEC)))\n>  \t\tgoto nla_put_failure;\n> \n\nReviewed-by: David Ahern <dsahern@gmail.com>","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"A5CnnxEn\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xzxjV0FcGz9tX4\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSun, 24 Sep 2017 03:12:14 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751355AbdIWRML (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tSat, 23 Sep 2017 13:12:11 -0400","from mail-pf0-f193.google.com ([209.85.192.193]:33372 \"EHLO\n\tmail-pf0-f193.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750778AbdIWRMK (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Sat, 23 Sep 2017 13:12:10 -0400","by mail-pf0-f193.google.com with SMTP id h4so1805379pfk.0\n\tfor <netdev@vger.kernel.org>; Sat, 23 Sep 2017 10:12:10 -0700 (PDT)","from dsa-mb.local ([2601:282:800:7292:34fb:fcb:e9c2:fef8])\n\tby smtp.googlemail.com with ESMTPSA id\n\te76sm4985039pfd.149.2017.09.23.10.12.09\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tSat, 23 Sep 2017 10:12:09 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=subject:to:references:from:message-id:date:user-agent:mime-version\n\t:in-reply-to:content-language:content-transfer-encoding;\n\tbh=a0mdzsyAgspE+6GQ6sf/qhgo9rA0b7cD1o+M2HoDO+U=;\n\tb=A5CnnxEniFmS42clSwNc/HNXo5hSt8D3f4disCLw24mPKu6NU7e0lCXy5F31vVv0g3\n\t9C2m9Y9Y8NCutWthws+6IddcAtZbLmsyR8EASADhwJqTgBoz/BT1pXmWmf9jaKDHplmH\n\tcwZkRAmwodtIMHQATiP/2i8uE35DKXEdXqiuklv9Sxa+HO2h25stLLeAJQBe873TxOkO\n\tbf1c4tWnITsSUz91dpiLbiHSsLE8M65RdjnPhaO9bX2PoZSC7oIgWgnNctBZEgdkzYNx\n\t6EDW1tVQNFFJyxXO3Oa7vojY1OJl4uQtsNkXSe88z035IpxMlhbePymHE/m/uRm0Zmnn\n\tu3Pg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=a0mdzsyAgspE+6GQ6sf/qhgo9rA0b7cD1o+M2HoDO+U=;\n\tb=Ap/fzww9yarEpsi1aSzKGc2KOI2HfOKvrem5FgjHV+3+deQFC8G7UrJoOFg9jV0m9J\n\tX6SzKi2B0ZqC8xsUrr+zcMGLnwjido2i57C9YCH4PDp2JDyNKuWjhaRLgE+T8K51eUWT\n\tktxYvMFVLtJ34twd7oRFGjvW7OoZydG9Z0tnjjy4cP5pFDTXF7O9L7MOD/S7wK8QAxYD\n\t6S6dlSxS/f/cslg8wgcso1v32Tf1/iUepbBnkyyZKHA53Fb0Woh8hHtbqid2s7iHBsKc\n\tZQNQJJpU2yspIHVw6d7/RuvBFQrmmJGF0t/3SAxwZvtpw0TxTRkkn1NBOL/x95rlH0la\n\tpV9Q==","X-Gm-Message-State":"AHPjjUhw2yEzOUoIDVFKiceh/RuJTxDSlbKtY+YxnQqIHfwXfsVH1Q3w\n\tlOiSxt5FpJLDSOi1ncV43BBg1w==","X-Google-Smtp-Source":"AOwi7QDlM5loqzYuCQ+fhVnGtVxg6IrF2JVRR+fsTC0GXT+rld/Ip0fPOJBDu4cScaAWe/sx4DMK+g==","X-Received":"by 10.101.82.8 with SMTP id o8mr2677119pgp.404.1506186729894;\n\tSat, 23 Sep 2017 10:12:09 -0700 (PDT)","Subject":"Re: [PATCH net-next v2 5/6] rtnetlink: add helpers to dump vf and\n\tnetnsid information","To":"Florian Westphal <fw@strlen.de>, netdev@vger.kernel.org","References":"<20170922061008.14723-1-fw@strlen.de>\n\t<20170922061008.14723-6-fw@strlen.de>","From":"David Ahern <dsahern@gmail.com>","Message-ID":"<fdc1459e-9d68-7262-bc62-f7b198d45c6f@gmail.com>","Date":"Sat, 23 Sep 2017 11:12:08 -0600","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0)\n\tGecko/20100101 Thunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170922061008.14723-6-fw@strlen.de>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]