Re: Mac OS X NAT/related TCP issue?



tfb+google@xxxxxxxx wrote:
When sending substantial amounts of data it fairly frequently just
gives up in some horrible way - applications just decide the TCP
stream is gone away, and if I use tcpdump it looks like there is
massive packet loss. This seems only to happen when the mac is
talking to things outwith the NATting router (in other words it
happens when doing stuff like sending mail etc).

Where are you running tcpdump? On the sending Mac, or somewhere else?
There is no guarantee that tcpdump will see everything sent on the
wire, so I'd confirm that with some netstat statistics. Take some
snapshots of netstat stats and perhaps run them through "beforeafter"
(ftp://ftp.cup.hp.com/dist/networking/tools/ - you will have to
compile it yourlself, the binary there is PA-RISC/HP-UX :)

You said that the link was half-duplex and that it was supposed to be.
The switch does indeed believe the link to be half-duplex?

How 100Base-T Autoneg is supposed to work:

When both sides of the link are set to autoneg, they will "negotiate"
the duplex setting and select full duplex if both sides can do
full-duplex.

If one side is hardcoded and not using autoneg, the autoneg process
will "fail" and the side trying to autoneg is required by spec to use
half-duplex mode.

If one side is using half-duplex, and the other is using full-duplex,
sorrow and woe is the usual result.

So, the following table shows what will happen given various settings
on each side:

Auto Half Full

Auto Happiness Lucky Sorrow

Half Lucky Happiness Sorrow

Full Sorrow Sorrow Happiness

Happiness means that there is a good shot of everything going well.
Lucky means that things will likely go well, but not because you did
anything correctly :) Sorrow means that there _will_ be a duplex
mis-match.

When there is a duplex mismatch, on the side running half-duplex you
will see various errors and probably a number of _LATE_ collisions
("normal collisions don't count here). On the side running full-duplex
you will see things like FCS errors. Note that those errors are not
necessarily conclusive, they are simply indicators.

Further, it is important to keep in mind that a "clean" ping (or the
like - eg "linkloop" or default netperf TCP_RR) test result is
inconclusive here - a duplex mismatch causes lost traffic _only_ when
both sides of the link try to speak at the same time. A typical ping
test, being synchronous, one at a time request/response, never tries
to have both sides talking at the same time.

Finally, when/if you migrate to 1000Base-T, everything has to be set
to auto-neg anyway.

So, if there is a way to get link-level statistics on your system you
might want to check those.

rick jones
--
The glass is neither half-empty nor half-full. The glass has a leak.
The real question is "Can it be patched?"
these opinions are mine, all mine; HP might not want them anyway... :)
feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...
.



Relevant Pages

  • Re: Mac OS X NAT/related TCP issue?
    ... Where are you running tcpdump? ... You said that the link was half-duplex and that it was supposed to be. ... When both sides of the link are set to autoneg, ... the duplex setting and select full duplex if both sides can do ...
    (comp.sys.mac.system)
  • Re: 100Mb lan tops out at 1.2Mb ?
    ... make sure there isn't a duplex mismatch between your hosts ... When both sides of the link are set to autoneg, ... If one side is using half-duplex, and the other is using full-duplex, ...
    (comp.os.linux.networking)
  • Re: HP-UX 11.0 ftp doesnt work with any other system
    ... When both sides of the link are set to autoneg, ... the duplex setting and select full duplex if both sides can do ... If one side is using half-duplex, and the other is using full-duplex, ...
    (comp.sys.hp.hpux)
  • Re: will gigabit ethernet help autonegotiation problems go away?
    ... since our switch is an unmanaged Netgear switch, ... down to half-duplex when one side is not set to autonegotiation. ... have a duplex mis-match between your switch and your NIC. ... When both sides of the link are set to autoneg, ...
    (comp.os.linux.networking)
  • Re: bge driver autoneg failure and system-wide stalls
    ... > The switch is managed, and does gigabit. ... autoneg is working just fine. ... 100 half duplex, then 10 full duplex, and finally 10 half duplex. ...
    (freebsd-current)