From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id 352DB2BF3 for ; Tue, 23 Jan 2018 15:30:16 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id A7D49210A1; Tue, 23 Jan 2018 09:30:15 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Tue, 23 Jan 2018 09:30:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=mesmtp; bh=HnIiF3AFwSB9ecfVsivVJcWXeN PLL+cmrEOot9lIMP0=; b=klhk1oGQ0e+x5v72XwYs2yNZbRbHgbHgNXSriAcnz6 9uhZnoXZp+1j+DdQTBa5pda00uvcWul9LqFp0MvwDIeBcGkTNa8qbqOkHGp2WtuW YEEI5lraoQmc3nGewF68L3iYFE7zBemJWfuz1NuZL+Fq6fjwQYNo/xF7j4zC/S18 0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=HnIiF3 AFwSB9ecfVsivVJcWXeNPLL+cmrEOot9lIMP0=; b=qJHTMx/u87EIahxxmYMy0q tJ15UxB9hRO3DoL0UOu/j6Lp2IlxVx4/ILWeGpksFtD8xb1RrcL4CFUZ/Ep8NnXW QFuaRiZkrA2Qc/Ggjtl4Eo7iuacu2oTmKi/OIG8zNuxETe8dNwoY92I8yYK3Ghbm 6qmmWLt+Ern+ou4VDIzdh68FeIcVG1aTTQiovIYABY7wkSSk6lerKE5IDJ6IaMfV +3n5Uk3du9b9+XoloR5JzRNec3VsRa+A0aGL1ISVWv+So6nw4OtztudC4o9as3hk eL0CZxTyOd8DdObmbL9R7Evmijv2Lym4EKk5bMPRWZ+CLx/be6Z5Nbjts0iYtvHg == X-ME-Sender: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 5157424771; Tue, 23 Jan 2018 09:30:15 -0500 (EST) From: Thomas Monjalon To: Yuanhan Liu , =?ISO-8859-1?Q?Ga=EBtan?= Rivet Cc: Ferruh Yigit , dev@dpdk.org Date: Tue, 23 Jan 2018 15:29:34 +0100 Message-ID: <17059484.9s6tGoQGou@xps> In-Reply-To: <20180123124602.GS29540@yliu-mob> References: <1516114218-21501-1-git-send-email-yliu@fridaylinux.org> <20180118094623.gu5ahrfd75b5gcct@bidouze.vm.6wind.com> <20180123124602.GS29540@yliu-mob> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Subject: Re: [dpdk-dev] [PATCH] doc: document the new devargs syntax X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Jan 2018 14:30:16 -0000 23/01/2018 13:46, Yuanhan Liu: > On Thu, Jan 18, 2018 at 10:46:23AM +0100, Ga=EBtan Rivet wrote: > > On Thu, Jan 18, 2018 at 09:46:29AM +0100, Thomas Monjalon wrote: > > > 18/01/2018 08:35, Yuanhan Liu: > > > > On Wed, Jan 17, 2018 at 12:34:08PM +0000, Ferruh Yigit wrote: > > > > > So does it make sense to separate them logically? Perhaps as "dev= ice identifier" > > > > > and "device args". > > > >=20 > > > > Then I think it returns back to the old issue: how could we identif= y a > > > > port when the bus id (say BDF for PCI bus) is not enough for identi= fying > > > > a port? Such case could happen when a single NIC has 2 ports sharing > > > > the same BDF. It could also happen with the VF representors that wi= ll > > > > be introduced shortly. > > >=20 > > > Yes, the device matching syntax must include bus category, class cate= gory > > > and driver category. So any device can be identified in future. > > >=20 > > > But I think Ferruh is talking about separating device matching > > > (which is described in this proposal) and device settings > > > (which are usually mixed in -w and --vdev options). > > > I agree there are different things and may be separate. > > > They could share the same syntax (bus/class/driver) but be separate > > > with a semicolon: > > > matching;settings > > > > Can you give an example? >=20 > Let's take port addition in OVS-DPDK as an example. It happens in 2 > steps: > - port lookup (if port is already probed) > - dev attachment (if lookup fails) >=20 > And also let's assume we need probe a ConnectX-3 port. Note that for > ConnectX-3, there are 2 ports sharing the same PCI addr. Thus, PCI > BDF is not enough. And let's assume we use another extra property > "port". >=20 > If the proposal described in this patch is being used, the devarg > would look like following: >=20 > bus=3Dpci,id=3D04:00.0/class=3Deth,port=3D0/driver=3Dmlx4,mlx4_arg_A= =3Dval,... >=20 > Then "bus=3Dpci,id=3D04:00.0/class=3Deth,port=3D0" will be used for looku= p, > It means we are looking for a port with PCI BDF =3D=3D 04:00.0 AND > port =3D=3D 0 (the first port of the 2 ports). >=20 > Note that in my proposal the driver category is not intended for lookup. > If any properties needed be looked in the driver category, they would > probably need be elevated to the class category. It is not my thought. I think we should be able to use bus, class and driver properties for looku= p. We can imagine doing a lookup on a driver specific id, which is not candidate to elevation to the class category. > If port not found, then the whole string will be used for dev attachment. > It means we are attaching a port with PCI BDF =3D=3D 04.00.0 AND > port =3D=3D 0 (the 2nd port will not be attached). >=20 >=20 > And here is how the devargs would look like if "matching;settings" is > being used: >=20 > bus=3Dpci,id=3D04:00.0/class=3Deth,port=3D0;bus=3Dpci,id=3D04:00.0/cl= ass=3Deth,port=3D0/driver=3Dmlx4,mlx4_arg_A=3Dval,... >=20 > The part before ";" will be used for lookup and the later part will be > used for attachment. It should work. It just looks redundant. It does not have to be redundant. It can be: bus=3Dpci,id=3D04:00.0/class=3Deth,port=3D0;driver=3Dmlx4,mlx4_arg1=3Dsett= ings1,... Another example, setting the MAC address: bus=3Dpci,id=3D04:00.0/class=3Deth,port=3D0;class=3Deth,mac=3D00:11:22:33:= 44:55