> Ok, it means we should support different programming models for > different transfer sizes. > 1. send over socket with sensible buffer size (1-10 MiB) > 2. send over memfd? size up to J1939_MAX_ETP_PACKET_SIZE. > Needs different programming model in user space. > 3. Add support for SOCK_STREAM, where kernel splits data into sensible > sized ETP messages. Message boundaries from user space are not > preserved, like TCP. > > Before I'll start with 1. variant, what would be "sensible buffer size"? > Is 1 MiB enough? > Hi, from what I read in J1939-73, a common transfer size would be 2kiB as the length field for binary transfer (DM14-DM18) is 11bit in width, so 1MiB should be plenty. From my experience with agriculture equipment, usually the terminals are the only decent "computers" in the machine while other nodes are bare metal systems on low resource micro controllers. Therefore the terminal would be the host receiving data from external sources (USB, WLAN or 3G Modem) and distributing data to the other nodes. It would be interesting to know the use-case for your >100MiB transfers. This could take a whole day on most systems I know. Best Regards, Patrick
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature