Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Feb 2002 21:19:46 +0100
From:      Marcel de Vries <mdevries@haveityourway.nl>
To:        Luigi Rizzo <rizzo@icir.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: network buffer problem -/- natd
Message-ID:  <5.1.0.14.2.20020219204129.00b5aa20@outshine>
In-Reply-To: <20020219104432.A31233@iguana.icir.org>
References:  <5.1.0.14.2.20020219192110.01f45e48@outshine> <5.1.0.14.2.20020219154939.00bb52d8@outshine> <5.1.0.14.2.20020219192110.01f45e48@outshine>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi all,

Unrelated but for everybody unknown with mpd:

FYI:

DESCRIPTION
      mpd is a user mode PPP daemon using the netgraph(4) networking system.
      By using Netgraph, mpd combines the robustness and flexibility of a user-
      mode PPP implementation with the speed and reliability of kernel-mode
      packet forwarding.  All PPP negotiation is handled in user level code,
      while all data intensive operations such as encryption, compression, and
      multi-link framing are handled strictly in the kernel.  Mpd supports sev-
      eral link layer types, a fully event-driven modem chat scripting lan-
      guage, and other features.

      -snip-

As far as I know mpd still cannot manage IP masquerading :)

I use mpd to setup a PPTP (gre encapsulation) connection between interface 
ep0 (public) and my Alcatel ADSL modem.
Don't ask me why but it's the concept of a BIG telecom company we all love 
to hate in the Netherlands. KPN TELECOM.

And most of the people use mpd in the Netherlands and find it a comfortable 
and more stable solution I think.

Well I guess mxstream ADSL works fine in most cases. These other paid OS 
types like w9x/me, winnt, win2k/XP all can handle PPTP VPN connections only 
with the correct DUN version for the early win versions that is. And almost 
every ordinary household who owns a computer is running one of the 
disgusting platforms mentioned above. And I think it have to work great in 
combination with ADSL or else they could flush there concept down the 
drains. Because mxstream wants to attract and provide internet for this sector.

There where a lot problems in the beginning of mxstream but they changed 
there design to make it more useful for a internet user.

So as most of the BSD community who are in lucky circumstances to own a 
ADSL connection would love to use FreeBSD as a router for the rest of the 
network.

I know more people are dealing with packet loss and losing there connection 
in use with mxstream ADSL. People that really use there internet extensive 
that is ;-)

But how can we fix these problems or even look to a better alternative?

Grtz,

Marcel








At 10:44 19-02-2002 -0800, Luigi Rizzo wrote:
>On Tue, Feb 19, 2002 at 07:24:09PM +0100, Marcel de Vries wrote:
> > After 4 hours of pinging and listening to a shoutcast stream natd rised to
> > his state of eating 34% proctime (top)
> > Connection timed out, did a restart of mpd and everything is running 
> normal
> > agian.
>
>somewhat unrelated, but... why are you using both mpd and natd ?
>wouldn't mpd do the address translation same as ppp does ?
>
>Anyways the performance problem could be easily explained by
>a poor implementation of the session lookup in libalias -- e.g.
>resulting in heavy scanning of long lists for each received packet,
>or things like that.
>
> From the (almost non-existent) comments in the libalias code it is
>not immediate to understand what is the underlying data structure
>-- maybe a hash table followed by lists -- nor if there are variables
>that one could monitor to see how the lookup strategy works (e.g.
>number of entries, average depth of the lists, etc.
>
> > > - i'm not an expert but truss, strace and grof show that most of the time
> > >is spent in sendto() ...
>
>This is probably related to a problem in natd which was fixed by
>Ruslan not long ago in current, and did not make it in RELENG_4_5
>(it is in -stable though).
>
>The bug was that natd looped around a select which would always
>return the socket as writable, and it would keep retrying a sendto()
>until successful.
>The fix is to drop the packet when sendto fails, and rely on retransmissions
>instead.
>
>         cheers
>         luigi
>
>To Unsubscribe: send mail to majordomo@FreeBSD.org
>with "unsubscribe freebsd-net" in the body of the message



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5.1.0.14.2.20020219204129.00b5aa20>