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=0 would 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.

ECE 506: Final Results

Grades for ECE 506, Architecture of Parallel Computers, have now been posted. They are as follows:

  • Homework 1, 100%
  • Homework 2, 100%
  • Homework 3, 95%
  • Homework 4, 100%
  • Homework 5, 100%
  • Homework 6, 100%
  • Homework 7, 100%
  • Midterm Exam, 90%
  • Final Exam, 96%

Final average: 95% (A+)
Costs: $2100 (tuition)

Finished with graduate school!