4.2BSD TCP/IP networking

I got this note from  Allen Garvin, that details his adventure in taking a stock 4.2BSD VAX image, getting it running on SIMH, and turning on the network stack.

Although 4.2 may have had security issues, (R Morris), and had some clear issues with scaling. Along with a whole host of other issues.  Naturally if you want something more ‘robust’ on modern networks, you’ll want 4.3BSD which corrected quite a number of issues.

You can read about it over on his blog.  It’s very good with step by step instructions, goes over retrieving the NIC driver, re-building the kernel, and getting it operational on our LAN.

5 thoughts on “4.2BSD TCP/IP networking

  1. Thanks for the note! Your guides were my starting point, and they’re great!

    Retrocomputing is just something I get into once in a while. I bought an ancient unix license back in the late 90s, before it was opened up for free. Then I visited it again maybe around 2005 or so. Now, the emulators have gotten much better, and we have the hardware to run a bunch of them on at the same time.

    It was 30 years ago last month that I was first introduced to Unix, on Sun 3 systems at the University of Texas. But I didn’t get into systems administration until around 92. It’s been my career for over 20 years, but I still feel like I missed out on really good early days.

    My goal is to run a decent simulation of the Morris worm before the end of the year. I’m also playing around dynamips and IOU and setting up an “Internet” spanning my various devices at home. It’s fun getting back into IOS as well. I work at Cisco, but I’m in mobility as a Linux SME, and touch StarOS far more often than IOS. I want to do the Morris Worm spread out across multiple “autonomous systems”, packet capture it all and track the increase of load and network utilization over time.

    • I started work on the Morris to run it on TME & SIMH to have that SUN/VAX spread. As always I got distracted. I was fishing for an old Cisco AGS to find it’s firmware to see if there was anything old enough that was 68000 based, not 68020/68030/68040…

      I don’t suppose there is archives of IOS? I couldn’t find much about anything prior to IOS 8 or 9.

      It’d be cool for something like dynamips for the 68000 based stuff.

    • Thanks a lot, Allen Garvin! I did notice that your instructions are using if_de.c version 6.1. Checking the SCCS archive it seems that there were a number of fixes to that version made in versions 6.2 and 6.3 by the author, Lou Salkind:

      6.3 84/03/20 15:01:40 karels 3 2 00085/00052/00934
      MRs:
      COMMENTS:
      new version from lou; don’t swap the pages!

      D 6.2 84/02/02 11:04:39 karels 2 1 00015/00009/00971
      MRs:
      COMMENTS:
      fixes from salkind

      D 6.1 83/11/02 08:47:48 karels 1 0 00980/00000/00000
      MRs:
      COMMENTS:
      From salkind@nyu

  2. Thank you for all that you do!
    One thing I notice is that on the CSRG ISO copy of 4.2, the locations of the source code are different from the ones you use. For instance the ISO has /usr/src/sys and your distributions have /usr/sys. I think the file system locations on the CSRG ISO are a good reference for where to put things.

Leave a Reply