When pallas acts as a responder and the remote side sends a handshake offer with InitiatorOnly=False pallas will refuse the connection and emit a "handshake version not accepted".
The correct behavior is for pallas to accept the handshake but respond with an AcceptVersion message with InitiatorOnly=True. The end result is a simplex mux bearer where pallas only runs the responder side of the miniprotocols and the remote end only runs the initiator miniprotocols.
From the network protocol spec: "diffusion mode SHOULD be initiator only if and only if any side proposes the initiator-only mode (i.e. the logical disjunction operator);", see https://ouroboros-network.cardano.intersectmbo.org/pdfs/network-spec/network-spec.pdf
When pallas acts as a responder and the remote side sends a handshake offer with
InitiatorOnly=Falsepallas will refuse the connection and emit a "handshake version not accepted".The correct behavior is for pallas to accept the handshake but respond with an AcceptVersion message with
InitiatorOnly=True. The end result is a simplex mux bearer where pallas only runs the responder side of the miniprotocols and the remote end only runs the initiator miniprotocols.From the network protocol spec: "diffusion mode SHOULD be initiator only if and only if any side proposes the initiator-only mode (i.e. the logical disjunction operator);", see https://ouroboros-network.cardano.intersectmbo.org/pdfs/network-spec/network-spec.pdf