-------- Original Message --------
Hi all,
I have two nearly identical soft IOCs on two separate linux
machines; SL6.4, EPICS v3.14.12.3, procServ 2.6.0
Each updates the PV on the other machine such that I have an
infinite loop between the computers. Each of the
computers are running only 1 IOC for the test, but ultimately, I
run several IOCs with different server ports
on a single PC.
I ran 4 tests to compare what happens when between running from
the command line and using procServ
with port 5064 vs an arbitrary port 10000. In all cases
$EPICS_CA_AUTO_ADDR_LIST=NO. For the cases
when I used procServ, I also did a tcpdump.
When running both IOCs from terminals with:
1) $EPICS_CA_ADDR_LIST="xxx.xxx.xxx.xxx:5064 and
$EPICS_CA_SERVER_PORT=5064 yyy.yyy.yyy.yyy:5064": 2 IOCs work
together
2) $EPICS_CA_ADDR_LIST="xxx.xxx.xxx.xxx:10000 and
$EPICS_CA_SERVER_PORT=10000 yyy.yyy.yyy.yyy:10000": 2 IOCs work
together
These results were expected.
When running both IOCs from procServ, and using the command:
procServ -i ^D^C --killsig 15 --name testSoftIOC --quiet 7004
/home/epics/epicsDEV/iocTops/testSoftIOC/iocBoot/ioctestSoftIOC/st.cmd
3) $EPICS_CA_ADDR_LIST="xxx.xxx.xxx.xxx:5064 and
$EPICS_CA_SERVER_PORT=5064 yyy.yyy.yyy.yyy:5064":
The 2 IOCs work together successfully. Then performing the
tcpdump, I get:
[root@miceiocpctest epics]# tcpdump -i eth0 -c 20 -n host
yyy.yyy.yyy.yyy and port not 22
tcpdump: verbose output suppressed, use -v or -vv for full
protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535
bytes
16:32:19.019788 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 1247694494:1247694590, ack
1297244695, win 245, options [nop,nop,TS val 717239303 ecr
687760235], length 96
16:32:19.021378 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 96:120, ack 1, win 245,
options [nop,nop,TS val 717239305 ecr 687760235], length 24
16:32:19.021517 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 120:192, ack 1, win 245,
options [nop,nop,TS val 717239305 ecr 687760235], length 72
16:32:19.021629 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 192:240, ack 1, win 245,
options [nop,nop,TS val 717239305 ecr 687760235], length 48
16:32:19.021722 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 240:288, ack 1, win 245,
options [nop,nop,TS val 717239305 ecr 687760235], length 48
16:32:19.021767 IP yyy.yyy.yyy.yyy.ca-1 >
xxx.xxx.xxx.xxx.53292: Flags [.], ack 192, win 1002, options
[nop,nop,TS val 687760243 ecr 717239303], length 0
16:32:19.021858 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 288:312, ack 1, win 245,
options [nop,nop,TS val 717239305 ecr 687760243], length 24
16:32:19.021971 IP yyy.yyy.yyy.yyy.ca-1 >
xxx.xxx.xxx.xxx.53292: Flags [.], ack 288, win 1002, options
[nop,nop,TS val 687760243 ecr 717239305], length 0
16:32:19.022053 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 312:360, ack 1, win 245,
options [nop,nop,TS val 717239305 ecr 687760243], length 48
16:32:19.022178 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 360:384, ack 1, win 245,
options [nop,nop,TS val 717239306 ecr 687760243], length 24
16:32:19.022323 IP yyy.yyy.yyy.yyy.ca-1 >
xxx.xxx.xxx.xxx.53292: Flags [.], ack 360, win 1002, options
[nop,nop,TS val 687760244 ecr 717239305], length 0
16:32:19.022451 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 384:432, ack 1, win 245,
options [nop,nop,TS val 717239306 ecr 687760244], length 48
16:32:19.022565 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 432:480, ack 1, win 245,
options [nop,nop,TS val 717239306 ecr 687760244], length 48
16:32:19.022765 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 480:552, ack 1, win 245,
options [nop,nop,TS val 717239306 ecr 687760244], length 72
16:32:19.022794 IP yyy.yyy.yyy.yyy.ca-1 >
xxx.xxx.xxx.xxx.53292: Flags [.], ack 432, win 1002, options
[nop,nop,TS val 687760244 ecr 717239306], length 0
16:32:19.022947 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 552:600, ack 1, win 245,
options [nop,nop,TS val 717239306 ecr 687760244], length 48
16:32:19.023000 IP yyy.yyy.yyy.yyy.ca-1 >
xxx.xxx.xxx.xxx.53292: Flags [.], ack 552, win 1002, options
[nop,nop,TS val 687760244 ecr 717239306], length 0
16:32:19.023088 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 600:648, ack 1, win 245,
options [nop,nop,TS val 717239306 ecr 687760244], length 48
16:32:19.023194 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 648:672, ack 1, win 245,
options [nop,nop,TS val 717239307 ecr 687760244], length 24
16:32:19.023312 IP xxx.xxx.xxx.xxx.53292 >
yyy.yyy.yyy.yyy.ca-1: Flags [P.], seq 672:720, ack 1, win 245,
options [nop,nop,TS val 717239307 ecr 687760244], length 48
20 packets captured
745 packets received by filter
665 packets dropped by kernel
4) $EPICS_CA_ADDR_LIST="xxx.xxx.xxx.xxx:10000 and
$EPICS_CA_SERVER_PORT=10000 yyy.yyy.yyy.yyy:10000
yyy.yyy.yyy.yyy:10000":
The 2 IOCs fail to work together. Then performing tcpdump:
[root@miceiocpctest epics]# tcpdump -i eth0 -c 20 -n host
yyy.yyy.yyy.yyy and port not 22
tcpdump: verbose output suppressed, use -v or -vv for full
protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535
bytes
16:42:26.806887 IP xxx.xxx.xxx.xxx.57809 >
yyy.yyy.yyy.yyy.ndmp: Flags [P.], seq 3756718018:3756718034, ack
1282241670, win 229, options [nop,nop,TS val 717847090 ecr
688338034], length 16
16:42:26.807279 IP yyy.yyy.yyy.yyy.ndmp >
xxx.xxx.xxx.xxx.57809: Flags [P.], seq 1:17, ack 16, win 227,
options [nop,nop,TS val 688368029 ecr 717847090], length 16
16:42:26.807333 IP xxx.xxx.xxx.xxx.57809 >
yyy.yyy.yyy.yyy.ndmp: Flags [.], ack 17, win 229, options
[nop,nop,TS val 717847091 ecr 688368029], length 0
16:42:28.554708 IP xxx.xxx.xxx.xxx.60505 >
yyy.yyy.yyy.yyy.ca-1: UDP, length 48
16:42:28.555064 IP yyy.yyy.yyy.yyy > xxx.xxx.xxx.xxx: ICMP
yyy.yyy.yyy.yyy udp port ca-1 unreachable, length 84
16:42:28.586698 IP xxx.xxx.xxx.xxx.60505 >
yyy.yyy.yyy.yyy.ca-1: UDP, length 48
16:42:28.587031 IP yyy.yyy.yyy.yyy > xxx.xxx.xxx.xxx: ICMP
yyy.yyy.yyy.yyy udp port ca-1 unreachable, length 84
16:42:28.651191 IP xxx.xxx.xxx.xxx.60505 >
yyy.yyy.yyy.yyy.ca-1: UDP, length 48
16:42:28.651529 IP yyy.yyy.yyy.yyy > xxx.xxx.xxx.xxx: ICMP
yyy.yyy.yyy.yyy udp port ca-1 unreachable, length 84
16:42:28.778695 IP xxx.xxx.xxx.xxx.60505 >
yyy.yyy.yyy.yyy.ca-1: UDP, length 48
16:42:28.779029 IP yyy.yyy.yyy.yyy > xxx.xxx.xxx.xxx: ICMP
yyy.yyy.yyy.yyy udp port ca-1 unreachable, length 84
16:42:29.034729 IP xxx.xxx.xxx.xxx.60505 >
yyy.yyy.yyy.yyy.ca-1: UDP, length 48
16:42:29.035077 IP yyy.yyy.yyy.yyy > xxx.xxx.xxx.xxx: ICMP
yyy.yyy.yyy.yyy udp port ca-1 unreachable, length 84
16:42:30.830255 IP xxx.xxx.xxx.xxx.57810 >
yyy.yyy.yyy.yyy.ndmp: Flags [P.], seq 1575505478:1575505494, ack
3147764375, win 245, options [nop,nop,TS val 717851114 ecr
688342057], length 16
16:42:30.830642 IP yyy.yyy.yyy.yyy.ndmp >
xxx.xxx.xxx.xxx.57810: Flags [P.], seq 1:17, ack 16, win 243,
options [nop,nop,TS val 688372053 ecr 717851114], length 16
16:42:30.830727 IP xxx.xxx.xxx.xxx.57810 >
yyy.yyy.yyy.yyy.ndmp: Flags [.], ack 17, win 245, options
[nop,nop,TS val 717851114 ecr 688372053], length 0
16:42:51.272682 IP yyy.yyy.yyy.yyy.39000 >
xxx.xxx.xxx.xxx.ndmp: Flags [P.], seq 644595172:644595188, ack
798743394, win 245, options [nop,nop,TS val 688392495 ecr
717841561], length 16
16:42:51.272850 IP xxx.xxx.xxx.xxx.ndmp >
yyy.yyy.yyy.yyy.39000: Flags [P.], seq 1:17, ack 16, win 243,
options [nop,nop,TS val 717871556 ecr 688392495], length 16
16:42:51.273199 IP yyy.yyy.yyy.yyy.39000 >
xxx.xxx.xxx.xxx.ndmp: Flags [.], ack 17, win 245, options
[nop,nop,TS val 688392495 ecr 717871556], length 0
16:42:56.802546 IP xxx.xxx.xxx.xxx.57809 >
yyy.yyy.yyy.yyy.ndmp: Flags [P.], seq 16:32, ack 17, win 229,
options [nop,nop,TS val 717877086 ecr 688368029], length 16
20 packets captured
20 packets received by filter
0 packets dropped by kernel
What am I doing wrongly?
Thanks,
Pierrick
--
"Whether you think you can or think you can't, either way, you
are correct" -- Henry Ford
_______________________________________________________________
Pierrick Hanlet
IIT/Fermilab
+44-(0)1235-44-5550 (RAL)
+1-630-840-5555 (FNAL)
+1-312-567-5745 (IIT)
+1-630-697-8758/+44-(0)79-48-860-197 (US/UK mobile)