[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c9c63da7-bc8a-7307-63f1-1f393b017da2@usi.ch>
Date: Fri, 18 Aug 2023 09:50:45 +0200
From: Davide Rovelli <roveld@....ch>
To: Andrew Lunn <andrew@...n.ch>
Cc: Miguel Ojeda <miguel.ojeda.sandonis@...il.com>,
Michele Dalle Rive <dallerivemichele@...il.com>,
Greg KH <gregkh@...uxfoundation.org>, Miguel Ojeda <ojeda@...nel.org>,
Alex Gaynor <alex.gaynor@...il.com>,
Wedson Almeida Filho <wedsonaf@...il.com>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Benno Lossin <benno.lossin@...ton.me>, Alice Ryhl <aliceryhl@...gle.com>,
Davide Rovelli <davide.rovelli@....ch>, rust-for-linux@...r.kernel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org, patches@...ts.linux.dev
Subject: Re: [RFC PATCH 0/7] Rust Socket abstractions
On 8/18/23 03:30, Andrew Lunn wrote:
> So you have an application in user space wanting to use this
> protocol. I assume it is using BSD sockets to communicate with the
> kernel and the protocol.
No, at the moment it uses procfs or a shared mmap'd chardev buffer.
> So you need an API below sockets to get this
> traffic, i assume a whole new protocol family? But you have an API on
> top of sockets for TCP/UDP. So i guess your protocol somehow
> encapsulate the traffic and then uses the API your are proposing to
> send over TCP or UDP?
Yes, we take a message/value from a user space app and send it to
other nodes via UDP according to the chosen protocol. Mind that
the term "protocol" might be misleading here as it can be confused
with classic network protocols. Our API offers distributed services
such as failure detectors, consensus etc.
> Which makes me think:
>
> Why go through sockets twice for a low jitter networking protocol?
The idea behind the system is to be split: user space apps are
normal apps that can present arbitrary jitter, kernel space services
are isolated to provide low jitter. The same applies in the network
via a SDN based protocol which prioritises our traffic. By having
end-to-end timely communication and processing, we can achieve
new efficient distributed services.
Powered by blists - more mailing lists