Cornelia Huck
2021-Mar-15 15:53 UTC
[RFC PATCH v1] virtio-vsock: use enums instead of hardcoded constants
On Mon, 15 Mar 2021 11:35:41 +0300 Arseny Krasnov <arseny.krasnov at kaspersky.com> wrote:> This replaces constants defined in "bit X set to Y" manner > with enums from Linux kernel uapi headers. > --- > virtio-vsock.tex | 29 ++++++++++++++++++++++------- > 1 file changed, 22 insertions(+), 7 deletions(-) > > diff --git a/virtio-vsock.tex b/virtio-vsock.tex > index da7e641..a97a81e 100644 > --- a/virtio-vsock.tex > +++ b/virtio-vsock.tex > @@ -140,8 +140,14 @@ \subsubsection{Addressing}\label{sec:Device Types / Socket Device / Device Opera > consists of a (cid, port number) tuple. The header fields used for this are > \field{src_cid}, \field{src_port}, \field{dst_cid}, and \field{dst_port}. > > -Currently only stream sockets are supported. \field{type} is 1 for stream > -socket types. > +Currently only stream sockets are supported. \field{type} is one of the > +following constants: > + > +\begin{lstlisting} > +enum virtio_vsock_type { > + VIRTIO_VSOCK_TYPE_STREAM = 1, > +}; > +\end{lstlisting} > > Stream sockets provide in-order, guaranteed, connection-oriented delivery > without message boundaries. > @@ -221,11 +227,20 @@ \subsubsection{Stream Sockets}\label{sec:Device Types / Socket Device / Device O > a listening socket does not exist on the destination or the destination has > insufficient resources to establish the connection. > > -When a connected socket receives VIRTIO_VSOCK_OP_SHUTDOWN the header > -\field{flags} field bit 0 indicates that the peer will not receive any more > -data and bit 1 indicates that the peer will not send any more data. These > -hints are permanent once sent and successive packets with bits clear do not > -reset them. > +When a connected socket receives VIRTIO_VSOCK_OP_SHUTDOWN, header \field{flags} > +field is one of the following constants:I don't think these two are required to be mutually exclusive (i.e. both can be indicated at the same time?)> + > +\begin{lstlisting} > +enum virtio_vsock_shutdown { > + VIRTIO_VSOCK_SHUTDOWN_RCV = 1, > + VIRTIO_VSOCK_SHUTDOWN_SEND = 2, > +}; > +\end{lstlisting} > + > +VIRTIO_VSOCK_SHUTDOWN_RCV indicates that the peer will not receive any more > +data and VIRTIO_VSOCK_SHUTDOWN_SEND indicates that the peer will not send > +any more data. These hints are permanent once sent and successive packets > +with bits clear do not reset them. > > The VIRTIO_VSOCK_OP_RST packet aborts the connection process or forcibly > disconnects a connected socket.