* [PATCH net-next v1 0/2] tipc: add socketpair support
@ 2017-03-29 9:22 Parthasarathy Bhuvaragan
2017-03-29 9:22 ` [PATCH net-next v1 1/2] tipc: add support for stream/seqpacket socketpairs Parthasarathy Bhuvaragan
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Parthasarathy Bhuvaragan @ 2017-03-29 9:22 UTC (permalink / raw)
To: netdev; +Cc: tipc-discussion
We add socketpair support for connection oriented sockets in
the first patch and for connection less in the second.
Erik Hugne (2):
tipc: add support for stream/seqpacket socketpairs
tipc: allow rdm/dgram socketpairs
net/tipc/socket.c | 28 +++++++++++++++++++++++++---
1 file changed, 25 insertions(+), 3 deletions(-)
--
2.1.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net-next v1 1/2] tipc: add support for stream/seqpacket socketpairs
2017-03-29 9:22 [PATCH net-next v1 0/2] tipc: add socketpair support Parthasarathy Bhuvaragan
@ 2017-03-29 9:22 ` Parthasarathy Bhuvaragan
2017-03-29 9:22 ` [PATCH net-next v1 2/2] tipc: allow rdm/dgram socketpairs Parthasarathy Bhuvaragan
2017-03-29 21:10 ` [PATCH net-next v1 0/2] tipc: add socketpair support David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Parthasarathy Bhuvaragan @ 2017-03-29 9:22 UTC (permalink / raw)
To: netdev; +Cc: tipc-discussion, Erik Hugne
From: Erik Hugne <erik.hugne@gmail.com>
sockets A and B are connected back-to-back, similar to what
AF_UNIX does.
Signed-off-by: Erik Hugne <erik.hugne@gmail.com>
Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
---
net/tipc/socket.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 7130e73bd42c..1198dddf72e8 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -2511,6 +2511,16 @@ static int tipc_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
}
}
+static int tipc_socketpair(struct socket *sock1, struct socket *sock2)
+{
+ struct tipc_sock *tsk2 = tipc_sk(sock2->sk);
+ struct tipc_sock *tsk1 = tipc_sk(sock1->sk);
+
+ tipc_sk_finish_conn(tsk1, tsk2->portid, 0);
+ tipc_sk_finish_conn(tsk2, tsk1->portid, 0);
+ return 0;
+}
+
/* Protocol switches for the various types of TIPC sockets */
static const struct proto_ops msg_ops = {
@@ -2540,7 +2550,7 @@ static const struct proto_ops packet_ops = {
.release = tipc_release,
.bind = tipc_bind,
.connect = tipc_connect,
- .socketpair = sock_no_socketpair,
+ .socketpair = tipc_socketpair,
.accept = tipc_accept,
.getname = tipc_getname,
.poll = tipc_poll,
@@ -2561,7 +2571,7 @@ static const struct proto_ops stream_ops = {
.release = tipc_release,
.bind = tipc_bind,
.connect = tipc_connect,
- .socketpair = sock_no_socketpair,
+ .socketpair = tipc_socketpair,
.accept = tipc_accept,
.getname = tipc_getname,
.poll = tipc_poll,
--
2.1.4
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH net-next v1 2/2] tipc: allow rdm/dgram socketpairs
2017-03-29 9:22 [PATCH net-next v1 0/2] tipc: add socketpair support Parthasarathy Bhuvaragan
2017-03-29 9:22 ` [PATCH net-next v1 1/2] tipc: add support for stream/seqpacket socketpairs Parthasarathy Bhuvaragan
@ 2017-03-29 9:22 ` Parthasarathy Bhuvaragan
2017-03-29 21:10 ` [PATCH net-next v1 0/2] tipc: add socketpair support David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Parthasarathy Bhuvaragan @ 2017-03-29 9:22 UTC (permalink / raw)
To: netdev; +Cc: tipc-discussion, Erik Hugne
From: Erik Hugne <erik.hugne@gmail.com>
for socketpairs using connectionless transport, we cache
the respective node local TIPC portid to use in subsequent
calls to send() in the socket's private data.
Signed-off-by: Erik Hugne <erik.hugne@gmail.com>
Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
---
net/tipc/socket.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 1198dddf72e8..15f6ce7bf868 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -2515,9 +2515,21 @@ static int tipc_socketpair(struct socket *sock1, struct socket *sock2)
{
struct tipc_sock *tsk2 = tipc_sk(sock2->sk);
struct tipc_sock *tsk1 = tipc_sk(sock1->sk);
-
- tipc_sk_finish_conn(tsk1, tsk2->portid, 0);
- tipc_sk_finish_conn(tsk2, tsk1->portid, 0);
+ u32 onode = tipc_own_addr(sock_net(sock1->sk));
+
+ tsk1->peer.family = AF_TIPC;
+ tsk1->peer.addrtype = TIPC_ADDR_ID;
+ tsk1->peer.scope = TIPC_NODE_SCOPE;
+ tsk1->peer.addr.id.ref = tsk2->portid;
+ tsk1->peer.addr.id.node = onode;
+ tsk2->peer.family = AF_TIPC;
+ tsk2->peer.addrtype = TIPC_ADDR_ID;
+ tsk2->peer.scope = TIPC_NODE_SCOPE;
+ tsk2->peer.addr.id.ref = tsk1->portid;
+ tsk2->peer.addr.id.node = onode;
+
+ tipc_sk_finish_conn(tsk1, tsk2->portid, onode);
+ tipc_sk_finish_conn(tsk2, tsk1->portid, onode);
return 0;
}
@@ -2529,7 +2541,7 @@ static const struct proto_ops msg_ops = {
.release = tipc_release,
.bind = tipc_bind,
.connect = tipc_connect,
- .socketpair = sock_no_socketpair,
+ .socketpair = tipc_socketpair,
.accept = sock_no_accept,
.getname = tipc_getname,
.poll = tipc_poll,
--
2.1.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net-next v1 0/2] tipc: add socketpair support
2017-03-29 9:22 [PATCH net-next v1 0/2] tipc: add socketpair support Parthasarathy Bhuvaragan
2017-03-29 9:22 ` [PATCH net-next v1 1/2] tipc: add support for stream/seqpacket socketpairs Parthasarathy Bhuvaragan
2017-03-29 9:22 ` [PATCH net-next v1 2/2] tipc: allow rdm/dgram socketpairs Parthasarathy Bhuvaragan
@ 2017-03-29 21:10 ` David Miller
2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2017-03-29 21:10 UTC (permalink / raw)
To: parthasarathy.bhuvaragan; +Cc: netdev, tipc-discussion
From: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
Date: Wed, 29 Mar 2017 11:22:15 +0200
> We add socketpair support for connection oriented sockets in
> the first patch and for connection less in the second.
Series applied, thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-03-29 21:10 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-29 9:22 [PATCH net-next v1 0/2] tipc: add socketpair support Parthasarathy Bhuvaragan
2017-03-29 9:22 ` [PATCH net-next v1 1/2] tipc: add support for stream/seqpacket socketpairs Parthasarathy Bhuvaragan
2017-03-29 9:22 ` [PATCH net-next v1 2/2] tipc: allow rdm/dgram socketpairs Parthasarathy Bhuvaragan
2017-03-29 21:10 ` [PATCH net-next v1 0/2] tipc: add socketpair support David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.