Groups | Search | Server Info | Login | Register


Groups > alt.sys.pdp10 > #9827

Try again: IP between Pi <--> klh10 TOPS-20

From David Todd <HDTodd@gmail.com>
Newsgroups alt.sys.pdp10
Subject Try again: IP between Pi <--> klh10 TOPS-20
Date 2025-12-29 18:31 -0500
Organization A noiseless patient Spider
Message-ID <10iv302$1dl2h$1@dont-email.me> (permalink)

Show all headers | View raw


I've been trying to get klh10 networking to be fully functional on a 
Raspberry Pi (Debian) Trixie system but have had only limited success. 
After considerable reading, I thought I understood the basic ideas of 
bridging and taps, but when I eventually coerced the network to look 
like I thought it should, the IP connectivity still wasn't working.

With the patch from github PDP-10/klh10 pull #77 installed, the tap you 
ask for in the klt20.ini file is the tap you get. With that patch installed:

    1. On a fresh boot of the Pi, with just devices lo, eth0, and wlan0 
defined, booting the DEC20 results in a system in which the Pi and DEC20 
can communicate with each other over IP, but IP connectivity to the 
outside local network is broken for both systems.
    2. On a fresh boot of the Pi, if br0 and tap0 are set up (below), 
booting the DEC20 results in a system in which there is no IP 
connectivity to/from either system.

So I could use some insights from those who really know how this should 
work. If you see something that just looks wrong in the scripts or logs 
below, please let me know.

I'm using ip to manage the network to stay within the NetManager 
environment that Debian seems to have moved to. My local network is 
192.168.1.0/24; my host Pi is .88 (eth0) and .89 (wlan0); I intend for 
the DEC20 to be .62 (specified in the klt20.ini file), so I designated 
.62 for the bridge device, br0.

I think I should be specifying:

  -  in klt20.ini, the DEC20 IP address is 192.168.1.62
  -  the bridge, br0 in Linux, should have IP address 192.168.1.62
  -  the tap, tap0 in Linux, should have br0 as its master but no IP
             address (but dpni20 seems to assign one).

I set up the bridge and tap environment before booting klh10; tap0 comes 
up when the DEC20 references it. Since asking for tap0 in klt20.ini now 
gets tap0 and not tap1, I can configure the bridge and tap, and move the 
tap under the bridge, from a Linux script before booting the DEC20. So 
it should all work smoothly. But doesn't.

