@@ -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