a waste of time which can hurt a lot in some situations.
This patch replaces the msleep(1000) call with waiting for a completion.
The maximum waiting time now can be configured via a module parameter.
The completion is done when the termination handshake has finished.
Signed-off-by: Sebastian
On 17.09.19 14:46, Jan Kiszka wrote:
> On 17.09.19 14:01, Sebastian Smolorz wrote:
> > When closing a TCP connection a handshake procedure is executed between the
> > peers. The close routine of the rttcp driver did not participate in
> > detecting the end of this handshake
a waste of time which can hurt a lot in some situations.
This patch replaces the msleep(1000) call with a timed wait on a
semaphore which gets sigalled when the termination handshake is complete.
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 29
Hi Jan,
Jan Kiszka wrote:
> we are postponing this for too long now, so I'd like to make step towards a
> feature freeze for 3.1, marked by an -rc1, and then a release. So, everyone
> sitting on API- or even ABI-breaking changes should speak up now.
This week I have improved the close behaviour o
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/ip_sock.c | 127
1 file changed, 88 insertions(+), 39 deletions(-)
diff --git a/kernel/drivers/net/stack/ipv4/ip_sock.c
b/kernel/drivers/net/stack/ipv4/ip_sock.c
index 20f27feff..1ae3a9eeb 100644
--- a
Hi,
on 04.06.2019 09:45, Per Oberg wrote:
> - Den 3 jun 2019, på kl 17:33, Jan Kiszka jan.kis...@siemens.com skrev:
>
> > On 03.06.19 11:10, Per Oberg via Xenomai wrote:
>
>
>
> > > - Den 3 jun 2019, på kl 11:06, xenomai xenomai@xenomai.org skrev:
>
> > >> Hi,
>
> > >> My program ope
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 90 -
1 file changed, 59 insertions(+), 31 deletions(-)
diff --git a/kernel/drivers/net/stack/ipv4/tcp/tcp.c
b/kernel/drivers/net/stack/ipv4/tcp/tcp.c
index 828f7d115..f4ea6ffcc 100644
--- a
Hi Jan,
On 29.05.19 19:17, Jan Kiszka wrote:
> On 28.05.19 16:05, Sebastian Smolorz wrote:
> > Signed-off-by: Sebastian Smolorz
> > ---
> > kernel/drivers/net/stack/ipv4/tcp/tcp.c | 91 -
> > 1 file changed, 60 insertions(+), 31 deletions(-)
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 91 -
1 file changed, 60 insertions(+), 31 deletions(-)
diff --git a/kernel/drivers/net/stack/ipv4/tcp/tcp.c
b/kernel/drivers/net/stack/ipv4/tcp/tcp.c
index 828f7d115..4803165f4 100644
--- a
On 06.11.18, 19:52, Jan Kiszka wrote:
> On 06.11.18 11:00, Sebastian Smolorz via Xenomai wrote:
> > A bug in rt_tcp_recvmsg() prevented an application to receive data
> > over an RTTCP socket. Data was not copied back to the application's
> > buffer but rather into
work earlier.)
> Phong.
>
> -----Original Message-
> From: Sebastian Smolorz [mailto:sebastian.smol...@gmx.de]
> Sent: Monday, November 05, 2018 10:38 AM
> To: Pham, Phong
> Cc: Jan Kiszka; Hillman, Robert; xenomai@xenomai.org
> Subject: Re: [PATCH 0/4] net/tcp: Fix several bug
Hi Phong,
Sebastian Smolorz wrote:
> Pham, Phong wrote:
> > Hi Sebastian,
> >
> > " Phong, can you test this on your machine?"
> > No the fix does not work. It overwrites the window field.
>
> Did you try the patch I sent here?
>
> https://www.x
A bug in rt_tcp_recvmsg() prevented an application to receive data
over an RTTCP socket. Data was not copied back to the application's
buffer but rather into a temporary kernel buffer.
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 13 +++--
1
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/drivers/net/stack/ipv4/Kconfig
b/kernel/drivers/net/stack/ipv4/Kconfig
index fef7e19..8fb3c1a 100644
--- a/kernel/drivers/net/stack/ipv4/Kconfig
ore data
- S2 terminates the connection
- S1 receives the FIN packet and also starts its shutdown procedure
which includes returning from the recv() call. But instead of
returning the number of bytes which were already copied
it returned 0.
Signed-off-by: Sebastian Smolorz
---
kernel
listen() and shutdown() pass their simple int argument directly casted to
void *arg, not as a pointer to their value.
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 12 ++--
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/kernel/drivers/net
Setting TCP header flags like ACK was fragile and not working when
RTnet was running on big endian processors. Use the macro provided
by the linux kernel for setting the TCP flags instead.
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 9 +
1 file changed
Fix compilation error in rt_tcp_accept() when returning its socket's own file
descriptor.
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/drivers/net/stack/ipv4/tcp/tcp.c
b/kernel/dr
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/drivers/net/stack/ipv4/tcp/tcp.c
b/kernel/drivers/net/stack/ipv4/tcp/tcp.c
index 8605a8c..2678e6a 100644
--- a/kernel/drivers/net/stack/ipv4
This patch series makes RTnet's tcp module usable again. It was not
working due to several bugs which showed up in combination with reworked
RTDM of Xenomai 3.
Tests on real hardware (little endian) were successful. A test on big
endian is still pending.
Sebastian Smolorz (8):
net/tcp: r
3 is realized by calling rtdm_fd_lock() which
fails when a socket is about to be closed.
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 11 +++
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/kernel/drivers/net/stack/ipv4/tcp/tcp.c
b/kernel/dr
Hi,
Pham, Phong wrote:
> Hi Sebastian,
>
> " Phong, can you test this on your machine?"
> No the fix does not work. It overwrites the window field.
Did you try the patch I sent here?
https://www.xenomai.org/pipermail/xenomai/2018-November/039831.html
--
Sebastian
Hi Jan,
Jan Kiszka wrote:
> Hi all,
>
> I think it would be good to release a new stable version, now that we
> have updated x86 I-pipe patches that require changes from it. I'm
> currently only aware of one open issue affecting also stable, and
> that's [1].
What is [1]?
--
Sebastian
Sebastian Smolorz wrote:
> On 31.10.18 19:18, Jan Kiszka wrote:
> > On 31.10.18 17:55, Pham, Phong wrote:
> > > Hi Sebastian,
> > >
> > > The issue has to do with endianness. We are running PowerPC (big
> > > endian). So in rt_tcp_set_flags(), flags
On 31.10.18 19:18, Jan Kiszka wrote:
> On 31.10.18 17:55, Pham, Phong wrote:
> > Hi Sebastian,
> >
> > The issue has to do with endianness. We are running PowerPC (big
> > endian). So in rt_tcp_set_flags(), flags is 32-bit wide and *tf is
> > 16-bit wide. I modified the line from:
> >
> > *tf
Pham, Phong wrote:
> Now I encounter a different problem,
>
> recv() returns 0 bytes but I know my FTP server sends a packet (seen
> by WireShark). Can you point me where is the recv() implemented in
> tcp.c? Is it rt_tcp_rcv or rt_tcp_recvmsg?
There are indeed two more issues with the rttcp dr
Pham, Phong wrote:
> This is what I see when my RTnet box, my laptop, and my FTP server
> (local on laptop) is on the same subnet 192.168.7.0:
>
> 192.168.7.79 is my RTnet box.
Which processor architecture is it?
> I used my laptop (192.168.7.106) to
> ping the RTnet box which is what you see wi
Hi,
on 10/19/18 04:00 AM, Pham, Phong wrote:
> I do see a TCP packet sent out on the LAN when rt_dev_connect() is
> invoked; however, the packet itself is not valid. The SYN flag in
> the TCP protocol is not set when the first TCP packet was sent.
Strange. Wireshark shows me that a connection in
Sebastian Smolorz (3):
lib/cobalt: Do not call glibc's {recv|send}mmsg if it is too old
cobalt/time: add missing include for old toolchains
utils/analogy: fix compilation of analogy_calibrate with old
toolchains
include/cobalt/time.h | 1 +
lib/cobalt/wrapp
lt_clock_adjtime'
include/cobalt/time.h:43: error: previous declaration of
'__cobalt_clock_adjtime' was here
Signed-off-by: Sebastian Smolorz
---
include/cobalt/time.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/cobalt/time.h b/include/cobalt/time.h
index 9bafe34..6c
Fix linking error when using glibc versions which do not provide
recvmmsg or sendmmsg.
Signed-off-by: Sebastian Smolorz
---
lib/cobalt/wrappers.c | 8
1 file changed, 8 insertions(+)
diff --git a/lib/cobalt/wrappers.c b/lib/cobalt/wrappers.c
index 20ad63a..951cd15 100644
--- a/lib
The previous commit introduced a fix for old toolchains by including
sys/timex.h in include/cobalt/time.h. However, that breaks the
compilation of analogy_calibrate. Removing #include
from analogy_calibrate.c fixes compilation again.
Signed-off-by: Sebastian Smolorz
---
utils/analogy
On 10/24/18 12:47 PM, Philippe Gerum wrote:
> On 10/24/18 12:33 PM, Sebastian Smolorz wrote:
> > On 10/23/18 11:11 AM, Philippe Gerum wrote:
> >> On 10/19/18 5:10 PM, Sebastian Smolorz wrote:
> >>> Hello Philippe,
> >>>
> >>> Sebastian Smolor
On 10/23/18 11:11 AM, Philippe Gerum wrote:
> On 10/19/18 5:10 PM, Sebastian Smolorz wrote:
> > Hello Philippe,
> >
> > Sebastian Smolorz wrote:
> >> On 10/19/2018 09:16 AM, Philippe Gerum wrote:
> >>> On 10/18/2018 04:37 PM, Sebastian Smolorz wrote:
>
Hello Philippe,
Sebastian Smolorz wrote:
> On 10/19/2018 09:16 AM, Philippe Gerum wrote:
> > On 10/18/2018 04:37 PM, Sebastian Smolorz wrote:
> > > Nevertheless, I guess there is an issue with the definition of
> > > const
> > > (line 50) in include/boilerpla
On 10/19/2018 09:16 AM, Philippe Gerum wrote:
> On 10/18/2018 04:37 PM, Sebastian Smolorz wrote:
> > Nevertheless, I guess there is an issue with the definition of const
> > (line 50) in include/boilerplate/compiler.h. It does work with gcc
> > 5.4 but not with gcc 4.3.5.
>
On 18.10.18 14:37, Philippe Gerum wrote:
> On 10/18/2018 02:20 PM, Sebastian Smolorz wrote:
> > Signed-off-by: Sebastian Smolorz
> > ---
> > lib/boilerplate/avl.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/lib/boilerplate/avl.c b/
Signed-off-by: Sebastian Smolorz
---
lib/boilerplate/avl.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/boilerplate/avl.c b/lib/boilerplate/avl.c
index 3bf9bf1..2e16e7d 100644
--- a/lib/boilerplate/avl.c
+++ b/lib/boilerplate/avl.c
@@ -22,6 +22,7 @@
*/
#include
#include
On 17.10.18 13:44, Jan Kiszka wrote:
> On 17.10.18 13:31, Sebastian Smolorz wrote:
> > This patch series makes RTnet's tcp module usable again. It was not
> > selectable in Kconfig for a long time. Now it is supposed to work in
> > the way it worked when RTnet was a sepa
listen() and shutdown() pass their simple int argument directly casted to
void *arg, not as a pointer to their value.
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 12 ++--
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/kernel/drivers/net
Fix compilation error in rt_tcp_accept() when returning its socket's own file
descriptor.
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/drivers/net/stack/ipv4/tcp/tcp.c
b/kernel/dr
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/drivers/net/stack/ipv4/Kconfig
b/kernel/drivers/net/stack/ipv4/Kconfig
index fef7e19..8fb3c1a 100644
--- a/kernel/drivers/net/stack/ipv4/Kconfig
Signed-off-by: Sebastian Smolorz
---
kernel/drivers/net/stack/ipv4/tcp/tcp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/drivers/net/stack/ipv4/tcp/tcp.c
b/kernel/drivers/net/stack/ipv4/tcp/tcp.c
index 8605a8c..2678e6a 100644
--- a/kernel/drivers/net/stack/ipv4
This patch series makes RTnet's tcp module usable again. It was not
selectable in Kconfig for a long time. Now it is supposed to work in
the way it worked when RTnet was a separate project for Xenomai 2.
Sebastian Smolorz (4):
net/tcp: return ufd in rt_tcp_accept()
net/tcp: fix listen(
rt_tcp_accept() which is a driver function of RTnet's TCP
protocol driver.
Signed-off-by: Sebastian Smolorz
---
include/cobalt/kernel/rtdm/fd.h | 6 ++
kernel/cobalt/rtdm/fd.c | 1 +
2 files changed, 7 insertions(+)
diff --git a/include/cobalt/kernel/rtdm/fd.h b/include/cobalt/kernel
RTDM drivers refer to open files or sockets by using struct rtdm_fd.
Normally, the user-side file descriptors returned by socket() or open()
calls are not necessary for driver operations. However, in some special
cases the user-side fd has to be determined.
Signed-off-by: Sebastian Smolorz
drivers it is added directly to struct rtdm_fd. Otherwise it would
be necessary to iterate over the fd's rb_tree.
Signed-off-by: Sebastian Smolorz
---
include/cobalt/kernel/rtdm/fd.h | 6 ++
kernel/cobalt/rtdm/fd.c | 1 +
2 files changed, 7 insertions(+)
diff --git a/include/c
Jan Kiszka wrote:
> On 15.10.18 15:28, Philippe Gerum wrote:
> > On 10/15/2018 03:17 PM, Sebastian Smolorz wrote:
> >> Jan Kiszka wrote:
> >>
> >>> On 14.10.18 21:27, Sebastian Smolorz wrote:
> >>>> Hello Philippe or Jan,
> >>>&
Jan Kiszka wrote:
> On 14.10.18 21:27, Sebastian Smolorz wrote:
> > Hello Philippe or Jan,
> >
> > I need to retrieve the socket file descriptor from an RTDM device driver
> > routine. From what I have seen there is no simple way to obtain this int
> >
Philippe Gerum wrote:
> On 10/14/2018 09:27 PM, Sebastian Smolorz wrote:
> > Hello Philippe or Jan,
> >
> > I need to retrieve the socket file descriptor from an RTDM device driver
> > routine.
>
> Could you elaborate on the reason to need this?
The rttcp dri
Hello Philippe or Jan,
I need to retrieve the socket file descriptor from an RTDM device driver
routine. From what I have seen there is no simple way to obtain this int
value from struct rtdm_fd. I have identified three possible ways to do
this, all of them necessitate modification of Xenomai c
Hi,
Pham, Phong wrote:
> Thanks and looking for your fix. Actually the compilation is probably
> a trivial fix for you; however, since I have no familiarity of the
> code at this moment, could you provide the instruction on how to
> modify the code to make it compilable?
That will not help you m
Hi all,
Steven Seeger wrote:
> On Thursday, October 4, 2018 9:02:46 PM EDT Pham, Phong wrote:
> > Hi,
> >
> > I noticed starting Xenomai 3.0.1 until now (3.0.7), there is net/ in
> > .../kernel/drivers/ and in ../kernel/drivers/net/stack/ipv4/Kconfig
> >
> > # source "drivers/xenomai/net/stack/i
---
kernel/drivers/can/sja1000/rtcan_peak_pci.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/drivers/can/sja1000/rtcan_peak_pci.c
b/kernel/drivers/can/sja1000/rtcan_peak_pci.c
index 3da1657..0fdc598 100644
--- a/kernel/drivers/can/sja1000/rtcan_peak_pci.c
+++ b/kernel/drivers/can/
For external projects wanting to use RTnet with its special
features like RTnet IOCTLs it is necessary to provide the API
headers in the Xenomai installation directory.
---
include/cobalt/kernel/rtdm/net.h| 45 +
include/rtdm/Makefile.am| 1 +
inc
On 08/16/2018, 11:03:18 CEST Philippe Gerum wrote:
> On 08/16/2018 10:44 AM, Sebastian Smolorz wrote:
> > On 08/15/2018, 16:16:09 CEST Philippe Gerum wrote:
> >> On 08/14/2018 09:07 AM, Sebastian Smolorz wrote:
> >>> For external projects wanting to use RTnet with i
On 08/15/2018, 16:16:09 CEST Philippe Gerum wrote:
> On 08/14/2018 09:07 AM, Sebastian Smolorz wrote:
> > For external projects wanting to use RTnet with its special
> > features like RTnet IOCTLs it is necessary to provide the API
> > headers in the Xenomai installation dir
For external projects wanting to use RTnet with its special
features like RTnet IOCTLs it is necessary to provide the API
headers in the Xenomai installation directory.
---
include/cobalt/kernel/rtdm/net.h| 47 +
include/rtdm/Makefile.am| 1 +
inc
58 matches
Mail list logo