From patchwork Mon Sep 26 02:40:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhu Yanjun X-Patchwork-Id: 12987854 X-Patchwork-Delegate: leon@leon.nu Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41E67C6FA82 for ; Sun, 25 Sep 2022 10:13:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229763AbiIYKNs (ORCPT ); Sun, 25 Sep 2022 06:13:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44484 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230288AbiIYKNr (ORCPT ); Sun, 25 Sep 2022 06:13:47 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45AF92C66D for ; Sun, 25 Sep 2022 03:13:44 -0700 (PDT) X-IronPort-AV: E=McAfee;i="6500,9779,10480"; a="301746510" X-IronPort-AV: E=Sophos;i="5.93,344,1654585200"; d="scan'208";a="301746510" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Sep 2022 03:13:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,344,1654585200"; d="scan'208";a="651481132" Received: from unknown (HELO intel-71.bj.intel.com) ([10.238.154.71]) by orsmga008.jf.intel.com with ESMTP; 25 Sep 2022 03:13:42 -0700 From: yanjun.zhu@linux.dev To: leonro@nvidia.com, linux-rdma@vger.kernel.org, jgg@nvidia.com, yanjun.zhu@linux.dev Subject: [PATCH] rdma: not display the rdma link in other net namespace Date: Sun, 25 Sep 2022 22:40:33 -0400 Message-Id: <20220926024033.284341-1-yanjun.zhu@linux.dev> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org From: Zhu Yanjun When the net devices are moved to another net namespace, the command "rdma link" should not dispaly the rdma link about this net device. For example, when the net device eno12399 is moved to net namespace net0 from init_net, the rdma link of eno12399 should not display in init_net. Before this change: Init_net: link roceo12399/1 state DOWN physical_state DISABLED <---should not display link roceo12409/1 state DOWN physical_state DISABLED netdev eno12409 link rocep202s0f0/1 state DOWN physical_state DISABLED netdev ens7f0 link rocep202s0f1/1 state ACTIVE physical_state LINK_UP netdev ens7f1 net0: link roceo12399/1 state DOWN physical_state DISABLED netdev eno12399 link roceo12409/1 state DOWN physical_state DISABLED <---should not display link rocep202s0f0/1 state DOWN physical_state DISABLED <---should not display link rocep202s0f1/1 state ACTIVE physical_state LINK_UP <---should not display After this change Init_net: link roceo12409/1 state DOWN physical_state DISABLED netdev eno12409 link rocep202s0f0/1 state DOWN physical_state DISABLED netdev ens7f0 link rocep202s0f1/1 state ACTIVE physical_state LINK_UP netdev ens7f1 net0: link roceo12399/1 state DOWN physical_state DISABLED netdev eno12399 Fixes: da990ab40a92 ("rdma: Add link object") Signed-off-by: Zhu Yanjun --- rdma/link.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rdma/link.c b/rdma/link.c index bf24b849..449a7636 100644 --- a/rdma/link.c +++ b/rdma/link.c @@ -238,6 +238,9 @@ static int link_parse_cb(const struct nlmsghdr *nlh, void *data) return MNL_CB_ERROR; } + if (!tb[RDMA_NLDEV_ATTR_NDEV_NAME] || !tb[RDMA_NLDEV_ATTR_NDEV_INDEX]) + return MNL_CB_OK; + idx = mnl_attr_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]); port = mnl_attr_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]); name = mnl_attr_get_str(tb[RDMA_NLDEV_ATTR_DEV_NAME]);