You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
step1) Running server, client1, client2 by order
step2) Start to send and recv msg
--client1 send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step3) Unplug the network cable on the PC-B.
--client1 send msg to server failed, and starting reconnect.
--client2 send msg to server ok.
--server cannot recv msg from client1.
--server recv msg from client2 ok.
step4) About 3 minutes later, plug in the network cable on the PC-B again.
--client1 reconnect to server successful, and it's send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step1) Running server, client1, client2 by order
step2) Start to send and recv msg
--client1 send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step3) "ifconfig down enp2s0" on the PC-B.
--client1 send msg to server failed, and starting reconnect.
--client2 send msg to server ok.
--server cannot recv msg from client1.
--server recv msg from client2 ok.
step4) About 3 minutes later, "ifconfig up enp2s0" on the PC-B again.
--client1 reconnect to server successful, and it's send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step1) Running server, client1, client2 by order
step2) Start to send and recv msg
--client1 send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step3) "ifconfig down enp2s0" on the PC-B.
--client1 send msg to server failed, and starting reconnect.
--client2 send msg to server ok.
--server cannot recv msg from client1.
--server recv msg from client2 ok.
step4) About 3 minutes later, "ifconfig up enp2s0" on the PC-B again.
--client1 reconnect to server successful, and it's send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step1) Running server, client1, client2 by order
step2) Start to send and recv msg
--client1 send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step3) Unplug the network cable on the PC-B.
--client1 send msg to server failed, and starting reconnect.
--client2 send msg to server ok.
--server cannot recv msg from client1.
--server recv msg from client2 ok.
step4) About 3 minutes later, plug in the network cable on the PC-B again. --client1 reconnect failed, and never successfully reconnects to the server.
--client2 send msg to server ok.
--server cannot recv msg from client1.
--server recv msg from client2 ok.
What's the actual result? (include assertion message & call stack if applicable)
Testcase 1: TCP protocol + ZMQ REQ-REP mode, Unplug/plug in cable
-- Actual Result: reconnect successful, send-recv msg OK.
Testcase 2: TCP protocol + ZMQ REQ-REP mode, ifconfig down/up enp2s0
-- Actual Result: reconnect successful, send-recv msg OK.
Testcase 3: TICP protocol + ZMQ REQ-REP mode, ifconfig down/up enp2s0
-- Actual Result: reconnect failed, cannot send-recv msg.
Testcase 4: TICP protocol + ZMQ REQ-REP mode, Unplug/plug in cable
-- Actual Result: reconnect successful, send-recv msg OK.
More information
dmesg
[ 2499.780165] tg3 0000:02:00.0 enp2s0: Link is down
[ 2499.780303] tipc: Resetting bearer eth:enp2s0
[ 2503.876417] tg3 0000:02:00.0 enp2s0: Link is up at 10 Mbps, half duplex
[ 2503.876420] tg3 0000:02:00.0 enp2s0: Flow control is off for TX and off for RX
[ 2516.164569] tg3 0000:02:00.0 enp2s0: Link is down
[ 2516.164782] tipc: Resetting bearer eth:enp2s0
[ 2538.692414] tg3 0000:02:00.0 enp2s0: Link is up at 10 Mbps, half duplex
[ 2538.692418] tg3 0000:02:00.0 enp2s0: Flow control is off for TX and off for RX
[ 2565.316161] tg3 0000:02:00.0 enp2s0: Link is down
[ 2565.316284] tipc: Resetting bearer eth:enp2s0
[ 2651.332415] tg3 0000:02:00.0 enp2s0: Link is up at 10 Mbps, half duplex
[ 2651.332419] tg3 0000:02:00.0 enp2s0: Flow control is off for TX and off for RX
[ 3262.660203] tg3 0000:02:00.0 enp2s0: Link is down
[ 3262.660649] tipc: Resetting bearer eth:enp2s0
[ 3280.068423] tg3 0000:02:00.0 enp2s0: Link is up at 10 Mbps, half duplex
[ 3280.068427] tg3 0000:02:00.0 enp2s0: Flow control is off for TX and off for RX
lspci
lspci
00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)
00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 01)
00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation NM10/ICH7 Family SATA Controller [IDE mode] (rev 01)
00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 01)
02:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
root@ubuntu:~#
Please use this template for reporting suspected bugs or requests for help.
Issue description
TIPC reconnect failed, but TCP reconnected OK!
Test in the same environment with the same demo(zmq server/client).
Environment
Network topology
┍┈┈┈┈┈PC-A
┊
HUB┈┈┈PC-B
┊
┕┈┈┈┈┈PC-C
Test Environment
Test PC: Dell OptiPlex 380(PC-A, PC-B, PC-C)
CPU: Pentium(R) Dual-Core CPU E5300 @ 2.60GHz
MEM: 4G
Network Connector: 10M HUB
OS: Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-65-generic x86_64)
cat /proc/version
Linux version 5.4.0-65-generic (buildd@lcy01-amd64-018) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021
cat /etc/issue
Ubuntu 20.04.2 LTS \n \l
PC-A Network configuration
IP info:
inet 10.1.1.11/24 brd 10.1.1.255 scope global enp2s0
TIPC info:
root@ubuntu:/home/tipc# modprobe tipc
root@ubuntu:/home/tipc# lsmod | grep tipc
tipc 135168 0
ip6_udp_tunnel 16384 1 tipc
udp_tunnel 16384 1 tipc
root@ubuntu:/home/tipc# tipc-config -netid=5678 -addr=1.1.111 -be=eth:enp2s0
root@ubuntu:/home/tipc# tipc-config -a
node address: <1.1.111>
root@ubuntu:/home/tipc# tipc-config -b
Bearers:
eth:enp2s0
root@ubuntu:/home/tipc# tipc-config -n
Neighbors:
<1.1.122>: up
<1.1.133>: up
root@ubuntu:/home/tipc# tipc-config -l
Links:
broadcast-link: up
100106f:enp2s0-100107a:enp2s0: up
100106f:enp2s0-1001085:enp2s0: up
PC-B Network configuration
IP info:
inet 10.1.1.12/24 brd 10.1.1.255 scope global enp2s0
TIPC info:
root@ubuntu:/home/tipc# modprobe tipc
root@ubuntu:/home/tipc# lsmod | grep tipc
tipc 258048 0
ip6_udp_tunnel 16384 1 tipc
udp_tunnel 16384 1 tipc
root@ubuntu:/home/tipc# tipc-config -netid=5678 -addr=1.1.122 -be=eth:enp2s0
root@ubuntu:/home/tipc# tipc-config -a
node address: <1.1.122>
root@ubuntu:/home/tipc# tipc-config -b
Bearers:
eth:enp2s0
root@ubuntu:/home/tipc# tipc-config -n
Neighbors:
<1.1.111>: up
<1.1.133>: up
root@ubuntu:/home/tipc# tipc-config -l
Links:
broadcast-link: up
100107a:enp2s0-100106f:enp2s0: up
100107a:enp2s0-1001085:enp2s0: up
PC-C Network configuration
IP info:
inet 10.1.1.13/24 brd 10.1.1.255 scope global enp2s0
TIPC info:
root@ubuntu:/home/tipc# modprobe tipc
root@ubuntu:/home/tipc# lsmod | grep tipc
tipc 131072 0
ip6_udp_tunnel 16384 1 tipc
udp_tunnel 16384 1 tipc
root@ubuntu:/home/tipc# tipc-config -netid=5678 -addr=1.1.133 -be=eth:enp2s0
root@ubuntu:/home/tipc# tipc-config -a
node address: <1.1.133>
root@ubuntu:/home/tipc# tipc-config -b
Bearers:
eth:enp2s0
root@ubuntu:/home/tipc# tipc-config -n
Neighbors:
<1.1.111>: up
<1.1.122>: up
root@ubuntu:/home/tipc# tipc-config -l
Links:
broadcast-link: up
1001085:enp2s0-100106f:enp2s0: up
1001085:enp2s0-100107a:enp2s0: up
Minimal test code / Steps to reproduce the issue
zmq server code
`
`
zmq client code
`
`
zmq demo info
root@ubuntu:/home/tipc# ./zsrv -h
usage: zsrv <bind_to> <msg_size> <loop_cnt>
bind_to tcp: "tcp://10.50.200.1:12345"
bind_to tipc: "tipc://{5566,5566,5566}"
msg_size: 64-n
loop_cnt: 1-n, or -1(forever)
root@ubuntu:/home/tipc# ./zcli -h
usage: zcli <connect_to> <msg_size> <loop_cnt> <slot_id>
connect_to tcp: "tcp://10.50.200.1:12345"
connect_to tipc: "tipc://{5566,5566}"
msg_size: 64-n
loop_cnt: 1-n, or -1(forever)
slot_id: 1-n
Testcase 1: TCP protocol + ZMQ REQ-REP mode, Unplug/plug in cable
PC-A(server): ./zsrv "tcp://10.1.1.11:12345" 64 20000000
PC-B(client1): ./zcli "tcp://10.1.1.11:12345" 64 1000000 22
PC-C(client2): ./zcli "tcp://10.1.1.11:12345" 64 1000000 33
step1) Running server, client1, client2 by order
step2) Start to send and recv msg
--client1 send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step3) Unplug the network cable on the PC-B.
--client1 send msg to server failed, and starting reconnect.
--client2 send msg to server ok.
--server cannot recv msg from client1.
--server recv msg from client2 ok.
step4) About 3 minutes later, plug in the network cable on the PC-B again.
--client1 reconnect to server successful, and it's send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
Testcase 2: TCP protocol + ZMQ REQ-REP mode, ifconfig down/up enp2s0
PC-A(server): ./zsrv "tcp://10.1.1.11:12345" 64 20000000
PC-B(client1): ./zcli "tcp://10.1.1.11:12345" 64 1000000 22
PC-C(client2): ./zcli "tcp://10.1.1.11:12345" 64 1000000 33
step1) Running server, client1, client2 by order
step2) Start to send and recv msg
--client1 send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step3) "ifconfig down enp2s0" on the PC-B.
--client1 send msg to server failed, and starting reconnect.
--client2 send msg to server ok.
--server cannot recv msg from client1.
--server recv msg from client2 ok.
step4) About 3 minutes later, "ifconfig up enp2s0" on the PC-B again.
--client1 reconnect to server successful, and it's send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
Testcase 3: TIPC protocol + ZMQ REQ-REP mode, ifconfig down/up enp2s0
PC-A(server): ./zsrv "tipc://{5566,5566,5566}" 64 20000000
PC-B(client1): ./zcli "tipc://{5566,5566}" 64 1000000 22
PC-C(client2): ./zcli "tipc://{5566,5566}" 64 1000000 33
step1) Running server, client1, client2 by order
step2) Start to send and recv msg
--client1 send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step3) "ifconfig down enp2s0" on the PC-B.
--client1 send msg to server failed, and starting reconnect.
--client2 send msg to server ok.
--server cannot recv msg from client1.
--server recv msg from client2 ok.
step4) About 3 minutes later, "ifconfig up enp2s0" on the PC-B again.
--client1 reconnect to server successful, and it's send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
Testcase 4: TIPC protocol + ZMQ REQ-REP mode, Unplug/plug in cable
PC-A(server): ./zsrv "tipc://{5566,5566,5566}" 64 20000000
PC-B(client1): ./zcli "tipc://{5566,5566}" 64 1000000 22
PC-C(client2): ./zcli "tipc://{5566,5566}" 64 1000000 33
step1) Running server, client1, client2 by order
step2) Start to send and recv msg
--client1 send msg to server ok.
--client2 send msg to server ok.
--server recv msg from client1 ok.
--server recv msg from client2 ok.
step3) Unplug the network cable on the PC-B.
--client1 send msg to server failed, and starting reconnect.
--client2 send msg to server ok.
--server cannot recv msg from client1.
--server recv msg from client2 ok.
step4) About 3 minutes later, plug in the network cable on the PC-B again.
--client1 reconnect failed, and never successfully reconnects to the server.
--client2 send msg to server ok.
--server cannot recv msg from client1.
--server recv msg from client2 ok.
What's the actual result? (include assertion message & call stack if applicable)
Testcase 1: TCP protocol + ZMQ REQ-REP mode, Unplug/plug in cable
-- Actual Result: reconnect successful, send-recv msg OK.
Testcase 2: TCP protocol + ZMQ REQ-REP mode, ifconfig down/up enp2s0
-- Actual Result: reconnect successful, send-recv msg OK.
Testcase 3: TICP protocol + ZMQ REQ-REP mode, ifconfig down/up enp2s0
-- Actual Result: reconnect failed, cannot send-recv msg.
Testcase 4: TICP protocol + ZMQ REQ-REP mode, Unplug/plug in cable
-- Actual Result: reconnect successful, send-recv msg OK.
More information
dmesg
[ 2499.780165] tg3 0000:02:00.0 enp2s0: Link is down
[ 2499.780303] tipc: Resetting bearer eth:enp2s0
[ 2503.876417] tg3 0000:02:00.0 enp2s0: Link is up at 10 Mbps, half duplex
[ 2503.876420] tg3 0000:02:00.0 enp2s0: Flow control is off for TX and off for RX
[ 2516.164569] tg3 0000:02:00.0 enp2s0: Link is down
[ 2516.164782] tipc: Resetting bearer eth:enp2s0
[ 2538.692414] tg3 0000:02:00.0 enp2s0: Link is up at 10 Mbps, half duplex
[ 2538.692418] tg3 0000:02:00.0 enp2s0: Flow control is off for TX and off for RX
[ 2565.316161] tg3 0000:02:00.0 enp2s0: Link is down
[ 2565.316284] tipc: Resetting bearer eth:enp2s0
[ 2651.332415] tg3 0000:02:00.0 enp2s0: Link is up at 10 Mbps, half duplex
[ 2651.332419] tg3 0000:02:00.0 enp2s0: Flow control is off for TX and off for RX
[ 3262.660203] tg3 0000:02:00.0 enp2s0: Link is down
[ 3262.660649] tipc: Resetting bearer eth:enp2s0
[ 3280.068423] tg3 0000:02:00.0 enp2s0: Link is up at 10 Mbps, half duplex
[ 3280.068427] tg3 0000:02:00.0 enp2s0: Flow control is off for TX and off for RX
lspci
lspci
00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)
00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 01)
00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation NM10/ICH7 Family SATA Controller [IDE mode] (rev 01)
00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 01)
02:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
root@ubuntu:~#
modinfo
root@ubuntu:~# modinfo tipc
filename: /lib/modules/5.4.0-65-generic/kernel/net/tipc/tipc.ko
version: 2.0.0
license: Dual BSD/GPL
description: TIPC: Transparent Inter Process Communication
srcversion: 5860C79AD1D4E43A3B2189C
depends: udp_tunnel,ip6_udp_tunnel
retpoline: Y
intree: Y
name: tipc
vermagic: 5.4.0-65-generic SMP mod_unload
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 44:6A:A8:96:83:1E:3C:56:C1:0F:55:7B:7B:95:7A:1F:F9:6B:72:D6
sig_hashalgo: sha512
signature: 28:FF:C8:75:E9:F5:5E:6F:24:52:80:56:1F:C3:18:89:0A:E2:05:9B:
47:4E:2D:5C:0B:7B:F2:04:7A:96:10:D3:EA:10:7E:71:AD:EF:A7:B4:
89:7A:B5:2E:51:0D:11:CA:B4:26:9F:0F:A1:AA:B1:36:41:F8:BF:71:
1A:82:98:FB:5D:BB:FC:1F:BA:6C:02:67:70:69:5B:00:9A:E7:EE:5B:
73:43:FD:E0:F3:97:99:3E:39:47:28:5E:46:80:72:64:0B:90:A6:37:
58:5A:4C:C8:80:C4:69:BB:26:F4:3D:1F:70:54:AF:E4:B1:2B:FC:06:
54:68:49:35:7A:44:76:56:4A:BF:47:38:C5:AD:F5:08:E4:43:00:C0:
C4:87:10:C8:35:5F:FB:79:D7:33:04:1A:3D:AA:C7:B4:F7:EC:DF:EB:
4D:5A:49:D2:FF:43:E7:52:55:DB:FB:3F:87:D5:EC:CC:7F:C8:9D:30:
0F:8B:90:8E:C8:77:58:0D:55:DB:B9:47:82:F7:CE:E0:7F:AD:D4:61:
54:EC:8C:16:1A:6E:9C:49:D2:FF:25:8A:26:94:70:5A:60:F9:91:E2:
02:C5:32:CB:1F:FE:25:78:B1:39:85:6C:FC:2D:1B:63:E5:B5:BF:1D:
25:4F:6A:06:FA:CB:4B:4D:06:5B:83:55:D9:86:E0:93:13:5B:C1:B1:
65:D3:AA:28:AA:DE:AD:DD:46:10:28:31:2E:89:48:A8:1B:41:49:E3:
2B:78:9C:E1:97:89:DA:3E:08:EC:01:95:01:98:2D:7B:26:64:0E:44:
FF:2E:1A:A7:70:D3:51:71:74:F4:DF:42:13:A1:91:BE:11:5C:AE:06:
46:9B:F2:12:EB:68:77:D1:44:98:C9:E3:B7:0C:01:64:0C:A7:3D:A1:
25:D3:83:8F:CC:3B:3F:ED:D7:DC:92:36:7B:DF:95:06:3D:0A:97:D0:
F4:8E:02:CA:F1:F6:B9:76:4B:80:EB:B8:F9:E5:9D:9E:F6:82:A2:3B:
8B:ED:52:7F:98:16:68:23:23:00:E4:52:67:C4:9C:BB:3B:E2:7A:8B:
B8:2B:4F:5E:12:3A:2F:1C:C4:A9:07:A8:10:66:B5:05:FA:87:1E:E0:
B7:D6:10:8D:B4:5C:F2:9E:F1:0A:3A:13:90:06:0A:DD:30:33:CD:30:
B5:A5:39:CF:F0:03:AF:49:C6:51:75:4E:3C:2C:FE:96:0F:C6:60:6B:
4E:E3:BC:DD:D9:24:DE:C2:66:17:A1:FD:27:40:D4:5D:CD:73:C3:1A:
E6:17:A0:4E:8E:1E:1B:83:AE:90:AC:7D:7D:EC:39:00:70:C5:D5:9B:
F4:F3:04:3B:D3:B1:E7:8C:63:E4:13:A2
What's the expected result?
Testcase 1: TCP protocol + ZMQ REQ-REP mode, Unplug/plug in cable
-- Expected Result: reconnect successful, send-recv msg OK.
Testcase 2: TCP protocol + ZMQ REQ-REP mode, ifconfig down/up enp2s0
-- Expected Result: reconnect successful, send-recv msg OK.
Testcase 3: TICP protocol + ZMQ REQ-REP mode, ifconfig down/up enp2s0
-- Expected Result: reconnect successful, send-recv msg OK.
Testcase 4: TICP protocol + ZMQ REQ-REP mode, Unplug/plug in cable
-- Expected Result: reconnect successful, send-recv msg OK.
The text was updated successfully, but these errors were encountered: