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>
This commit is contained in:
Jon Maloy
2017-10-13 11:04:24 +02:00
committed by David S. Miller
parent 75da2163db
commit 31c82a2d9d
3 changed files with 37 additions and 16 deletions

View File

@@ -100,6 +100,7 @@ struct plist;
struct tipc_skb_cb {
u32 bytes_read;
u32 orig_member;
struct sk_buff *tail;
bool validated;
u16 chain_imp;