Skip to content

Commit 0b03f76

Browse files
virtio-msg: Switch error signaling to normative
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
1 parent 8f986d0 commit 0b03f76

1 file changed

Lines changed: 24 additions & 22 deletions

File tree

transport-msg.tex

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -314,31 +314,33 @@ \subsubsection{Feature Negotiation Blocks}
314314
\subsubsection{Error Signaling}
315315
\label{sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts / ErrorSignaling}
316316

317-
Errors MAY arise from: (a) malformed or unsupported transport messages, (b)
318-
transmission or routing issues within a bus implementation, or (c) device-side
319-
failures while processing a valid request. Local detection and recovery are
320-
preferred, but a virtio-msg bus MAY report transmission errors to the
321-
virtio-msg transport when it cannot deliver a request or obtain a response
322-
within a bounded policy.
323-
324-
The following rules apply:
317+
Transport errors can arise from malformed messages, routing failures inside a
318+
bus implementation, or device-side faults while processing a valid request.
319+
Implementations should handle such faults locally where possible, but a bus may
320+
surface an error to the virtio-msg transport if it cannot deliver a request or
321+
obtain a response within its policy.
322+
323+
\busnormative{\paragraph}{Error Handling (Bus)}{Virtio Transport Options / Virtio Over Messages / Basic Concepts / ErrorSignaling / Bus}
324+
\begin{itemize}
325+
\item A bus implementation MAY report a transport-visible failure (for example, after exhausting
326+
a bounded retry policy) when it cannot deliver a request or obtain a response.
327+
\item A bus implementation MUST treat malformed headers or unsupported \field{msg_id} values as
328+
invalid, MUST discard them without generating additional protocol traffic, and MAY log the
329+
condition for diagnostics.
330+
\item A bus implementation MUST NOT generate error responses to event (one-way) messages.
331+
\end{itemize}
332+
333+
\devicenormative{\paragraph}{Error Handling (Device)}{Virtio Transport Options / Virtio Over Messages / Basic Concepts / ErrorSignaling / Device}
325334
\begin{itemize}
326-
\item A bus implementation MAY surface a transport-visible failure
327-
(implementation-defined) after exhausting any bounded retry policy for
328-
a transmission error.
329-
\item Malformed headers or unsupported \field{msg_id} values SHOULD
330-
be discarded; the receiver MAY log them and SHOULD NOT
331-
generate further protocol traffic in response.
332-
\item Event (one-way) messages MUST NOT elicit an error response.
333-
\item Recovery actions (retry, selective reset, device removal) are
334-
environment-specific but MUST comply with any normative reset
335-
or status handling semantics described in
336-
\ref{sec:Virtio Transport Options / Virtio Over Messages / Device Operation}.
335+
\item A device receiving a malformed or unsupported transport message MUST discard it without
336+
producing further protocol traffic.
337+
\item Recovery actions taken in response to an error (such as retries, selective resets, or device
338+
removal) MUST follow the normative reset and status semantics defined in
339+
\ref{sec:Virtio Transport Options / Virtio Over Messages / Device Operation}.
337340
\end{itemize}
338341

339-
This specification does not mandate a specific error reporting message for
340-
transmission failures; it only permits a virtio-msg bus to surface such
341-
failures to the virtio-msg transport when silent recovery is not feasible.
342+
This specification does not define a dedicated error-reporting message; it only permits implementations
343+
to surface failures when silent recovery is not feasible.
342344

343345
\subsubsection{Endianness}
344346
\label{sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Endianness}

0 commit comments

Comments
 (0)