All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.