kern/111384: msk hw checksum problem

Harald Schmalzbauer harry at omnisec.de
Sun Apr 8 17:40:03 UTC 2007


>Number:         111384
>Category:       kern
>Synopsis:       msk hw checksum problem
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Apr 08 17:40:02 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Harald Schmalzbauer
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD titan.flintsbach.schmalzbauer.de 7.0-CURRENT FreeBSD 7.0-CURRENT #4: Sun Apr 8 16:10:26 CEST 2007 root at titan.flintsbach.schmalzbauer.de:/usr/obj/usr/src/sys/TITAN i386


	src from 5. April
>Description:
	By default msk runs with:
	options=19a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
	This leads to "TCP CHECKSUM INCORRECT" messages captured with wireshark.
	The problem was that I could not connect to some websites (www.freshports.org)
	My site sent TCP ZeroWindowProbe - I don't know why!!!
	After disabling txcsum (ifconfig msk0 -txcsum) www.freshports.org communication is ok.
>How-To-Repeat:
	Under 7.0-current use any web browser and try to connect to http://www.freshports.org
	You won't get a connection.
	Now do 'ifconfig msk0 -txcsum' and reconnect.
	You'll see what you expected.
	Here's what wireshark captured with txcsum on (failing connection):
No.     Time        Source                Destination           Protocol Info
      1 0.000000    172.21.1.0            64.147.113.42         TCP      55771 > http [SYN] Seq=0 [TCP CHECKSUM INCORRECT] Len=0 MSS=1460 WS=8 TSV=2163927 TSER=0

Frame 1 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 55771 (55771), Dst Port: http (80), Seq: 0, Len: 0

No.     Time        Source                Destination           Protocol Info
      2 0.099367    64.147.113.42         172.21.1.0            TCP      http > 55771 [SYN, ACK] Seq=0 Ack=1 Win=0 Len=0 MSS=1452

Frame 2 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: Olicom_c0:33:71 (00:00:24:c0:33:71), Dst: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51)
Internet Protocol, Src: 64.147.113.42 (64.147.113.42), Dst: 172.21.1.0 (172.21.1.0)
Transmission Control Protocol, Src Port: http (80), Dst Port: 55771 (55771), Seq: 0, Ack: 1, Len: 0

No.     Time        Source                Destination           Protocol Info
      3 0.099431    172.21.1.0            64.147.113.42         TCP      55771 > http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=0

Frame 3 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 55771 (55771), Dst Port: http (80), Seq: 1, Ack: 1, Len: 0

No.     Time        Source                Destination           Protocol Info
      4 5.281304    172.21.1.0            64.147.113.42         TCP      [TCP ZeroWindowProbe] 55771 > http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=1

Frame 4 (55 bytes on wire, 55 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 55771 (55771), Dst Port: http (80), Seq: 1, Ack: 1, Len: 1

No.     Time        Source                Destination           Protocol Info
      5 10.445927   172.21.1.0            64.147.113.42         TCP      [TCP ZeroWindowProbe] 55771 > http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=1

Frame 5 (55 bytes on wire, 55 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 55771 (55771), Dst Port: http (80), Seq: 1, Ack: 1, Len: 1

No.     Time        Source                Destination           Protocol Info
      6 11.600999   172.21.1.0            64.147.113.42         HTTP     Continuation or non-HTTP traffic

Frame 6 (55 bytes on wire, 55 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 60906 (60906), Dst Port: http (80), Seq: 0, Ack: 0, Len: 1
Hypertext Transfer Protocol

No.     Time        Source                Destination           Protocol Info
      7 15.635975   172.21.1.0            64.147.113.42         TCP      [TCP ZeroWindowProbe] 55771 > http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=1

Frame 7 (55 bytes on wire, 55 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 55771 (55771), Dst Port: http (80), Seq: 1, Ack: 1, Len: 1

No.     Time        Source                Destination           Protocol Info
      8 22.410580   172.21.1.0            64.147.113.42         TCP      [TCP ZeroWindowProbe] 55771 > http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=1

Frame 8 (55 bytes on wire, 55 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 55771 (55771), Dst Port: http (80), Seq: 1, Ack: 1, Len: 1

No.     Time        Source                Destination           Protocol Info
      9 35.797198   172.21.1.0            64.147.113.42         TCP      [TCP ZeroWindowProbe] 55771 > http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=1

Frame 9 (55 bytes on wire, 55 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 55771 (55771), Dst Port: http (80), Seq: 1, Ack: 1, Len: 1

No.     Time        Source                Destination           Protocol Info
     10 41.158461   172.21.1.0            64.147.113.42         HTTP     Continuation or non-HTTP traffic

Frame 10 (55 bytes on wire, 55 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 51037 (51037), Dst Port: http (80), Seq: 0, Ack: 0, Len: 1
Hypertext Transfer Protocol

No.     Time        Source                Destination           Protocol Info
     11 62.348550   172.21.1.0            64.147.113.42         TCP      [TCP ZeroWindowProbe] 55771 > http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=1

Frame 11 (55 bytes on wire, 55 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 55771 (55771), Dst Port: http (80), Seq: 1, Ack: 1, Len: 1

No.     Time        Source                Destination           Protocol Info
     12 73.955802   172.21.1.0            64.147.113.42         TCP      [TCP Keep-Alive] 60906 > http [ACK] Seq=0 Ack=0 Win=65535 Len=1

Frame 12 (55 bytes on wire, 55 bytes captured)
Ethernet II, Src: Giga-Byt_80:cd:51 (00:16:e6:80:cd:51), Dst: Olicom_c0:33:71 (00:00:24:c0:33:71)
Internet Protocol, Src: 172.21.1.0 (172.21.1.0), Dst: 64.147.113.42 (64.147.113.42)
Transmission Control Protocol, Src Port: 60906 (60906), Dst Port: http (80), Seq: 0, Ack: 0, Len: 1

>Fix:

	


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list