[CLUE-Tech] eth0 keeps dropping, whats up with that?

Lynn Danielson lynnd at techangle.com
Tue Jun 18 18:33:31 MDT 2002


Jason Canney wrote:
> I have a distribution of linux that when I reboot or run ifconfig eth0 up 
> it brings up the interface correctly, and I am able to ssh to the machine.
> About an hour or so later, the interface drops and I am unable or
> disconnected from the machine,,,, any thoughts?

Are you sure the eth0 interface goes away or are you simply running into
the ssh idle timeout?  There are "KeepAlive" and "IdleTimeout parameters
in ssh, but I've read that openssh doesn't implement IdleTimeout.

You might try adding "KeepAlive yes" to your $HOME/.ssh/config file and
"KeepAlive yes" in the /etc/ssh/sshd_config if you have access to that.

There was a discussion about this on the NCLUG list a while back and
an interesting point was made about kernel TCP configuration ...
> On Fri, Mar 02, 2001 at 12:13:40PM -0700, Mark Fassler wrote:
> 
> This is not only an application thing.  Linux, to keep tables from
> growing out of control for orphaned entries, clears entries from the
> masquerading table that have not seen traffic for a certain period of
> time.  I believe the defaults are 15 minutes for TCP connections, and
> 5 minutes for UDP.  There is a way to change this without recompiling
> the kernel source, but I'd have to RTFM, and I'm a bit busy at work
> right now.
> 
> Mark's solution WILL work, but only for the SSH application.  Stuff
> like low-traffice IRC server (with really screwed up PING-PONG
> settings) will time out, as will low traffic telnet sessions, etc.
> You're probably better off fixing the timeout value than fixing stuff
> app by app.
> 
> --mec


Fwiw,

Lynn


Received: from bastille.tuells.org (radius8.csd.net [204.151.43.208])
	by clue.denver.co.us (8.9.3/8.9.3) with ESMTP id JAA21921
	for <clue-tech at clue.denver.co.us>; Tue, 18 Jun 2002 09:13:47 -0600
Received: from tuells.org (IDENT:hGOXQvfKvlDihLeg13Ww3QfnDalx4MiC at watermarks.tuells.org [192.168.42.13])
	by bastille.tuells.org (8.11.6/8.11.6) with ESMTP id g5IDCLX09696;
	Tue, 18 Jun 2002 09:12:25 -0400
Message-ID: <3D0F4E51.2000102 at tuells.org>
Date: Tue, 18 Jun 2002 09:14:25 -0600
From: marcus hall <marcus at tuells.org>
Organization: Tuells Homestead
User-Agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:0.9.2.1) Gecko/20010901
X-Accept-Language: en-us
MIME-Version: 1.0
To: mgushee at havenrock.com
CC: clue-tech at clue.denver.co.us
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [CLUE-Tech] Re: Dumb C/GCC question
Sender: clue-tech-admin at clue.denver.co.us
Errors-To: clue-tech-admin at clue.denver.co.us
X-BeenThere: clue-tech at clue.denver.co.us
X-Mailman-Version: 2.0beta2
Precedence: bulk
Reply-To: clue-tech at clue.denver.co.us
List-Id: CLUE technical discussions, questions and answers. <clue-tech.clue.denver.co.us>

 >I am having trouble compiling a C program. The build is failing with
 >this error:

 >  /usr/local/src/mercury-compiler-0.10.1/trace/mercury_trace.c:194: \
 >    undefined reference to `MR_COLLECT_filter'

This error is at link time, right?

The fact that it is defined in a header file defines the function for compiling
the .c file, but doesn't imply that the object will be available at link time.

 >... And the function seems to be defined in mercury_trace_external.c.

Are you linking with mercury_trace_external.o in some form?  This could be done
by explicitly mentioning the object file to the link step, or more likely by
mentioning some library (.a or .so file) to the link step.  If either way, you
can make sure that the symbol is defined by running the command
"nm mercury_trace_external.o | grep MR_COLLECT_filter" (substitute the name of
the library for mercury_trace_external.o if you are using that instead).  You
should see an entry for MR_COLLECT_filter with a "T" in the second column (the
first column is its address within the file/library).

If this symbol *is* defined, then we have to look deeper into the link step.  If
it *isn't* defined, then we have to find some object file or library that
defines it and include that on the link step.

If there is any possibility that one or the other file is a C++ file, then we
have to make sure that name mangling isn't an issue, but if all are C files then
don't worry about that...

marcus hall





More information about the clue-tech mailing list