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