FreeBSD 7.2 fxp Driver Broken

Uncategorized — Titus Barik on May 15, 2009 at 8:15 pm

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

Career — Titus Barik on May 10, 2009 at 12:42 pm

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!

titus@barik.net | The Weblog of Titus Barik