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
  mss 1460,nop,wscale 1,nop,nop,timestamp 542813 0,nop,nop,ccnew 10
  (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



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
mss 1460,nop,wscale 1,nop,nop,timestamp 542813 0,nop,nop,ccnew 10
(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
mss 1460,nop,wscale 1,nop,nop,timestamp 543178 0,nop,nop,ccnew 11
(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
mss 1460,nop,wscale 1,nop,nop,timestamp 543779 0,nop,nop,ccnew 12
(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
nop,nop,timestamp 595991654 543779,nop,wscale 0,mss 1460
(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
nop,nop,timestamp 543779 595991654 (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=0x8001bfFPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX
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: APM BIOS on motherboard
apm0: found APM BIOS v1.2, connected at v1.2
npx0: math processor on motherboard
npx0: INT 16 interface
pcib0: Host to PCI bridge at pcibus 0 on motherboard
pci0: PCI bus on pcib0
isab0: PCI-ISA bridge at device 7.0 on pci0
isa0: ISA bus on isab0
atapci0: Intel PIIX4 ATA33 controller port 0xfcf0-0xfcff at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: Intel 82371AB/EB (PIIX4) USB controller at device 7.2 on pci0
uhci0: Could not map ports
device_probe_and_attach: uhci0 attach returned 6
pci0: bridge, PCI-unknown at 7.3 (no driver attached)
pci0: display, VGA at 8.0 (no driver attached)
pci0: serial bus, FireWire at 9.0 (no driver attached)
pci_cfgintr_unique: hard-routed to irq 9
pci_cfgintr: 0:10 INTA routed to irq 9
pcic0: Ricoh RL5C475 PCI-CardBus Bridge irq 9 at device 10.0 on pci0
pcic0: PCI Memory allocated: 0x4400
pccard0: PC Card bus (classic) on pcic0
orm0: Option ROM at iomem 0xc-0xcbfff on isa0
atkbdc0: Keyboard controller (i8042) at port 0x60,0x64 on isa0
atkbd0: AT Keyboard flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: PS/2 Mouse irq 12 on atkbdc0
psm0: model VersaPad, device ID 0
fdc0: NEC 72065B or clone 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: Parallel port 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: Printer on ppbus0
lpt0: Interrupt-driven port
ppi0: Parallel I/O on ppbus0
sc0: System console 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: Generic ISA VGA at port 0x3c0-0x3df iomem 0xa-0xb on isa0
unknown: PNP0303 can't assign resources
sbc0: ESS ES1879 at port 0x220-0x22f,0x388-0x38b,0x320-0x321 irq 5 drq 1,5 on isa0
pcm0: ESS 18xx DSP on sbc0
midi0: SB Midi Interface on sbc0
midi1: SB OPL FM Synthesizer on sbc0
unknown: PNP0700 can't assign resources
unknown: PNP0401 can't assign resources
unknown: PNP0501 can't assign resources
unknown: ROK0010 can't assign resources
unknown: PNP0f13 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 TOSHIBA MK6412MAT [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

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



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
 mss 1460,nop,wscale 1,nop,nop,timestamp 542813 0,nop,nop,ccnew 10
 (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