I think part of the problem may be the changes in the networking 
environment and tools as Linux has evolved. For example, I'm suspicious 
of the ifconfig system command executed from dpni20:

	[dpni20: osn_pfinit_tuntap, line 1993: execute 'ifconfig tap0 	
		192.168.1.88 pointopoint 192.168.1.62 up']

since that seems to assign an address to tap0 that I think it shouldn't 
have. But removing that ifconfig and replacing it with a simple ip link 
set tap0 up didn't work, either.

To set up the bridge and tap, I adapted a script from Jayjwa:

% cat SetBrTap.bsh
#!/bin/bash
#  'SetBrTap.bsh <bridge IP> <tap #>'
#  Set up bridge and tap to allow hosted TOPS20 system to use
#  Raspberry Pi's eth0 for Internet service
#  2025.12.31 HDTodd@gmail.com
#  Adapted from jayjwa's script,

set +x

# Color codes for fancy output.
RED='\033[0;31m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m'

if [ $# -ne 1 ]; then
    printf "\\n${RED}Script  to set up bridge and tap for 'klh10' 
Internet access${NC}\\n"
    printf "${RED}Usage './SetBrTap <tap #>'${NC}\\n"
    exit 1
fi

bridge_address="192.168.1.62/24"
bridge_name="br0"

printf "\\n${BLUE}Setting up bridge device '${bridge_name}' at address 
${bridge_address}${NC}\\n\\n"

set -x

#----------------------------------------
#  Report our initial conditions before
#  setting up the bridge
printf "\\n${BLUE}Initial conditions${NC}\\n"
ip address show
ip route show
ip link show dev ${bridge_name}
ip tuntap show

#  Add the bridge, set its IP, and bring it up
printf "\\n${BLUE}Set up the bridge${NC}\\n"
ip link add name ${bridge_name} type bridge
ip link set ${bridge_name} type bridge stp_state 1
# If you're going to run DECnet, set the bridge lladdr here
ip link set ${bridge_name} up
ip -4 addr add ${bridge_address} broadcast + dev ${bridge_name}

#  Add the tap and bring it up under the bridge
printf "\\n${BLUE}Set up tap$1 ${NC}\\n"
ip tuntap add dev tap$1 mode tap
ip link set dev tap$1 master ${bridge_name}
ip link set tap$1 up
#? do we need to set routing for the bridge?
#ip r add via 192.168.1.1 proto static src ${bridge_address} default dev 
${bridge_name}

#  Report final conditions
printf "\\n${GREEN}Final conditions${NC}\\n"
ip address show
ip route show
ip link show dev ${bridge_name}
ip tuntap show

exit 0

The network with DEC20 in operation looks like this:

$ ./show-ip.bsh
+ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
group default qlen 1000
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host noprefixroute
        valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state 
UP group default qlen 1000
     link/ether 2c:cf:67:ad:c9:b9 brd ff:ff:ff:ff:ff:ff
     inet 192.168.1.88/24 brd 192.168.1.255 scope global dynamic 
noprefixroute eth0
        valid_lft 85979sec preferred_lft 85979sec
     inet6 fe80::c953:95e9:baf2:6a3a/64 scope link noprefixroute
        valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel 
state UP group default qlen 1000
     link/ether 2c:cf:67:ad:c9:bb brd ff:ff:ff:ff:ff:ff
     inet 192.168.1.89/24 brd 192.168.1.255 scope global dynamic 
noprefixroute wlan0
        valid_lft 85980sec preferred_lft 85980sec
     inet6 fe80::5018:b779:1c7a:15a3/64 scope link noprefixroute
        valid_lft forever preferred_lft forever
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state 
UP group default qlen 1000
     link/ether ae:93:5c:49:86:c9 brd ff:ff:ff:ff:ff:ff
     inet 192.168.1.62/24 brd 192.168.1.255 scope global br0
        valid_lft forever preferred_lft forever
     inet6 fe80::ac93:5cff:fe49:86c9/64 scope link tentative proto 
kernel_ll
        valid_lft forever preferred_lft forever
5: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel 
master br0 state UP group default qlen 1000
     link/ether ae:93:5c:49:86:c9 brd ff:ff:ff:ff:ff:ff
     inet 192.168.1.88 peer 192.168.1.62/24 brd 192.168.1.255 scope 
global tap0
        valid_lft forever preferred_lft forever
     inet6 fe80::ac93:5cff:fe49:86c9/64 scope link proto kernel_ll
        valid_lft forever preferred_lft forever
+ ip route show
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.88 metric 100
default via 192.168.1.1 dev wlan0 proto dhcp src 192.168.1.89 metric 600
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.62
192.168.1.0/24 dev tap0 proto kernel scope link src 192.168.1.88
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.88 metric 100
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.89 metric 
600
+ ip link show dev br0
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state 
UP mode DEFAULT group default qlen 1000
     link/ether ae:93:5c:49:86:c9 brd ff:ff:ff:ff:ff:ff
+ ip tuntap show
tap0: tap persist

The DEC20 "info inter" shows that it thinks the network is up and that 
it has the .62 address. But the Pi and the DEC20 can't communicate, and 
IP connections to/from the local network to the Pi don't work, either.

Back to alt.sys.pdp10 | Previous | NextNext in thread | Find similar


Thread

Try again: IP between Pi <--> klh10 TOPS-20 David Todd <HDTodd@gmail.com> - 2025-12-29 18:31 -0500
  Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2025-12-30 12:54 -0500
    Re: Try again: IP between Pi <--> klh10 TOPS-20 Rich Alderson <news@alderson.users.panix.com> - 2025-12-30 20:43 -0500
      Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2025-12-31 12:50 -0500
        Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <HDTodd@gmail.com> - 2026-01-01 09:59 -0500
          Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-01-01 11:08 -0500
            Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <HDTodd@gmail.com> - 2026-01-01 11:27 -0500
              Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-01-02 13:04 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-02 17:36 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-01-03 05:37 +0000
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <HDTodd@gmail.com> - 2026-01-03 07:09 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-03 08:40 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-01-03 11:33 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <HDTodd@gmail.com> - 2026-01-03 06:59 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-04 09:07 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-04 09:20 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 Johnny Billquist <bqt@softjar.se> - 2026-01-04 16:26 +0100
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-04 10:57 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-01-05 06:38 +0000
            Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-02 07:46 -0500
              Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-01-02 12:54 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-02 17:05 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 Rich Alderson <news@alderson.users.panix.com> - 2026-01-02 20:32 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <HDTodd@gmail.com> - 2026-01-02 22:21 -0500
            Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-02 17:47 -0500
              Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-01-03 12:15 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-03 16:57 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-03 17:00 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-01-04 11:21 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <HDTodd@gmail.com> - 2026-01-05 17:52 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <HDTodd@gmail.com> - 2026-01-05 18:13 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-01-06 12:53 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <HDTodd@gmail.com> - 2026-01-06 18:12 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <HDTodd@gmail.com> - 2026-01-06 18:15 -0500
                MM vs. MS/MX [was Re: Try again: IP between Pi <--> klh10 TOPS-20] Rich Alderson <news@alderson.users.panix.com> - 2026-01-07 18:28 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-03 17:07 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-01-04 11:28 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-04 13:52 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-03 18:12 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 scott@slp53.sl.home (Scott Lurndal) - 2026-01-04 00:00 +0000
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-04 08:48 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 scott@slp53.sl.home (Scott Lurndal) - 2026-01-04 16:00 +0000
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-04 14:02 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-01-04 11:56 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-04 14:21 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-01-04 16:16 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-04 16:58 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-04 14:28 -0500
                Re: Try again: IP between Pi <--> klh10 TOPS-20 scott@slp53.sl.home (Scott Lurndal) - 2026-01-05 15:33 +0000
                Re: Try again: IP between Pi <--> klh10 TOPS-20 Andy Valencia <vandys@vsta.org> - 2026-01-05 15:45 -0800
                Re: Try again: IP between Pi <--> klh10 TOPS-20 David Todd <hdtodd@gmail.com> - 2026-01-04 08:59 -0500

csiph-web