Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp464075pxj; Thu, 3 Jun 2021 10:54:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzQPguEywuAUUlA/Qb2QM4CKtueAGuJKWG6y3+0PNp2/fN2vKsMUyCdT68PtiIFEJy1HFGs X-Received: by 2002:a17:906:1404:: with SMTP id p4mr505377ejc.107.1622742885159; Thu, 03 Jun 2021 10:54:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622742885; cv=none; d=google.com; s=arc-20160816; b=GYZ0oXXZPbQHq8Xg1XS+qc8/AJBh4xFl+TwjrBN12/oboRiiFHVXIumfYcRpe7zgzU F03aJL4KbnyULy2dgwVlY+AhWLOiwKqTAZ2Tk6j9H/57LXqslfbyi1UD4Wa+v3N/q4JE ZQbbgjwsXW0dfTeZURPFi5cJEYrbik6ol21VjPVHLNutWlFtM7/IjsZgdOgUvwJvvDJ8 RkZMjxIIKwbMea9tqAbOAwn+9nXISw1kvsRU7n2haltXxLeFctlIqahbQku7u/gaZViz WdmEAXEWDiV7W0QL8w1/xJFNGt6v6RSaURh25oDFfoeusFATEXiwUbAeOz9uuEFK8ouc 8qCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=Vk3Y/Lj4rm1BljX/hHr6NSS84KIddvDECBlH6bKVIbA=; b=aaWIN9j6RmG2R4Es1Kl7WOYiXhvm9otYCeNg+hXyQjhvmgnJjjfZpfsE6DirmJ08Z0 KF73brt5Ic3ogt1j1FYKofO993XChuQ7krXiaSney9jHp1DpCKb1VSn+43GKoTdjGJGm pyM6hMizNsTeTXRA50V8xe5CpiNWQuhx2n/k4dRcj8JY1rdCnSwtv3G1ulZhwLKq/Obm gfgcDhFM+sEjob/BTbXYhE1UNTgYi4k6AyOwRYTnJdaZpaBVpX3cFWpEbqxLXhkuxpgJ BI2uUMvv4NlCSxDyyJ1iyF83jIeTnFOs3e9d4B4iotXD6WBQto7Cn69EFKF4lzOoLNHJ /Mjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=S7L2kPDW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id nd28si2437082ejc.701.2021.06.03.10.54.06; Thu, 03 Jun 2021 10:54:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=S7L2kPDW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229885AbhFCRy6 (ORCPT + 99 others); Thu, 3 Jun 2021 13:54:58 -0400 Received: from mail.kernel.org ([198.145.29.99]:44650 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229791AbhFCRy6 (ORCPT ); Thu, 3 Jun 2021 13:54:58 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 7C66861361; Thu, 3 Jun 2021 17:53:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1622742793; bh=/4+zqLM/v5L+l1gJvmrPkAnFdvQifn4m+n1bUWinqI8=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=S7L2kPDWr+/Us0lQm787aWEhcQTWzAzDl+4Q6HaptAcIY6rTylqwm8p2b/9VRu5Q4 R4M4joTvINf9ts7vQqVSItcBFo3Li8HHGhQeoCvd0IKQz56xp76H7e4R+bhE3sNPBZ DvpxN0JhR8/qZhXOgKcULS+qBNBUvEuIbd6xX4WaBzPHzFvGVAOWn0xqODFv+BRprI 2OGkbnLZbWIvPWslCIgQsz9g12OUn+gXpyu27nNhHlOcyu8q82uNgwD7PbXNIFR70d gZwxFBBmFu9+hb+1RtLJu9Ah1YFY6zVikab/z/TRxi864AcQnDB6fSc83QvWcq1xIr bTuZL/VrjDSPw== Date: Thu, 3 Jun 2021 10:53:11 -0700 From: Jakub Kicinski To: Yunsheng Lin Cc: moyufeng , Jakub Kicinski , Jiri Pirko , Parav Pandit , Or Gerlitz , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "michal.lkml@markovi.net" , "davem@davemloft.net" , "gregkh@linuxfoundation.org" , Jiri Pirko , Salil Mehta , "lipeng (Y)" , Guangbin Huang , , "chenhao (DY)" , Jiaran Zhang Subject: Re: [RFC net-next 0/8] Introducing subdev bus and devlink extension Message-ID: <20210603105311.27bb0c4d@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net> In-Reply-To: <857e7a19-1559-b929-fd15-05e8f38e9d45@huawei.com> References: <1551418672-12822-1-git-send-email-parav@mellanox.com> <20190301120358.7970f0ad@cakuba.netronome.com> <20190304174551.2300b7bc@cakuba.netronome.com> <76785913-b1bf-f126-a41e-14cd0f922100@huawei.com> <20210531223711.19359b9a@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net> <7c591bad-75ed-75bc-5dac-e26bdde6e615@huawei.com> <20210601143451.4b042a94@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net> <20210602093440.15dc5713@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net> <857e7a19-1559-b929-fd15-05e8f38e9d45@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 3 Jun 2021 11:46:43 +0800 Yunsheng Lin wrote: > >> can devlink port be used to indicate different PF in the same ASIC, > >> which already has the bus identifiers in it? It seems we need a > >> extra identifier to indicate the ASIC? > >> > >> $ devlink port show > >> ... > >> pci/0000:03:00.0/61: type eth netdev sw1p1s0 split_group 0 > > > > Ports can obviously be used, but which PCI device will you use to > > register the devlink instance? Perhaps using just one doesn't matter > > if there is only one NIC in the system, but may be confusing with > > multiple NICs, no? > > Yes, it is confusing, how about using the controler_id to indicate > different NIC? we can make sure controler_id is unqiue in the same > host, a controler_id corresponds to a devlink instance, vendor info > or serial num for the devlink instance can further indicate more info > to the system user? > > pci/controler_id/0000:03:00.0/61 What is a "controller id" in concrete terms? Another abstract ID which may change on every boot? > >> Does it make sense if the PF first probed creates a auxiliary device, > >> and the auxiliary device driver creates the devlink instance? And > >> the PF probed later can connect/register to that devlink instance? > > > > I would say no, that just adds another layer of complication and > > doesn't link the functions in any way. > > How about: > The PF first probed creates the devlink instance? PF probed later can > connect/register to that devlink instance created by the PF first probed. > It seems some locking need to ensure the above happens as intended too. > > About linking, the PF provide vendor info/serial number(or whatever is > unqiue between different vendor) of a controller it belong to, if the > controller does not exist yet, create one and connect/register to that > devlink instance, otherwise just do the connecting/registering. Sounds about right, but I don't understand why another ID is necessary. Why not allow devlink instances to have multiple names, like we allow aliases for netdevs these days?