Skip to content

Socketcan uses incorrect flag for direction #1274

@chemicstry

Description

@chemicstry

The socketcan implementation is using MSG_DONTROUTE flag instead of MSG_CONFIRM flag to set the is_rx message field. This breaks applications where virtual can interface is used, because all messages originate from the same host and thus is_rx is always false. IMO the correct behavior should be to use MSG_CONFIRM flag instead, but this could break some existing applications if they use two instances of the same socket simultaneously. Opinions?

MSG_DONTROUTE and MSG_CONFIRM docs (section 4.1.7): https://www.kernel.org/doc/Documentation/networking/can.txt

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions