The bare interface basically provides a way to send a contiguous region of memory to other nodes in various ways, but will not traverse your linked list for you in order to do it.
Thus, you need to decide how you want to transmit and receive data based on what makes sense for your algorithm in order to optimize performance. For example, you could send one message per element, or collect many of them and scatter.