Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: problem with procServ and server port numbers
From: Pierrick Hanlet <hanlet@fnal.gov>
To: Tech Talk <tech-talk@aps.anl.gov>
Date: Fri, 2 May 2014 17:33:48 +0100
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)

Replies:
no response first time, so I'm trying again Pierrick Hanlet

Navigate by Date:
Prev: Re: [SPAM] RE: cannot run medm rightly on ubuntu 13.04 ahwwq
Next: Point Grey Flea3 areaDetector ImageJ Viewer Problems Zachary Brown
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
Navigate by Thread:
Prev: EPICS opportunities at FRIB Hoff, Larry
Next: no response first time, so I'm trying again Pierrick Hanlet
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·