[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGXJAmwfyU0rdrp0g6UU8ctLHUrq_sAKTSk2R4LWoOgMTfPEAA@mail.gmail.com>
Date: Sun, 13 Nov 2022 12:10:22 -0800
From: John Ousterhout <ouster@...stanford.edu>
To: Andrew Lunn <andrew@...n.ch>
Cc: Jiri Pirko <jiri@...nulli.us>,
Stephen Hemminger <stephen@...workplumber.org>,
netdev@...r.kernel.org
Subject: Re: Upstream Homa?
On Sun, Nov 13, 2022 at 9:10 AM Andrew Lunn <andrew@...n.ch> wrote:
>
> > Homa implements RPCs rather than streams like TCP or messages like
> > UDP. An RPC consists of a request message sent from client to server,
> > followed by a response message from server back to client. This requires
> > additional information in the API beyond what is provided in the arguments to
> > sendto and recvfrom. For example, when sending a request message, the
> > kernel returns an RPC identifier back to the application; when waiting for
> > a response, the application can specify that it wants to receive the reply for
> > a specific RPC identifier (or, it can specify that it will accept any
> > reply, or any
> > request, or both).
>
> This sounds like the ancillary data you can pass to sendmsg(). I've
> not checked the code, it might be the current plumbing is only into to
> the kernel, but i don't see why you cannot extend it to also allow
> data to be passed back to user space. If this is new functionality,
> maybe add a new flags argument to control it.
>
> recvmsg() also has ancillary data.
Whoah! I'd never noticed the msg_control and msg_controllen fields before.
These may be sufficient to do everything Homa needs. Thanks for pointing
this out.
-John-
Powered by blists - more mailing lists