public inbox for linux-i3c@lists.infradead.org
 help / color / mirror / Atom feed
From: Jeremy Kerr <jk@codeconstruct.com.au>
To: "Winiarska, Iwona" <iwona.winiarska@intel.com>,
	 "matt@codeconstruct.com.au" <matt@codeconstruct.com.au>,
	"linux-i3c@lists.infradead.org" <linux-i3c@lists.infradead.org>
Cc: "alexandre.belloni@bootlin.com" <alexandre.belloni@bootlin.com>,
	 "joel@jms.id.au" <joel@jms.id.au>
Subject: Re: [RFC PATCH 0/2] I3C MCTP net driver
Date: Tue, 09 May 2023 07:42:38 +0800	[thread overview]
Message-ID: <4127aa2454a33bccf666597c292943ded9ccaa5d.camel@codeconstruct.com.au> (raw)
In-Reply-To: <f741f271752a6b141667625676487311a877a3db.camel@intel.com>

Hi Iwona,

> Wouldn't creating "mctpi3cX" network interface for each I3C device rather than
> I3C bus be a better fit to model MCTP over I3C?

Great question! A few reasons for this structure:

 - it is a closer match to existing usage of network interfaces and
   remote endpoints (say, IP, CAN, etc): you have an interface for
   representing the local hardware and stack state, which may provide a
   path for any devices reachable through that hardware.

 - a simpler addressing structure: you only need one *local* MCTP
   address (EID) for the whole bus, rather that one per remote device.

 - the presence/absence of interfaces is not dependent on what's
   connected to the bus. If we used a netdev per remote device, users
   would not be able to set up the local stack until a remote endpoint
   is bound (ie, userspace would need to configure every interface on
   i3c hot join). With this model, that stack state can persist over
   whatever may be happening to remote devices (unplug, reset,
   re-addressing, etc).

 - if there is ever a proposal for broadcast messages in the i3c
   transport binding, we would have to re-write it in this structure
   anyway.

> Why are we following the mctp-i2c approach rather than mctp-serial?

mctp-serial follows the same model: the local device is always present,
the difference here being that no physical addressing is required.
Routes to remote endpoints are added depending on remote endpoint state,
but the local state is preserved regardless of what is (or is not) on
the other end of the link.

> This would also simplify the series, as we would no longer need "mctp-
> controller" property, and the driver would just follow the I3C class driver
> model without the need for notifiers.

It would simplify the series, but we would be punting a lot of those
complexities over to userspace.

Cheers,


Jeremy

-- 
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c

  reply	other threads:[~2023-05-08 23:42 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-13  8:11 [RFC PATCH 0/2] I3C MCTP net driver Matt Johnston
2023-04-13  8:11 ` [RFC PATCH 1/2] i3c: Add support for bus enumeration & notification Matt Johnston
2023-04-13  8:11 ` [RFC PATCH 2/2] mctp i3c: MCTP I3C driver Matt Johnston
2023-05-08 18:27 ` [RFC PATCH 0/2] I3C MCTP net driver Winiarska, Iwona
2023-05-08 23:42   ` Jeremy Kerr [this message]
2023-05-09 21:14     ` Winiarska, Iwona
2023-05-10  3:28       ` Jeremy Kerr
2023-05-13 20:21         ` Winiarska, Iwona
2023-05-15  2:29           ` Jeremy Kerr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4127aa2454a33bccf666597c292943ded9ccaa5d.camel@codeconstruct.com.au \
    --to=jk@codeconstruct.com.au \
    --cc=alexandre.belloni@bootlin.com \
    --cc=iwona.winiarska@intel.com \
    --cc=joel@jms.id.au \
    --cc=linux-i3c@lists.infradead.org \
    --cc=matt@codeconstruct.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox