Replies: 27 comments 1 reply
-
At the moment, we have access to the (raw ethernet) network only on a Solaris system. In order to demonstrate network access on other systems we should look to the Berkeley Packet Filter interface, rather then the DLPI or NIT interfaces that are/were available on SunOS/Solaris. |
Beta Was this translation helpful? Give feedback.
-
Where is the TCP/IP source code located? |
Beta Was this translation helpful? Give feedback.
-
@tuexen -- The Lisp implementation of TCP/IP was deleted from the repo -- better to use the underlying OS implementation for anything we can, I think. For PUP and XNS we have to use the Lisp implementation and the underlying OS raw ethernet interface (e.g., the /dev/bpf) |
Beta Was this translation helpful? Give feedback.
-
@tuexen -- In the medley repo: |
Beta Was this translation helpful? Give feedback.
-
@nbriggs Thanks for the information. I was looking for the TCP code and did not find it... I have not idea what PUP and XNS is, I was just wondering if there is interest in using the TCP stack from the Lisp code base. I'm somewhat familiar with TCP and have an interest in Lisp. So I was wondering if there is interest in getting the old codebase to work... But using the host stack gives you a much more modern TCP implementation... Thanks for the quick response! |
Beta Was this translation helpful? Give feedback.
-
@tuexen -- PUP => PARC Universal Packet, the packets on the original 3 Mb ethernet (http://www.bitsavers.org/pdf/xerox/parc/techReports/CSL-79-10_Pup_An_Internetwork_Architecture_Jul79.pdf), and XNS => Xerox Network Services, the packets on the 10 Mb ethernet. Novell Netware copied the XNS Internet Datagram Protocol (IDP) for their IPX protocol. The old Lisp TCP/IP implementations were deprecated by the original maintainers after Interlisp started to be run on the emulator. On the original D-machines Interlisp was the OS, and had to implement everything including the raw ethernet packet handling, the page fault handlers, the disk controller operations, the file system etc., ... It became a lot easier to maintain when that could all be delegated to the OS. |
Beta Was this translation helpful? Give feedback.
-
It followed pretty closely the design of the BSD stack from the early ‘80s, but implemented in Interlisp-D to work on 10-Mb Ethernet. With the transition to non-Xerox hardware the decision was made to use the stack provided by the host OS since the support and improvements would come from those OS maintainers. TCP/IP’s come a pretty long way since then and I wouldn’t be surprised if there aren’t some incompatibilities against current stacks.
… On Dec 25, 2021, at 3:25 PM, Michael Tüxen ***@***.***> wrote:
@nbriggs <https://github.com/nbriggs> Thanks for the information. I was looking for the TCP code and did not find it... I have not idea what PUP and XNS is, I was just wondering if there is interest in using the TCP stack from the Lisp code base. I'm somewhat familiar with TCP and have an interesting in Lisp. So I was wondering if there is interest in getting the old codebase to work... But using the host stack gives you a much more modern TCP implementation...
Thanks for the quick response!
—
Reply to this email directly, view it on GitHub <#573 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ACBP2DFZQNP6X5KKJHZYZSTUSZAERANCNFSM5IITCKUQ>.
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you are subscribed to this thread.
|
Beta Was this translation helpful? Give feedback.
-
That is what I'm interested in. I'm working on today's TCP stack of FreeBSD and would expect that it can interoperate with a stack just doing the initial specification (RFC 793)... |
Beta Was this translation helpful? Give feedback.
-
Thanks for the clarification. Unfortunately, I have no experience with PUP and XNS. My interest would have been the TCP stack in lisp... |
Beta Was this translation helpful? Give feedback.
-
You're more than welcome to check out the old code that you'll find from the git whatchanged command I mentioned above. I am looking to get the BPF interface for raw ethernet packets working, and that should allow the Lisp TCP/IP code to run again. |
Beta Was this translation helpful? Give feedback.
-
That should work... You have to make sure that the host stack does not interfere with the stack in the Lisp VM. Drop me a note once it is finished or if you have questions related to this... |
Beta Was this translation helpful? Give feedback.
-
you might want to check in the interlisp/history repository; the TCP files were moved to library/Obsolete/ by 2016. What I remember was that trying to implement a full TCP protocol stack by reading RFCs was a learning experience. |
Beta Was this translation helpful? Give feedback.
-
The work on "dodo" (XNS in Java) noted above might provide an opportunity to revive Medley networking? |
Beta Was this translation helpful? Give feedback.
-
This issue has more useful information than #456 so I'll mark that one duplicate and close it. |
Beta Was this translation helpful? Give feedback.
-
Hello, the branch The Dodo Nethub support was implemented and tested with x86_64-Linux, so the The file
Unpacking the For running the Dodo demo system, open 2 shells, change to the
For shutting down the Dodo demo system, simply stop the programs with Ctrl-C in reverse The Medley environment i used for my experiments was the release For a quick tour through the combined Medley/Dodo demo environment:
And then in the Lisp environment:
Experienced Interlisp-D users probably know more use-cases for using XNS services, the above were Greetings Attachment: |
Beta Was this translation helpful? Give feedback.
-
Astounding! |
Beta Was this translation helpful? Give feedback.
-
Hello, looking again at the file i uploaded yesterday, i've seen that the filenames in the archive were messed up... So please rename the files after unpacking as follows to match the names mentioned in my previous post:
(Github does not accept all extensions for file uploads to a post, e.g. insisted on an uppercase Sorry for the inconvenience |
Beta Was this translation helpful? Give feedback.
-
Success! I'm not sure what I did differently -- I was dying with a stack overflow trying to CH.FINDSERVER -- but today, after several similar failures, it all worked! demoing CoLab and things like it (didn't Notecards have some networking possibilities?) |
Beta Was this translation helpful? Give feedback.
-
Congratulations! Yes, i also had stack overflows with some of the fresh loadup images, but others worked fine. Not sure if some of the failing ones have less things preloaded and one crucial thing is missing. The important thing is to call BTW: is there a mail client in Interlisp to check if exchanging mails with Star or Viewpoint works? Hans |
Beta Was this translation helpful? Give feedback.
-
Larry can look back at how the network initialization used to work -- he removed the Lisp code that used to get the ethernet properly initialized in order to speed things up when the network wasn't present. It's NOT as simple as calling \NSINIT in the loadup. Yes, Lafite is the mail client that understands XNS mail (and Grapevine on a PUP network). |
Beta Was this translation helpful? Give feedback.
-
Could you rebase onto the current maiko master branch -- all the Addr68k_from_LADDR etc. have been replaced by NativeAligned{2,4}FromLAddr to reduce the compiler warnings for incorrect alignment. |
Beta Was this translation helpful? Give feedback.
-
I'm looking at trying to reduce the entropy in the code, and this seems like a good time to look at splitting the ethernet handling code up in to separate files so that you don't have to guess which definition of something is active for which set of |
Beta Was this translation helpful? Give feedback.
-
just pushed a new Maiko version in my branch:
Compiles and works on Linux-x86_64 and Cygwin, the new command line option is untested however ok, that's all for today... |
Beta Was this translation helpful? Give feedback.
-
OK, I'll look. It should probably reuse the "-t" flag that is currently (supposed to...) set the timer frequency. The style for options should be '-x' (or '-xx') for short options or '--longer-option' (double dash). We're going to rationalize the option processing though, so you probably don't need to deal with that. |
Beta Was this translation helpful? Give feedback.
-
I'm going to this issue into a Discussion about possible networking goals (for TCP) since it's not clear what the goal is |
Beta Was this translation helpful? Give feedback.
-
As a user my goal would be a TCP/IP implementation conforming to the Lisp API, behavior, and tools described in the documentation of the Lisp library modules and LispUsers. Any extensions would be welcome. |
Beta Was this translation helpful? Give feedback.
-
PR #1283 PR #1284 bring back TCP files (to 'obsolete'). |
Beta Was this translation helpful? Give feedback.
-
Network: Medley has full protocol stacks, in Lisp, for three families of network protocols: PUP, XNS, and TCP/IP. Can we demonstrate?
Beta Was this translation helpful? Give feedback.
All reactions