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
|
-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.
|