Skip site navigation (1)Skip section navigation (2)
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>