Date: Tue, 3 May 2016 16:18:46 -0700 From: Larry Maloney <larry.maloney@hackerdojo.com> To: Dieter BSD <dieterbsd@gmail.com> Cc: freebsd-hackers@freebsd.org Subject: Re: TCP problems Message-ID: <02935669-D102-4F95-B0AE-779E58DBB67D@hackerdojo.com> In-Reply-To: <CAA3ZYrBEPvz9ZrLp2p4_91ynPVhOeAj0Cb4vvu-jO0HQ6=UU8w@mail.gmail.com> References: <CAA3ZYrBEPvz9ZrLp2p4_91ynPVhOeAj0Cb4vvu-jO0HQ6=UU8w@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Have you tried bumping the MTU on the interfaces to JUMBO frames? 9000 = or whatever max is? /Larry > On May 3, 2016, at 3:41 PM, Dieter BSD <dieterbsd@gmail.com> wrote: >=20 > I have suddenly started seeing TCP problems on a machine "G": > running FreeBSD 10.1 > Gigabyte UD5 amd64 > 2 Ethernet controllers, re0 and ue0: >=20 > re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port > 0xb000-0xb0ff mem 0xfe600000-0xfe600fff,0xd0000000-0xd0003fff irq 16 > at device 0.0 on pci6 > re0: Using 1 MSI-X message > re0: turning off MSI enable bit. > re0: Chip rev. 0x4c000000 > re0: MAC rev. 0x00000000 > rgephy0: <RTL8251 1000BASE-T media interface> PHY 1 on miibus0 >=20 > ue0 is Siig USB-to-Ethernet Chipset: AX88179 >=20 > Problem 1: bind(2) fails > Problem 2: copying large files via Ethernet results in data corruption >=20 > 1) Bind: >=20 > C program containing: >=20 > bzero(&server, sizeof(struct sockaddr_in)); > server.sin_family=3DAF_INET; > server.sin_port=3Dhtons((unsigned short)port_number); > (void) memcpy((char*)&server.sin_addr, (char*)host->h_addr, > sizeof(server.sin_addr)); >=20 > return_code =3D socket(PF_INET, SOCK_STREAM, 0); > if (return_code =3D=3D -1) { fprintf(stderr, "%s: ERROR ", argv[0]); > perror("socket() failed"); fflush(stderr); exit(-1); } > fd =3D return_code; >=20 > return_code =3D bind(fd, (struct sockaddr*)&server, sizeof(server)); > if (return_code =3D=3D -1) { fprintf(stderr, "%s: ERROR ", argv[0]); > perror("bind() failed"); fflush(stderr); exit(-1); } >=20 > gives: ERROR bind() failed: Can't assign requested address >=20 > The same binary has been working perfectly on another machine (running = 8.2) > for years. A UDP version of the program is working ok. Rebooting = didn't help. >=20 > 2) Data corruption: >=20 > rcp large file from machine T (running 8.2) to machine G (10.1) > rcp the file back from G to T > compare the two copies of the file on machine T to verify integrity >=20 > This worked fine until yesterday. Now suddenly most large files have = data > corruption, thus cmp(1) fails. The first difference occurs at various > places in the file. >=20 > Both machine have 2 gigabit Ethernet controllers (2 seperate = networks). > Both networks have the problem. I have also tried different sata = disks > on different disk controllers. Both machines are amd64 and have ECC = memory. > Cables are factory made cat6 or cat7 25 foot or shorter. Netgear = gigabit > switches. I tried using ftp instead of rcp. Rebooting didn't help. >=20 > machine T: > nfe0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 = mtu 1500 > options=3D8210b<RXCSUM,TXCSUM,VLAN_MTU,TSO4,WOL_MAGIC,LINKSTATE> > media: Ethernet autoselect (1000baseT > <full-duplex,flowcontrol,rxpause,txpause>) > bge0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 = mtu 1500 > = options=3D8009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTAT= E> > media: Ethernet autoselect (1000baseT > <full-duplex,flowcontrol,rxpause,txpause>) >=20 > machine G: > re0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu = 1500 > = options=3D8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGI= C,LINKSTATE> > media: Ethernet autoselect (1000baseT <full-duplex>) > ue0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu = 1500 > options=3D8000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE> > media: Ethernet autoselect (1000baseT <full-duplex>) >=20 > I tried ifconfig -rxcsum -txcsum. Machine T seems happy, but > networking on machine G stopped working so I had to turn them back on. > (problem #3?) >=20 > Small files (2-4 KB) and things like telnet/rsh seem to work fine. >=20 > It appears that *something* broke yesterday, probably something in > machine G. But what? hardware? software? > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to = "freebsd-hackers-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?02935669-D102-4F95-B0AE-779E58DBB67D>