Hello,
I had the problem that ftps between Suns and HP's (and HP's to HP's) failed
with "no route to host" or "no such file or directory" by transfering big files
(>5MB) via a T1 link.
This is a HP problem.
Thanks to Mike Peterson <system@alchemy.chem.utoronto.ca>, who gave the right 
hint. (I will add the script to the SUMMARY). We had a fine transmission
without any problems over the last 6 days.
Regards,
Michael Fendt
                      
ESO (European Southern Observatory)
Karl-Schwarzschild-Str. 2                         
85748 Garching 
Germany
Tel: +49 89 32006 441
Fax: +49 89 32023 62
email: mfendt@eso.org
___________________________ included message _________________________________
From: Mike Peterson (System Admin) <system@alchemy.chem.utoronto.ca>
To: mfendt@eso.org
Subject: Re:  [HPADM] FTP problem, question
Content-Length: 3843
X-Lines: 200
As long as a HP system is involved in the ftp (either as client or
server), you may be getting the ICMP redirect problem that caused
us a lot of problems for 4 months. HP finally gave us a script,
which I have attached to this mail, that stopped the problems
immediately. 
Mike
________________________________________________________________________________
Thanks to Stuart Tares <stares@lhrsys1.lhr-sys.bru-ro.dhl.com>
who thought that it might be a timeout problem.
__________________________________ including message ___________________________
On Mon, 28 Aug 1995 mfendt@eso.org wrote:
Michael,
I have seen the same problem when transferring data between two different 
machines but only when there was a router in the way.
The problem has been seen with various different hardware/software setups.
It would appear to be a problem with the ftp command channel timing out 
whilst the data channel is still transferring.
Stuart
________________________________________________________________________________
This is the original question:
----- Begin Included Message -----
>From mfendt Mon Aug 28 17:49:55 1995
From: Michael Fendt <mfendt@eso.org>
To: hpux-admin@cv.ruu.nl, sun-managers@eecs.nwu.edu
Subject: FTP problem, question
Cc: mfendt@eso.org
Content-Length: 1770
X-Lines: 50
Hello,
I have a problem (and questions) to FTP. It actually started as a
HP only problem, but only for a few hours and then I'm not shure where the
culprit is.
I'm transferring huge files >8MB over a T1 link with FTP from an 
HP 9000/735/99 running HP 9.01 (let's call it HP1) to another HP 9000/735/99 
with 9.05 (HP2)
Every now and again (~30%) it fails with in the middle of the transfer with 
"no route to host"
or
"no such file or directory" 
but nothing has changed and the next transfer might work without any problems.
The same thing happens as well if I use a Sun connecting to HP2
On the other side no error occured if HP1 is transferring
from a Sun (which is close to the HP; not exactly on the same subnet but
on the other side of the T1 link)
I might be able to convince the other end to install the wu ftpd if that helps,
but what did not help was using another ftp (I compiled the berkley ftp
and Suns and HP's).
Actually that's where my question start:
on Sun the original ftp and the Berkley version run at the same (~350kbits/sec)
speed whereas on HP the original ftp runs at ~450Kbits/sec and the Berkley 
version only at ~120Kbits/sec. (So that's why we did not consider that as a 
work araound)
The same phenomena I have on a Sun running Sol2.3 (~350Kbits/sec) and a Sun 
running 2.4 (~120Kbits/sec).
Any idea why (TCP Window size?, Segment size?, MTU path discovery?, ftp 
implementations ?,...) Any pointers to literature are welcome as well.
Regards,
Michael Fendt
----- End Included Message -----
----- Begin Included Message -----
This is the "helpful" script, which prevents to pass ICMP to the application 
layer.
I now do a 'set_icmp -off' in the localrc() section
of /etc/rc.
#!/bin/sh
#
# set_icmp
# --------
# Script to modify the inetctlerror-map, which gates whether or not
# ICMP messages are passed out of TCP/IP to end applications at 
# higher layers.  This script turns ON/OFF the passing of 
# ICMP messages Host Unreachable / Net Unreachable.   
#
# Hewlett-Packard Corporation
# This script is UNSUPPORTED.  Use at own risk. 
# Written:   20 Aug  93   Michael Hartmann RCO Germany
# Modified:   1 Sept 93   Bob Kelley EC Cupertino
#
#
PATH=/bin:/usr/bin:/etc:.
#
# default values
#
value1=0
value2=0
hostunreach_on=61938
hostunreach_off=61696
netunreach_on=58866
netunreach_off=0
#
# Temporary Dumping Ground
#
TMPFILE=/tmp/inet$$
#
# Usage Subroutine
#
usage()
{
echo "usage: set_icmp { [-off] | [-on] | [-help] | [-p] }"
  exit
}
#
# Help Information Subroutine - called when -help option given
#
printhelp()
{
  echo "set_icmp :"
  echo "  Will set the kernel's inetctl-errormap-table."
  echo "- The \"-off n\" option disables the transfer of ICMP-destination "
  echo "  unreachable-messages to upper layers."
  echo "- The \"-on\" option enables the transfer (default behavior)."
  echo "- The \"-d\" default option also enables the transfer." 
  echo "- The \"-help\" prints this message."
  echo "- The \"-p\" displays the current setting."
}
#
# Kernel value reading subroutine
#
read_values()
{
adb /hp-ux /dev/kmem << EOF > $TMPFILE
inetctlerrmap+0x4/D
inetctlerrmap+0x8/d
EOF
vals=`cat $TMPFILE | grep inet | awk '{if ($2 != "") print $2}'`
once=0
for i in $vals
do
    case $once in
        0) rvalue1=$i
           once=`expr $once + 1`;;
        1) rvalue2=$i
           if [ $rvalue2 -lt 0 ]
           then
              rvalue2=`expr $rvalue2 + 65536`
           fi
           once=`expr $once + 1`;;
        *) echo "internal error"
    esac
