[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] More troubles with tcp on ARM



On Fri, 10 Apr 2015, at 05:29, Magnus Therning wrote:
> On Thu, Apr 09, 2015 at 10:18:53PM +0200, Magnus Therning wrote:
> [...]
> I did a little bit more testing of this just now, and found something
> surprising.  This is against a VM on ARM:
> 
> ~~~
> % echo thisisalongerstring | ncat -4 192.168.0.33 18080
> alongerstring
> 
> ->
> 
> tcp: 192.168.0.11:48731
>  6 - 
>  14 - alongerstring
> ~~~
> 
> and
> 
> ~~~
> % echo thisisalongerstringandthisislongerstill | ncat -4 192.168.0.33
> 18080
> alongerstringandthisislongerstill
> 
> ->
> 
> tcp: 192.168.0.11:48732
>  6 - 
>  34 - alongerstringandthisislongerstill
> ~~~
> 
> and if I send a string that is shorter than 6 characters (I'm guessing
> including the trailing \r\n), then `ncat` hangs and on the ARM I only
> see a single line of "length - content":
> 
> ~~~
> tcp: 192.168.0.11:48766
>  6 -
> ~~~
> 
> I do wonder where those initial 6 characters go...
> 

Hm - I am able to reproduce this. I have a cubieboard and an x86 Xen
server connected to the same switch. If I run the unikernel above on the
x86 server I can access it remotely and from dom0 without problems. It
also works fine if I run the unikernel in Xen on the cubieboard and try
to access it from dom0:

Shell:
$ echo 'thisisalongstring' | ncat -4 10.0.1.24 18080
thisisalongstring
$

Unikernel console:
tcp: 10.0.1.10:37663
 18 - thisisalongstring

However, if I try to access the unikernel on the cubieboard remotely
from the x86 server: 

Shell:
$ echo 'thisisalongstring' | ncat -4 10.0.1.24 18080
alongstring
^C

Unikernel console:
tcp: 10.0.1.9:58213
 6 -
 12 - alongstring

Shell: 
$ echo hello | ncat -4 10.0.1.24 18080
$

Unikernel console:
tcp: 10.0.1.9:58214
 6 -
 6 -

tcpdump -ni on the vif on the cubieboard shows the following during the
failed connection:

14:19:04.460636 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [S], seq
53068681, win 29200, options [mss 1460,sackOK,TS val 69443464 ecr
0,nop,wscale 7], length 0
14:19:04.461292 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [S.], seq
452856959, ack 53068682, win 65535, options [mss 1460,wscale 2,eol],
length 0
14:19:04.461555 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [.], ack 1,
win 229, length 0
14:19:04.461808 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [P.], seq
1:19, ack 1, win 229, length 18
14:19:04.461838 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [F.], seq 19,
ack 1, win 229, length 0
14:19:04.462176 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [P.], seq
1:7, ack 7, win 65535, length 6
14:19:04.462242 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 7,
win 65535, length 0
14:19:04.462430 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [.], ack 7,
win 229, length 0
14:19:04.463034 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 7,
win 65535, length 0
14:19:04.463068 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 7,
win 65535, length 0
14:19:04.463099 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 7,
win 65535, length 0
14:19:04.664534 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [FP.], seq
7:19, ack 7, win 229, length 12
14:19:04.665234 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [P.], seq
7:19, ack 26, win 65535, length 12
14:19:04.665325 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [P.], seq
19:25, ack 26, win 65535, length 6
14:19:04.665358 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 26,
win 65535, length 0
14:19:04.665647 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [.], ack 19,
win 229, length 0
14:19:04.665671 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [.], ack 25,
win 229, length 0
14:19:04.666333 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 26,
win 65535, length 0
14:19:04.666373 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 26,
win 65535, length 0
14:19:05.072495 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [FP.], seq
7:19, ack 25, win 229, length 12
14:19:05.073073 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 26,
win 65535, length 0
14:19:05.888468 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [FP.], seq
7:19, ack 25, win 229, length 12
14:19:05.889067 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 26,
win 65535, length 0
14:19:07.524471 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [FP.], seq
7:19, ack 25, win 229, length 12
14:19:07.525057 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 26,
win 65535, length 0
14:19:10.796388 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [FP.], seq
7:19, ack 25, win 229, length 12
14:19:10.797008 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 26,
win 65535, length 0
14:19:17.340268 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [FP.], seq
7:19, ack 25, win 229, length 12
14:19:17.340894 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 26,
win 65535, length 0
14:19:30.411981 IP 10.0.1.9.58217 > 10.0.1.24.18080: Flags [FP.], seq
7:19, ack 25, win 229, length 12
14:19:30.412582 IP 10.0.1.24.18080 > 10.0.1.9.58217: Flags [.], ack 26,
win 65535, length 0
[...]

I am using tcpip 2.3.1 and mirage-net-xen 1.4.1. 


Magnus

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.