So this is probably nothing that exciting for most people, but for me, I wanted to have a Terminal Server onto a DECnet network. Sure I could have probably just done one nice with tun/tap, dumped all the protocols on there, and called it even. But for some reason I wanted 2 NICs to keep the IP on one side, and DECnet on the other.
One thing I wanted was an internal bridge for DECnet only traffic, and since I just need MSRDP access, SLiRP can handle a single TCP port redirect.
The flags are as always pretty simple once you work them out:
qemu -vga std -cpu pentium -m 384 -vnc :0 -net none \ -hda nt4tse.vmdk \ -device pcnet,netdev=slback \ -device pcnet,netdev=decback \ -netdev tap,ifname=tap1,id=decback,script=/root/nt4tse-up,downscript=/root/nt4tse-down \ -netdev user,id=slback,hostfwd=tcp::3389-10.0.2.15:3389 \ -cdrom Windows\ NT\ 4\ All-In-One\ (Workstation\,\ Server\,\ Terminal\,\ Enterprise).iso
And the two network scripts starting with nt4tse-up:
#!/bin/bash echo starting $1 ip tuntap add mode tap tap1 ifconfig tap1 up ifconfig tap1 brctl addif decnet0 tap1 brctl show decnet0 echo done with tuntap
And the nt4tse-down:
#!/bin/bash echo shutting down $1 ifconfig tap1 down brctl delif decnet0 tap1 brctl show decnet0 ip tuntap del mode tap tap1 echo done shutting down $1
for completeness here is the bridge config in /etc/netplan/50-cloud-init.yaml
network: ethernets: ens3: addresses: - SOMETHING/24 gateway4: SOMETHING match: macaddress: 00:f4:c1:56:40:7e nameservers: addresses: - 18.104.22.168 - 22.214.171.124 bridges: br0: dhcp4: no addresses: [192.168.23.1/24] decnet0: dhcp4: no version: 2
This way I have an IP bound bridge for things that talk IP, and a raw bridge, decnet0 that has my non IP decnet stuff on there. Naturally it’ll have my SIMH VAX on there:
# brctl show decnet0 bridge name bridge id STP enabled interfaces decnet0 8000.aede9f227e7b no tap0 tap1
Also the ability to mount directories as fake fat drives had it’s syntax change as well
into something like this:
-drive file=fat:rw:dos,id=fat32,format=raw,if=none -device ide-hd,drive=fat32