Bug 15494

Summary: over-natd connections hang if MTUs are different
Product: Base System Reporter: Mikhail Teterin <mi>
Component: binAssignee: ru <ru>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.3-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
natd.c.patch
none
file.dat none

Description Mikhail Teterin 1999-12-15 14:50:00 UTC
	The MTUs on the gateway's interfaces are set to 900 (seems
	to work better with this ancient 3Com ISA cards). The client's
	MTU was set to 1500.

	Any TCP connection made by the client (handled by the gateway's
	natd) would soon hang in the middle of data transfer.

Fix: 

Use the same MTU on the client.
How-To-Repeat: 
	See description
Comment 1 ru freebsd_committer freebsd_triage 1999-12-30 13:11:36 UTC
On Wed, Dec 15, 1999 at 09:46:04AM -0500, Mikhail Teterin wrote:
> 
> A gateway machine with two interfaces -- public and private
> running natd. A client machine with one interface.
> 
> The problem observed with the FreeBSD-3.3 (x86) client and
> with the Linux Redhat-6.0 client (on Alpha).
> 
> The MTUs on the gateway's interfaces are set to 900 (seems
> to work better with this ancient 3Com ISA cards). The client's
> MTU was set to 1500.
> 
> Any TCP connection made by the client (handled by the gateway's
> natd) would soon hang in the middle of data transfer.
> 
I bet you have your aliasing address specified as an IP number
(with -a option) rather than derived from an interface name (-n).
Am I right?

If yes, could you please try the following patch.

-- 
Ruslan Ermilov		Sysadmin and DBA of the
ru@ucb.crimea.ua	United Commercial Bank,
ru@FreeBSD.org		FreeBSD committer,
+380.652.247.647	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age
Comment 2 ru freebsd_committer freebsd_triage 1999-12-30 13:28:36 UTC
State Changed
From-To: open->feedback

Patch has been sent to originator. 


Comment 3 ru freebsd_committer freebsd_triage 1999-12-30 13:28:36 UTC
Responsible Changed
From-To: freebsd-bugs->ru

Over to maintainer. 

Comment 4 Mikhail Teterin 1999-12-30 14:15:20 UTC
Ruslan Ermilov once stated:

=> A gateway machine  with two interfaces -- public  and private running
=> natd. A client machine with one interface.
=> 
=> The problem observed  with the FreeBSD-3.3 (x86) client  and with the
=> Linux Redhat-6.0 client (on Alpha).
=> 
=> The MTUs  on the gateway's interfaces  are set to 900  (seems to work
=> better with this ancient 3Com ISA cards). The client's MTU was set to
=> 1500.
=> 
=> Any TCP connection made by the client (handled by the gateway's natd)
=> would soon hang in the middle of data transfer.
=>
=I bet you have your aliasing address specified as an IP number (with -a
=option) rather than derived from an interface name (-n). Am I right?

Nope:
	mi@aldan:~ (1) ps -ax | grep natd
	50380  ??  Ss     2:47.03 /sbin/natd -u -s -n ep1

Yours,

	-mi

=If yes, could you please try the following patch.
[...]
[Attachment, skipping...]
Comment 5 ru freebsd_committer freebsd_triage 2000-01-06 12:33:36 UTC
State Changed
From-To: feedback->analyzed

Confirmed to be a real problem, working on a patch. 

Comment 6 Ruslan Ermilov 2000-01-24 08:46:43 UTC
On Wed, Dec 15, 1999 at 09:46:04AM -0500, Mikhail Teterin wrote:
> 
> >Number:         15494
> >Category:       kern
> >Synopsis:       over-natd connections hang if MTUs are different

Could you please test the following patch?
And please don't forget -dynamic option!

-- 
Ruslan Ermilov		Sysadmin and DBA of the
ru@ucb.crimea.ua	United Commercial Bank,
ru@FreeBSD.org		FreeBSD committer,
+380.652.247.647	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age
Comment 7 ru freebsd_committer freebsd_triage 2000-01-25 12:24:37 UTC
State Changed
From-To: analyzed->feedback

Fixed in 4.0-CURRENT (src/sys/net/if.c,v 1.83, src/sbin/natd/natd.c,v 1.24). 
Comment 8 ru freebsd_committer freebsd_triage 2000-01-27 17:03:55 UTC
State Changed
From-To: feedback->closed

Fixed in 3.4-STABLE (sys/net/if.c,v 1.64.2.3, sbin/natd/natd.c,v 1.11.2.8).