Branch: refs/heads/sctp-fixes
Home: https://github.com/kronosnet/kronosnet
Commit: 6108120eb3a646b7d504f58ed43dd8ecf3513baa
https://github.com/kronosnet/kronosnet/commit/6108120eb3a646b7d504f58ed43dd…
Author: Christine Caulfield <ccaulfie(a)redhat.com>
Date: 2020-01-24 (Fri, 24 Jan 2020)
Changed paths:
M libknet/transport_common.c
M libknet/transport_sctp.c
Log Message:
-----------
[rx] Don't return 512 EOF messages from _recvmmsg
If recvmsg() returns 0 for EOF then it's going to do so
until the error is rectified or read with getsockopt(). But
the _recvmmsg() wrapper keeps reading until the vector is full
thus returning a block of 512 EOF messages all of which the caller
has to plough through.
This patch causes _recvmmsg() to return as soon as it has got
the first EOF so the the caller can deal with it in good time
and not spin looking at the same thing over and over again.
I've also fixed a couple of typos in related comments
Commit: d2064731e8b778a9508fddaa1693ac22fec39ef8
https://github.com/kronosnet/kronosnet/commit/d2064731e8b778a9508fddaa1693a…
Author: Christine Caulfield <ccaulfie(a)redhat.com>
Date: 2020-01-24 (Fri, 24 Jan 2020)
Changed paths:
M libknet/transport_common.c
Log Message:
-----------
[tx] Don't Clear out msghdr for all transports.
When sending a message to multiple links, if one of those links
is not connection-oriented then msg_name & msg_namelen would be cleared,
thus breaking the send to any subsequent non-connection-oriented links.
So now, if we need to clear out msg_name & msg_namelen, we take a copy of the
msghdr and edit that instead,
Commit: 72156af66f90daf6e44010dd001fd561f49054e6
https://github.com/kronosnet/kronosnet/commit/72156af66f90daf6e44010dd001fd…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2020-01-24 (Fri, 24 Jan 2020)
Changed paths:
M libknet/threads_rx.c
M libknet/transport_udp.c
M libknet/transports.h
Log Message:
-----------
[rx] use defines to determine RX data types vs random numbers
also extend a bit to make ready for SCTP extra return codes
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 142f6fb4c758e99219cce5842e31eca327742c5d
https://github.com/kronosnet/kronosnet/commit/142f6fb4c758e99219cce5842e31e…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2020-01-24 (Fri, 24 Jan 2020)
Changed paths:
M libknet/transport_sctp.c
Log Message:
-----------
[sctp] major surgery to use only SCTP events to determine socket status
- drop concept of on_connected_epoll to determine if socket is ready or not
- provide much better debugging output at all levels
- incorporate fix from Xin Long <lxin(a)redhat.com> to gather socket status
at the right time
- deal with a recent kernel change on SCTP socket that broke knet (from rhel7):
[net] sctp: allow delivering notifications after receiving SHUTDOWN
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Compare: https://github.com/kronosnet/kronosnet/compare/60121cbf6cb5...142f6fb4c758
Branch: refs/heads/sctp-fixes
Home: https://github.com/kronosnet/kronosnet
Commit: 60121cbf6cb50b1c86fd3351683610b971450951
https://github.com/kronosnet/kronosnet/commit/60121cbf6cb50b1c86fd335168361…
Author: Christine Caulfield <ccaulfie(a)redhat.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M libknet/transport_common.c
Log Message:
-----------
[tx] Don't Clear out msghdr for all transports.
When sending a message to multiple links, if one of those links
is not connection-oriented then msg_name & msg_namelen would be cleared,
thus breaking the send to any subsequent non-connection-oriented links.
So now, if we need to clear out msg_name & msg_namelen, we take a copy of the
msghdr and edit that instead,
Branch: refs/heads/sctp-fixes
Home: https://github.com/kronosnet/kronosnet
Commit: d021444af6ec5842be5b8a19e169b95292a92847
https://github.com/kronosnet/kronosnet/commit/d021444af6ec5842be5b8a19e169b…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M libknet/threads_rx.c
Log Message:
-----------
[rx] send reply packets only when transport is connected
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: f23b3833e726619848ddf9265a3e36916ed4101c
https://github.com/kronosnet/kronosnet/commit/f23b3833e726619848ddf9265a3e3…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M libknet/transport_sctp.c
Log Message:
-----------
[sctp] improve debugging output for sctp connect sockets
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 7dcd25184fb5cffef9449e4697ecd9b8a98ee6fc
https://github.com/kronosnet/kronosnet/commit/7dcd25184fb5cffef9449e4697ecd…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M libknet/transport_sctp.c
Log Message:
-----------
[sctp] check socket errors only after socket re-create process
For some unknown reasons (yet), this code used to work with older kernels,
but it recently broke.
Regardless of the kernel change, it is incorrect to get the socket status
before re-creating the socket and rely on the old status for the new
socket behavior.
By moving the check after the socket re-creation, then knet behaves correctly.
This patch will be merged once we have a full explanation of what changed
in kernel.
Original-Patch-by: Xin Long <lxin(a)redhat.com>
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 4dba78cd352e384b4e80d1611d7c3e8c838af0e8
https://github.com/kronosnet/kronosnet/commit/4dba78cd352e384b4e80d1611d7c3…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M libknet/transport_sctp.c
Log Message:
-----------
[sctp] make sctp great again on BSD
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: e5f390b57a8d6be8003df8c56f7f8d7a413f588c
https://github.com/kronosnet/kronosnet/commit/e5f390b57a8d6be8003df8c56f7f8…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M libknet/threads_rx.c
M libknet/transport_sctp.c
Log Message:
-----------
[sctp] change code to use only events to detect transport status
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 546583e651d9eeb43024c01d9b9b3406e396f670
https://github.com/kronosnet/kronosnet/commit/546583e651d9eeb43024c01d9b9b3…
Author: Christine Caulfield <ccaulfie(a)redhat.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M libknet/transport_common.c
M libknet/transport_sctp.c
Log Message:
-----------
[rx] Don't return 512 EOF messages from _recvmmsg
If recvmsg() returns 0 for EOF then it's going to do so
until the error is rectified or read with getsockopt(). But
the _recvmmsg() wrapper keeps reading until the vector is full
thus returning a block of 512 EOF messages all of which the caller
has to plough through.
This patch causes _recvmmsg() to return as soon as it has got
the first EOF so the the caller can deal with it in good time
and not spin looking at the same thing over and over again.
I've also fixed a couple of typos in related comments
Compare: https://github.com/kronosnet/kronosnet/compare/83865a0a9ebf...546583e651d9