tipc: add second source address to recvmsg()/recvfrom()
authorJon Maloy <jon.maloy@ericsson.com>
Fri, 13 Oct 2017 09:04:24 +0000 (11:04 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 13 Oct 2017 15:46:00 +0000 (08:46 -0700)
commit31c82a2d9d51fccbb85cbd2be983eb115225301c
treea6681b56dfea5bdae4c6d1459abf6c04131aebec
parent75da2163dbb6af9f2dce1d80056d11d290dd19a5
tipc: add second source address to recvmsg()/recvfrom()

With group communication, it becomes important for a message receiver to
identify not only from which socket (identfied by a node:port tuple) the
message was sent, but also the logical identity (type:instance) of the
sending member.

We fix this by adding a second instance of struct sockaddr_tipc to the
source address area when a message is read. The extra address struct
is filled in with data found in the received message header (type,) and
in the local member representation struct (instance.)

Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/group.c
net/tipc/msg.h
net/tipc/socket.c