j1939: discussion: RX path (J1939_SOCK_RECV_OWN)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We just noticed, in current implementation J1939_SOCK_RECV_OWN doesn't
work anymore (for ETP). And ...naively thinking it probably makes no
sense to support it for different reasons:

- we have a better feedback mechanism via the error queue feature
- with RECV_OWN the socket receives the complete payload back into user
  space, where the error queue will give back message number at state of
  the message/transfer.
- the error queue mechanism is extendable with more information and even
  backwards compatible.

However in the current implementation you'll receive an ACK via error
queue if the (E)TP transfer is completed, but for simple messages, the
ACK is received as soon as the packet has been put into the packet
scheduler. It would be better to wait and send the ACK only after the
simple message has been send onto the wire (i.e.: after the CAN
controller's TX-complete interrupt).

We'll remove J1939_SOCK_RECV_OWN for now.

But we already noticed that this will break jacd, however we think we
can fix it, by using a separate socket to receive. Are there any other
use cases or existing applications relying on this feature?

Oleksij & Marc

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux