Re: bad tcp cksum fffe!

2002-05-16 Thread Cristan Szmajda

Dear Giorgos,

Thanks for your suggestion!  The problem has gone away by
backing off to -O1 in kernel and -O2 in userland.  Strange,
because I have been using -O3 -fomit-frame-pointer for a
while now (/usr/share/examples/etc/make.conf notwithstanding)
with ill effects.  My bad.

Sorry, but I can't be more specific on which particular flag
or which particular CVS update caused the problem.  CPU too
slow.

Thanks again,
-- Chris


On Tuesday, Giorgos Keramidas said:

> On 2002-05-14 17:39, Cristan Szmajda wrote:
> > Dear freebsd-current,
> >
> > Any suggestions you have regarding this problem would be
> > much appreciated.
> >
> > My laptop running -CURRENT is suddenly generating bad TCP
> > checksums when talking to some IPs but not others.  For
> > example, 129.94.209.220 is a problem,
> >
> > 17:08:47.026823 129.94.233.200.1032 > 129.94.209.220.22: S
> > [bad tcp cksum fffe!] 3868790363:3868790363(0) win 65535
> > 
> > (DF) (ttl 64, id 347, len 68)
>
> I've seen this only twice.  The first time I was using too funky
> optimizations to the CFLAGS of my kernel, and GCC was obviously doing
> something wrong with the checksum generation code.  If this is the
> case, then rebuild your kernel and userland with the suggested
> optimizations from /usr/share/examples/etc/make.conf and see if this
> fixes things for you.
>
> The second one was when my tcpdump (and the rest of the userland) was
> really VERY out of sync with the running kernel (I had managed to
> upgrade only the kernel and tcpdump was probably reading random data
> from bpf).  But there were other more important things wrong with this
> case.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: bad tcp cksum fffe!

2002-05-14 Thread Giorgos Keramidas

On 2002-05-14 17:39, Cristan Szmajda wrote:
> Dear freebsd-current,
> 
> Any suggestions you have regarding this problem would be
> much appreciated.
> 
> My laptop running -CURRENT is suddenly generating bad TCP
> checksums when talking to some IPs but not others.  For
> example, 129.94.209.220 is a problem,
> 
> 17:08:47.026823 129.94.233.200.1032 > 129.94.209.220.22: S
> [bad tcp cksum fffe!] 3868790363:3868790363(0) win 65535
> 
> (DF) (ttl 64, id 347, len 68)

I've seen this only twice.  The first time I was using too funky
optimizations to the CFLAGS of my kernel, and GCC was obviously doing
something wrong with the checksum generation code.  If this is the
case, then rebuild your kernel and userland with the suggested
optimizations from /usr/share/examples/etc/make.conf and see if this
fixes things for you.

The second one was when my tcpdump (and the rest of the userland) was
really VERY out of sync with the running kernel (I had managed to
upgrade only the kernel and tcpdump was probably reading random data
from bpf).  But there were other more important things wrong with this
case.

-- 
Giorgos Keramidas- http://www.FreeBSD.org
[EMAIL PROTECTED] - The Power to Serve

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: bad tcp cksum fffe!

2002-05-14 Thread Terry Lambert

Cristan Szmajda wrote:
> 
> Dear freebsd-current,
> 
> Any suggestions you have regarding this problem would be
> much appreciated.
> 
> My laptop running -CURRENT is suddenly generating bad TCP
> checksums when talking to some IPs but not others.  For
> example, 129.94.209.220 is a problem,

What do you mean "suddenly"?  If you downgrade, but have all
the IP addresses and payloads exactly the same, you don't get
the problem?

The NAT code is known to use the RFC 1141 rather than RFC 1624
incremental checksum update method, which can result in checksum
errors like those you are seeing, as a result of carry underflow
screwing up the calculation (the calculation should accumulate
the old and new checksum values in different registers, and then
combine them only after dealing with carry to get them into 16
bits).  I've commented on this before, with patched calculation
code.  If the problem happens on both the old and the new FreeBSD
code, then it's probably that you are going through a NAT.

If it happens only on the newer code, then it's something
that's changed, and you can use CVS to binary search for the
change that caused the problem (8 kernels will find any kernel
in the last 8.5 months where a breaking change occurred, if you
use a binary search).  If it's just the compiler change alone,
then it's a deeper problem.

It's not like the WaveLAN driver supports checksum offloading,
which is the problem du jour for the BCG570x...

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



bad tcp cksum fffe!

2002-05-14 Thread Cristan Szmajda

Dear freebsd-current,

Any suggestions you have regarding this problem would be
much appreciated.

My laptop running -CURRENT is suddenly generating bad TCP
checksums when talking to some IPs but not others.  For
example, 129.94.209.220 is a problem,

17:08:47.026823 129.94.233.200.1032 > 129.94.209.220.22: S
    [bad tcp cksum fffe!] 3868790363:3868790363(0) win 65535

(DF) (ttl 64, id 347, len 68)

17:08:50.676968 129.94.233.200.1033 > 129.94.173.109.22: S
    [bad tcp cksum fffe!] 3810151152:3810151152(0) win 65535

(DF) (ttl 64, id 348, len 68)

but 129.94.242.14 is fine.

17:08:56.686832 129.94.233.200.1034 > 129.94.242.14.22: S
[tcp sum ok] 2395865513:2395865513(0) win 65535

(DF) (ttl 64, id 349, len 68)

17:08:56.689644 129.94.242.14.22 > 129.94.233.200.1034: S
[tcp sum ok] 990076085:990076085(0) ack 2395865514 win 10136

(ttl 254, id 7165, len 60)

17:08:56.689991 129.94.233.200.1034 > 129.94.242.14.22: .
[tcp sum ok] ack 1 win 33304
 (DF) (ttl 64, id 350, len 52)

It doesn't matter whether net.inet.tcp.rfc1323 and
net.inet.tcp.rfc1644 are off or on.  My dmesg is below.

Thanks,
-- 
Chris


Copyright (c) 1992-2001 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 5.0-CURRENT #24: Tue May 14 15:34:56 EST 2002
cls@oedipus:/usr/src/sys/i386/compile/OEDIPUS
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium/P55C (quarter-micron) (298.42-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x582  Stepping = 2
  Features=0x8001bf
real memory  = 134152192 (131008K bytes)
avail memory = 126439424 (123476K bytes)
Preloaded elf kernel "kernel" at 0xc040b000.
Intel Pentium detected, installing workaround for F00F bug
Using $PIR table, 4 entries at 0xc00fdf80
apm0:  on motherboard
apm0: found APM BIOS v1.2, connected at v1.2
npx0:  on motherboard
npx0: INT 16 interface
pcib0:  at pcibus 0 on motherboard
pci0:  on pcib0
isab0:  at device 7.0 on pci0
isa0:  on isab0
atapci0:  port 0xfcf0-0xfcff at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0:  at device 7.2 on pci0
uhci0: Could not map ports
device_probe_and_attach: uhci0 attach returned 6
pci0:  at 7.3 (no driver attached)
pci0:  at 8.0 (no driver attached)
pci0:  at 9.0 (no driver attached)
pci_cfgintr_unique: hard-routed to irq 9
pci_cfgintr: 0:10 INTA routed to irq 9
pcic0:  irq 9 at device 10.0 on pci0
pcic0: PCI Memory allocated: 0x4400
pccard0:  on pcic0
orm0:  at iomem 0xc-0xcbfff on isa0
atkbdc0:  at port 0x60,0x64 on isa0
atkbd0:  flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0:  irq 12 on atkbdc0
psm0: model VersaPad, device ID 0
fdc0:  at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
pmtimer0 on isa0
ppc0:  at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
lpt0:  on ppbus0
lpt0: Interrupt-driven port
ppi0:  on ppbus0
sc0:  at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
vga0:  at port 0x3c0-0x3df iomem 0xa-0xb on isa0
unknown:  can't assign resources
sbc0:  at port 0x220-0x22f,0x388-0x38b,0x320-0x321 irq 5 drq 1,5 on isa0
pcm0:  on sbc0
midi0:  on sbc0
midi1:  on sbc0
unknown:  can't assign resources
unknown:  can't assign resources
unknown:  can't assign resources
unknown:  can't assign resources
unknown:  can't assign resources
IP packet filtering initialized, divert enabled, rule-based forwarding enabled, 
default to deny, logging limited to 1000 packets/entry by default
IPv6 packet filtering initialized, logging limited to 1000 packets/entry
IPsec: Initialized Security Association Processing.
ad0: 6194MB  [13424/15/63] at ata0-master UDMA33
Mounting root from ufs:/dev/ad0s2a
pccard: card inserted, slot 0
pcic0: Event mask 0x9
wi0 at port 0x240-0x27f irq 9 slot 0 on pccard0
wi0: Ethernet address: 00:02:2d:02:98:7e
wi0: promiscuous mode enabled
wi0: promiscuous mode disabled



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message