Menu:


SIMH networking

This article is also available in the retrocomputing wiki.

SIMH is a highly portable, multi-system simulator. While many of the emulated systems are of historical and educational interest only, the Vax emulator will successfully run modern versions of OpenVMS, up to and including OpenVMS Vax 7.3. The current releases of SIMH also emulate network devices for the PDP-11 and Vax architectures, thus allowing certain operating systems running on emulated hardware to be fully networked. This is of particular interest with regards to OpenVMS.

The current SIMH network driver uses the pcap library. While this solution is portable between many flavors of Unix as well as Windows, it has two serious drawbacks. First, pcap incurs a serious performance impact on the host’s network interface, so much so that a dedicated physical network interface is advisable if both host and SIMH require even moderate amounts of network bandwidth. Second, owing to the nature of the pcap interface the SIMH guest cannot communicate with the host it is running on.

A better solution for Linux, Solaris, and FreeBSD at least would be to rewrite the SIMH network emulation to use the tun/tap driver, which provides a virtual network interface akin to the loopback. Until such time, however, a work-around exists for Linux.

The core of the solution is a utility, taptap, as provided by Hans Rosenfeld (rosenfeld AT grumpf DOT hope-2000 DOT org). Taptap creates a pair of tun/tap interfaces and essentially bridges packets between them. Since SIMH doesn’t use the host’s physical network interface, it won’t affect its performance. The host and SIMH still can’t communicate on a single tun/tap interface, but by virtue of bridging between a pair of them this restriction is also lifted. A sample setup is outlined below the fold:

Click to read MORE...
Posted by markus on Monday, July 28, 2003
(0) CommentsPermalinkRetrocomputing

Page 1 of 1 pages