John,
I set virtual br0 for 8 tap devices that VAX emulators and others use. br0 is the main routing. virbr0 is for QEMU VM (OpenVMS x86). TSUX1A is IP 192.168.1.228.
TSUX1A is Ubuntu 23.10 system on my embedded box. TSRTR is pydecnet router for HECnet world access that connected to tap0. I am figuring out why TSRTR and TSUX1A can't see each other. I am only able access TSVMSB (on SIMH VAX emulator) that uses tap1 through
TCP/IP but not DECnet.
TSUX1A is connected to my Verizon FiOS router for Internet access.
Here is ifconfig output below.
Tim
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.228 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 2600:4040:2cb8:ac00:4d41:6e91:93c0:e35c prefixlen 64 scopeid 0x0<global>
inet6 2600:4040:2cb8:ac00:3dbd:4b54:a857:4e39 prefixlen 64 scopeid 0x0<global>
inet6 fe80::c288:756:b4bc:213e prefixlen 64 scopeid 0x20<link>
ether 3a:22:1a:4c:ea:5a txqueuelen 1000 (Ethernet)
RX packets 85254 bytes 10370418 (10.3 MB)
RX errors 0 dropped 8364 overruns 0 frame 0
TX packets 8096 bytes 813053 (813.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether aa:00:04:00:9a:7c txqueuelen 1000 (Ethernet)
RX packets 100400 bytes 16878747 (16.8 MB)
RX errors 0 dropped 14 overruns 0 frame 0
TX packets 21289 bytes 2748243 (2.7 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1978 bytes 538618 (538.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1978 bytes 538618 (538.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::884d:baff:fe98:9c38 prefixlen 64 scopeid 0x20<link>
ether 8a:4d:ba:98:9c:38 txqueuelen 1000 (Ethernet)
RX packets 5181 bytes 1525244 (1.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 74004 bytes 7346087 (7.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 6a:29:52:18:5a:14 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap2: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 82:90:0b:15:c2:7c txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap3: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 86:ae:14:ac:75:27 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap4: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether e6:d7:b6:a4:6e:2b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap5: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 12:2f:e4:99:a2:70 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap6: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 82:21:92:ad:88:a0 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap7: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 9e:fd:b7:cd:a3:e6 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:76:61:73 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ip addr:
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
valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen
1000
link/ether aa:00:04:00:9a:7c brd ff:ff:ff:ff:ff:ff permaddr 00:c0:08:97:1a:2a
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 54:14:f3:52:56:9d brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 3a:22:1a:4c:ea:5a brd ff:ff:ff:ff:ff:ff
inet 192.168.1.228/24 brd 192.168.1.255 scope global dynamic noprefixroute br0
valid_lft 51908sec preferred_lft 51908sec
inet6 2600:4040:2cb8:ac00:4d41:6e91:93c0:e35c/64 scope global temporary dynamic
valid_lft 7193sec preferred_lft 7193sec
inet6 2600:4040:2cb8:ac00:3dbd:4b54:a857:4e39/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 7193sec preferred_lft 7193sec
inet6 fe80::c288:756:b4bc:213e/64 scope link noprefixroute
valid_lft forever preferred_lft forever
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:76:61:73 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
6: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen
1000
link/ether 8a:4d:ba:98:9c:38 brd ff:ff:ff:ff:ff:ff
inet6 fe80::884d:baff:fe98:9c38/64 scope link
valid_lft forever preferred_lft forever
7: tap1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default
qlen 1000
link/ether 6a:29:52:18:5a:14 brd ff:ff:ff:ff:ff:ff
8: tap2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default
qlen 1000
link/ether 82:90:0b:15:c2:7c brd ff:ff:ff:ff:ff:ff
9: tap3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default
qlen 1000
link/ether 86:ae:14:ac:75:27 brd ff:ff:ff:ff:ff:ff
10: tap4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default
qlen 1000
link/ether e6:d7:b6:a4:6e:2b brd ff:ff:ff:ff:ff:ff
11: tap5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default
qlen 1000
link/ether 12:2f:e4:99:a2:70 brd ff:ff:ff:ff:ff:ff
12: tap6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default
qlen 1000
link/ether 82:21:92:ad:88:a0 brd ff:ff:ff:ff:ff:ff
13: tap7: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default
qlen 1000
link/ether 9e:fd:b7:cd:a3:e6 brd ff:ff:ff:ff:ff:ff
From: John Forecast <john@forecast.name>
Sent: Wednesday, October 25, 2023 5:05 PM
To: The Hobbyist DECnet mailing list <hecnet@lists.dfupdate.se>
Subject: [HECnet] Re: Announcing new release of Linux DECnet
Tim,
What does your physical topology look like? You have TSRTR with routing between an incoming Multinet connection and tap0, which is a
software construct so your VAX emulators can connect to HECnet. What is TSUX1A and how is it connected to TSRTR? The output of “ifconfig”
or “ip addr” would probably be useful here - executed on both TSRTR and TSUX1A.
John.
Here is my tsrtr.conf for pydecnet
circuit mul-0 Multinet <hecnet gw address>:connect
circuit tap-0 Ethernet tap:tap0
routing 31.153 --type l1router --bct1=20
nsp --qmax=5
node 31.153 TSRTR
node @nodenames.dat
system --ident "TSRTR PyDECnet router (Ubuntu system)"
I did not enable web interface into TSRTR server. I need to add circuit to connect an end-node decnet for TSUX1A.
I have br0 and enp4s0 interface. Which interface should be added so that TSUX1A can see TSRTR router?
I have tap-0 line so that VAX emulators can see HECnet world.
Tim
Tim,
John,
Ok. I first thought MIM:: is 1.1::. I now mean 1.13::
systemctl status decnet3
● decnet3.service - Load DECnet module and start
Loaded: loaded (/etc/systemd/system/decnet3.service; enabled; preset: enab>
Active: active (exited) since Wed 2023-10-25 13:24:51 EDT; 1min 2s ago
Process: 1089 ExecStartPre=/usr/local/sbin/dnetLoadModule (code=exited, sta>
Process: 1122 ExecStart=/usr/local/sbin/dnetd (code=exited, status=0/SUCCES>
Main PID: 1122 (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 37150)
Memory: 4.1M
CPU: 47ms
CGroup: /system.slice/decnet3.service
└─1133 /usr/local/sbin/dnetd
Oct 25 13:24:51 tsux1a systemd[1]: Starting decnet3.service - Load DECnet modul>
Oct 25 13:24:51 tsux1a systemd[1]: Finished decnet3.service - Load DECnet modul>
That looks good.
dneigh
Node HWtype HWaddress Flags MTU Iface
TSUX1A loop AA:00:04:00:9A:7C --- 65533 lo
That also looks good, although there should be a second line with the designated router.
cat /etc/decnet.conf
#V001.0
# DECnet hosts file
#
#Node Node Name Node Line Line
#Type Address Tag Name Tag Device
#----- ------- ----- ----- ----- ------
executor 31.154 name TSUX1A line enp4s0
OK.
I tried to add tsrtr to decnet.conf but dneigh showed that it routes to enp4s0 instead of br0.
This release is an end-node only implementation. There can only be a single “executor” line which defines the
local name, address and
physical (ethernet or wifi) device. All other lines define node address/name pairs. There is no concept of setting
a route to a node like in TCP/IP.
TSUX1A is expected to learn about TSRTR via a multicast message on the LAN connecting TSRTR and TSUX1A.
I tried to configure br0 instead of enp4s0 but it crashed during booting. systemctl showed that loading failure
with attempting connect to br0 interface.
Yes, that seems reasonable.
It still can't see my pydecnet router (tsrtr 31.153).
Do you know how to configure decnet with br0 interface? How to set up a route to TSRTR (31.153)?
I think the main problem here is that TSUX1A is not seeing TSRTR. How are they connected? What does the WEB
interface into TSRTR show?
John.
Hi Tim,
I get the same result with “dndir 1.1.::” - is MAGICA down? I have no problems accessing MIM (1.13).
What output do you get from “dneigh” - that should display your local system address and designated router,
here’s mine:
forecast@emulat:~$ dneigh
Node HWtype HWaddress Flags MTU Iface
EMULAT loop AA:00:04:00:CA:A4 --- 65533 lo
41.250 ether AA:00:04:00:FA:A4 1-- 591 br0
41.235 ether AA:00:04:00:EB:A4 --- 1498 br0
28NH ether AA:00:04:00:1C:A4 --- 596 br0
MIM ether AA:00:04:00:0D:04 --- 591 br0
MAGICA ether AA:00:04:00:01:04 --- 591 br0
PYTHON ether AA:00:04:00:01:A4 --- 591 br0
41.250 is 4CAST::, my router running pyDECnet.
I successfully installed Linux DECnet (beta test) on Ubuntu 23.10 but have some problems with that.
I executed 'sudo ./BuildAndInstall.sh' and followed instructions to enter, etc.
Also I started pydecnet (route to HECnet network) as bridge.
I tried to set host to my VAX simulator but got no route to host errors.
Also I tried to access 1.1:: but got no route host errors as well. Look that below.
dndir 1.1::
connect failed: No route to host
I see this as well.
sethost tsvmsb
sethost V1.0.4
Connecting to tsvmsb
connect (cterm): No route to host
ct_setup_link: error 0 connecting to host
I don’t have a VMS system set up to try this but I get further trying to connect to RSX-11m+:
forecast@emulat:~$ sethost 41.200
sethost V1.0.4
Connecting to 41.200
ct_setup_link: error sending init sequence
sudo ncp show known nodes
Version mismatch
You don’t need the “sudo” for normal operation. The “Version mismatch” is in response to the connection completing
with the wrong
optional data. Did this system have the previous DECnet for Linux installed? If so, did you follow the section
in README.DECnet
about deleting old libraries.
sudo ncp copy known nodes from 1.1
Unable to connect to listener
Same problem as dndir above.
lsmod | grep decnet3
decnet3 86016 5
That looks good. What about the output from “systemctl status decnet3”
John.
Do you have any solutions with those problems? On my VAX simulator (TSVMSB), I was able access HECnet without
any problems.
I tried to set host to Ubuntu 23.10 but immediately got error - network is unreachable.
Tim
Sometime around mid-2022 the Linux kernel developers decided to remove the DECnet code from the Linux
kernel. Kernel 6.0.x was the last release which included source code for a DECnet implementation. More
recently, there has been some discussion around removing the code from the Long Term Support kernels.
These changes mean that the repository I have been maintaining at
<https://github.com/JohnForecast/RaspbianDECnet> can no longer be installed on recent releases.
Over the past year or so, I have been working on a replacement for this repository with the following
characteristics:
- Designed to be built as an external kernel module
This simplifies and speeds up the installation since we no longer need to rebuild the entire
kernel.
- Can only be built as an ethernet endnode
Again this substantially simplifies the kernel code. The routing code was alway marked as
“experimental” and I never tried to get it running. If you need a DECnet router, pyDECnet or
Route20 are much better solutions.
- Minimize the use of Linux kernel frameworks
Many of the problems with keeping RaspbianDECnet running between Linux versions
were changes to the kernel framework APIs. By limiting the use of these APIs I am hoping
that the kernel module will need fewer changes to keep up with kernel changes. So far,
I have had to make one additional conditional code change at kernel 6.5 and that was in
the socket layer so all networking code would need to be changed.
In addition to a new kernel module there have been a number of changes to the userland code:
- What used to be “fal2” is now the default file access listener. The old “fal” is still available in the
“fal-old” directory
- What used to be “nml2” is now the default and only network management listener.
- There is now a subset implementation of “ncp” which is sufficient to support all of the requests
available from the Linux network management listener. It does implement a “tell” prefix so all
of these commands may be issued to remote systems. In addition, it implements
“ncp copy known nodes from <node name/address>” to update the local node name database.
- The new kernel module now supports node counters as defined in the Network Management
Specification and the ncp/nml combination are able to display and zero them.
- The installation procedure is no longer targeted solely at Raspberry Pi releases. The current
procedure supports installation on systems derived from Debian or Fedora although only a
limited number of distributions have been tested (see README.DECnet).
This new release is available at:
<https://github.com/JohnForecast/LinuxDECnet>
and should be considered to be in Beta test at this time. See README.DECnet in the top level directory
for more information and installation instructions.
_______________________________________________
HECnet mailing list --
hecnet@lists.dfupdate.se
To unsubscribe send an email to
hecnet-leave@lists.dfupdate.se
_______________________________________________
HECnet mailing list --
hecnet@lists.dfupdate.se
To unsubscribe send an email to
hecnet-leave@lists.dfupdate.se