FreeBSD 7.2 fxp Driver Broken
If you are using the fxp0 driver in FreeBSD 7.2, you will find that clients can no longer connect to your server successfully using certain DSL connections, such as AT&T or BellSouth. You can temporarily work around this issue by executing the following command:
sysctl net.inet.tcp.tso=0
To persist this change after a reboot, add the net.inet.tcp.tso=0 line to /etc/sysctl.conf.
There’s a whole thread about the TCP differences in FreeBSD 7.2 versus FreeBSD 7.1, and a poster seems to provide an explanation for why this occurs:
The problem was caused by the reciever side (usually PPPoE clients, e.g. DSL users) which proposes a smaller MSS than the interface MTU, the previous implementation sets the packet length to interface MTU instead of the negotiated one, which would cause the problem.
Setting
net.inet.tcp.tso=0would turn off TCP Segment Offloading completely. The previous release of FreeBSD does not include this feature.
I’m just surprised that such a glaring bug made it through to release.
Update: This issue has finally been added to the FreeBSD 7.2-RELEASE Errata.
0 Comments »
No comments yet.
RSS feed for comments on this post. TrackBack URI