DragonFly network handicap

I posted before about a move to use AT&T’s U-Verse fiber/DSL product for dragonflybsd.org’s connection.  It led Matt Dillon to try to add features to compensate for the service’s shortcomings, but it’s still problematic.  He’s written up just how broken U-Verse is, calling it “almost a complete failure” as a business connection.  The bulk of the problems seem to come from the 2Wire DSL modem supplied by AT&T.

Remember when the Internet used to be the place to find long technical writeups of a product directly from people who were using it?  Much of that has disappeared into comment forms and ephemeral Facebook posts.  That’s too bad.

Lazy Reading

You can probably infer the new (to me) blog I found this week from some of the links…

  • Adding IPv6 to a FreeBSD Mail/Web Server – from Michael Lucas, repeat BSD author.  I link to this because we’re all going to have to do something similar in the next year or so, I bet..
  • A visual guide to TMUX, part 1 and part 2.  tmux has usually been introduced to me as “It’s BSD-licensed and not screen”, which is good, but not compelling on its own.  The first of the articles linked here goes over the comparative differences in some detail.  (via)
  • Speaking of screen-ish things, do you leave an irssi session running in screen so that you can rejoin IRC conversations at any time?  I sure do.  Sometimes I even reconnect through ConnectBot on my Android phone.  There’s now a Connectbot variation for irssi, just for people who do such a thing.  Don’t forget: #dragonflybsd on EFNet.
  • Also still on the topic: forgetting to use screen and then being stuck with a long-running process is lousy.  There’s ways to deal with it, though.  (via, from a blogroll link)
  • Hey, it’s neat to see a new business built on BSD – OpenBSD, in this case: Tunnelr.  (via)
  • We’re still doing great in terms of pkgsrc packages building successfully on DragonFly.
  • An hour+ recording of the recent NYCBUG meeting about BSD networking is online.  (Link is to a MP3 – via)
  • How not to comment code.
  • AT&T -> BSD -> AT&T.
VirtIO-net drivers disappear

The virtio network drivers for DragonFly (mentioned previously here, here, and here) went away.  Apparently the original FreeBSD code was not supposed to be available publicly, under a BSD license, and it’s having a knock-on effect for DragonFly and probably NetBSD.

(virtio drivers, if this is an unfamiliar term, are for devices in virtual environments, as when DragonFly is running under VMWare or something similar.)

Assume it’s multiprocessor-safe

As Matthew Dillon notes in a recent post, procedures are now assumed to be MPSAFE (i.e. without the Giant Lock) by default.  Any new work should follow this idea, and it doesn’t have to be documented specially.  The inverse used to be true, where the code that happened to work without the Lock was rare, and therefore needed to be pointed out.   Now, the good result is the norm.

Binary pkgsrc updates: an experiment

So, I felt lucky recently.  I updated shiningsilence.com from DragonFly 2.6 to DragonFly 2.8, and wanted to upgrade my pkgsrc packages from pkgsrc-2010Q3 to pkgsrc-2010Q4.

You can do this with pkg_rolling-replace, or various other tools, but I wanted to see if I could do it completely with binary packages.  I used pkg_radd -uv <pkgname> for each of the major packages I had installed.

Surprisingly, it worked, for every package.  I had to force-install some Perl modules because I was moving from 5.10 to 5.12, but I think I may have been able to use an additional -u switch to get by that problem.  I did use pkg_leaves to identify packages I didn’t need, and removed them to reduce the number of items to upload.

It was exactly what I wanted.  Previous pkgsrc upgrades had taken most of a day, as I had to build from source and figure out what went where.  We’ve had a better success rate in bulk builds recently, and this paid off in an upgrade process that only took perhaps an hour.