hardbyte / hardbyte/python-can

Socketcan uses incorrect flag for direction

Open
#1,274 13 comments 0 reactions 0 assignees View on GitHub
backend:socketcan bug
Dominant language
Python
Stars
1.6k
Forks
697
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.