1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
other: 0.762
permissions: 0.736
graphic: 0.706
KVM: 0.693
network: 0.685
performance: 0.678
vnc: 0.653
device: 0.609
semantic: 0.607
files: 0.596
boot: 0.595
socket: 0.595
PID: 0.583
debug: 0.546
-net socket,connect/listen does not work in 2.7.0
Using 2.7.0 release on Debian Sid. What I did: start one VM with:
----
/home/pierre/build/qemu/build/x86_64-softmmu/qemu-system-x86_64 \
-smp 4 \
-cpu Nehalem \
-soundhw ac97 \
-k fr \
-localtime \
-enable-kvm \
-m 4099 \
-drive file=/mnt/virtualMachines/qemu/lfs-7.10-porg.qcow2,cache=writeback \
-cdrom /mnt/virtualMachines/qemu/grub-img.iso \
-boot order=c,once=d,menu=on \
-vga std \
-serial mon:stdio \
-net nic,vlan=0,model=e1000,macaddr=52:54:00:12:34:58 \
-net user,vlan=0,hostfwd=tcp::2223-10.0.2.9:22 \
-net nic,vlan=1,model=e1000,macaddr=52:54:00:12:34:56 \
-net socket,vlan=1,listen=:4321
----
Start another one with:
----
/home/pierre/build/qemu/build/x86_64-softmmu/qemu-system-x86_64 \
-smp 4 \
-cpu Nehalem \
-soundhw ac97 \
-k fr \
-localtime \
-enable-kvm \
-m 4099 \
-drive file=/mnt/virtualMachines/qemu/lfs-7.10-october.qcow2,cache=writeback \
-cdrom /mnt/virtualMachines/qemu/grub-img.iso \
-boot order=c \
-serial mon:stdio \
-vga std \
-net nic,vlan=0,model=e1000,macaddr=52:54:00:12:34:57 \
-net socket,vlan=0,connect=localhost:4321
----
The network settings of the first machine are:
----
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 52:54:00:12:34:58 brd ff:ff:ff:ff:ff:ff
3: enp0s4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.9/24 brd 10.0.2.255 scope global br0
valid_lft forever preferred_lft forever
----
The network settings on the second machine are:
----
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:12:34:57 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.10/24 brd 10.0.2.255 scope global enp0s3
valid_lft forever preferred_lft forever
----
typing "ping -c 1 10.0.2.10" on the first machine returns:
----
PING 10.0.2.10 (10.0.2.10): 56 data bytes
92 bytes from virtuallfs (10.0.2.9): Destination Host Unreachable
--- 10.0.2.10 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
----
and something similar when typing "ping -c 1 10.0.2.9" on the second machine.
This very same setting works as expected in version 2.6.0. I could bisect, and the offending commit is 16a3df403b1:
----
commit 16a3df403b10c4ac347159e39005fd520b2648bb
Author: Zhang Chen <email address hidden>
Date: Fri May 13 15:35:19 2016 +0800
net/net: Add SocketReadState for reuse codes
This function is from net/socket.c, move it to net.c and net.h.
Add SocketReadState to make others reuse net_fill_rstate().
suggestion from jason.
v4:
- move 'rs->finalize = finalize' to rs_init()
v3:
- remove SocketReadState init callback
- put finalize callback to net_fill_rstate()
v2:
- rename ReadState to SocketReadState
- add SocketReadState init and finalize callback
v1:
- init patch
Signed-off-by: Zhang Chen <email address hidden>
Signed-off-by: Li Zhijian <email address hidden>
Signed-off-by: Wen Congyang <email address hidden>
Signed-off-by: Jason Wang <email address hidden>
----
BTW, the systems on both VM are built from http://www.linuxfromscratch.org. But I do not think this is important, since I could do the bisect. Of course, I'll be happy to try other VMs, if you point me to some.
The patch for this issue is here:
https://lists.gnu.org/archive/html/qemu-devel/2016-11/msg00811.html
Fix has been committed: http://git.qemu.org/?p=qemu.git;a=commitdiff;h=e79cd4068063ea285919
Great. Thanks to you both.
Fix has been released with QEMU v2.8
|