When Linux got rid of xinetd in version 9, changes had to be made to D3, particularly in the area of telnet listeners. This includes turnkey telnet (telnet to Linux and get a D3 login prompt instead of a Linux login prompt), nailed telnet (a range of TCP ports that each connect to a specific PIB instead of the next available PIB), as well as the MVSP telnet listener, typically on TCP port 9000. systemd replaced the xinded functionality and is now used by D3 to set up these listeners.
Now that D3 over Linux version 9 has been out for a while, it has come to our attention that there are some things missing from D3's systemd configuration which is causing some D3 and Linux stability issues. We are currently working to get formal patches out to mitigate these issues. Meanwhile, the fixes we are implementing are listed below and can be implemented manually to alleviate the problem while we're waiting for the formal patches.
______D3 Turnkey Telnet Service______
To fix a standard D3 telnet listener, modify /etc/systemd/system/d323@.service (or whatever its name is) as follows:
Description=D3's Telnet Server
[Service]
ExecStart=/usr/bin/d3net/d3_tel -w /usr/bin/d3net/d3telnet -p 23
KillSignal=SIGHUP
StandardInput=socket
Add these two lines at the end:
KillMode=none
SuccessExitStatus=1
______D3's AUTO-XINET Utility______
To fix D3's AUTO-XINET utility for setting up nailed telnets:
Edit DM,MESSAGES, auto-xinet.lx as follows
In this section:
050 echo "StandardInput=socket" >> ${XINET_PATH}/d3${PORT}@.service
051 echo "KillMode=none" >> ${XINET_PATH}/d3${PORT}@.service
Add line 52:
050 echo "StandardInput=socket" >> ${XINET_PATH}/d3${PORT}@.service
051 echo "KillMode=none" >> ${XINET_PATH}/d3${PORT}@.service
052 echo "SuccessExitStatus=1" >> ${XINET_PATH}/d3${PORT}@.service
If line 51 "KillMode" doesn't exist, add it too.
Once that's done, use AUTO-XINET to remove and re-add any nailed telnet ports you have defined.
______MVSP Telnet Service______
The MVSP telnet service needs the same change:
Edit /etc/systemd/system/D3MVSPpick0@.service
[Unit]
Description=D3's per connection MVSP server for pick0
[Service]
ExecStart=/usr/bin/d3net/d3_tel -m -w /usr/bin/d3net/D3MVSPpick0 -p 9000
StandardInput=socket
KillMode=none
SuccessExitStatus=1
------------------------------
Brian S. Cram
Principal Technical Support Engineer
Rocket Software
------------------------------