Re: j1939: discussion: RX path (J1939_SOCK_RECV_OWN)

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

 



On 7/22/19 3:37 PM, Oleksij Rempel wrote:
> 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?

I think in AGL they switch on self reception of j1939 sockets by default.

Marc

-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

Attachment: signature.asc
Description: OpenPGP digital signature


[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