done
rm $TMPFILE
}
#
# Display values
#
show_values()
{
  if [ $rvalue1 -eq $hostunreach_off ] 
  then
     echo "ICMP HOSTUNREACH passing is OFF"
  else
     echo "ICMP HOSTUNREACH passing is ON (default)"
  fi
  if [ $rvalue2 -eq $netunreach_off ]
  then
     echo "ICMP NETUNREACH passing is OFF"
  else
     echo "ICMP NETUNREACH passing is ON (default) "
  fi
}
# Begin of Program
#
# check for options
change=0
display=0
enable=0
if [ $# -eq 0 ]
then
  usage
fi
for i in $*
do
    case $i in
        -d  )   echo "Resetting to defaults..."
                value1=$hostunreach_on
                value2=$netunreach_on
                change=1
                enable=1;;
        -on )   value1=$hostunreach_on
                value2=$netunreach_on
                change=1
                enable=1;;
        -off )  value1=$hostunreach_off
                value2=$netunreach_off
                change=1
                enable=0;;
        -p ) display=1;;
        -help ) printhelp 
                exit ;;
        -* )    echo $1 is an unknown parameter
                usage;;
    esac
done
read_values
if [ $display -eq 1 ]
then
    show_values
fi
           
#
# Set the values
#
if [ $change -eq 1 ]
then
# write interval to kernel and kernel image 
adb -w -k /hp-ux /dev/mem << EOF >/dev/null
inetctlerrmap+0x4/W 0D$value1
inetctlerrmap+0x8/w 0d$value2
EOF
read_values
test=1
if [ $rvalue1 != $value1 ]
then
  test=0
fi
if [ $rvalue2 != $value2 ]
then
  test=0
fi
if [ $test -eq 1 ]
then
  if [ $enable -eq 0 ]
  then
    echo "ICMP-destination-unreachable messages are NOT sent to upper layers!"
    show_values
  else
    echo "ICMP-destination-unreachable messages ARE sent to upper layers!"
    show_values
  fi
else
  echo "Problems changing inetctlerrmap!"
  show_values
fi
fi
----- End Included Message -----
This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:10:32 CDT