>        if (-1 == bind(sock, (struct sockaddr*)&listen_addr, sizeof(struct 
> sockaddr_tipc)))
>          perror("Error opening TIPC socket");

 >       *(int*)buf = addr;
 >       int rc = sendto(sock, buf, sendsize, 0, (struct sockaddr*)&to_addr, 
 > sizeof(to_addr));

You are not recommended to design your application this way.
Published messages are TIPC internal messages. There is no guarantee that they 
and user data messages are sent/received in correct order. Especially, since 
kernel 5.10, Published messages are sent on Broadcast link whereas user data 
messages are sent on Unicast link.
These links have different send queues, sequence numbering engines etc. So, 
what you showed in TCP dump is an expected behavior.


_______________________________________________
tipc-discussion mailing list
tipc-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to