Initial attempt to bring networking to macOS#850
Conversation
Also reconfigured aututools to make hercutun and hercifc setuid when utun is needed.
|
Hi Simon @baka0taku2022 , I've successfully pulled your PR based on Enrico's work into a branch and built Hercules SDL-Hyperion from it. I'm now trying to test an x3270 session via the an utun CTCI. But I can't find the correct syntax documented as to how the utun CTCI must be configured in the .cnf file. Can you help please ? Thanks, Peter |
|
Peter, NETDEV utunXX <- XX is the utun number that you want created Both hercutun and hercifc need to be setuid for this to work. Please let me know if you have any issues. Simon |
|
Hi Simon, Has this which results in Actually, if prefer not to use NETDEV as they are merely an alternative for the device coding in the CTCI (or other) network configuration statements. So I tried I also tried adding the IP addresses, both for an IPv4 CTCI as well as for an IPv6 one : In short, no success whatsoever with my attempts. Comments welcome! Cheers, Peter |
|
Peter, I am so sorry about that. I forgot to add the source and destination IP addresses. Also the NETDEV statement is unnecessary. Here is what works for me: 500.2 CTCI 192.168.1.98 192.168.1.99 The biggest caveat to this working is that both hercutun and hercifc need to be setuid. this can be accomplished via the chmod command: here are some excerpts from my hercules log (I have debugging turned on): Device initialization: hercifc setting the source address, destination address, MTU, and flags for the utun device. Known bug: sometimes you will have to force quit hercules due to the interface not closing properly. Hope this helps, |
|
Hi Simon, It certainly did help. I got the same messages in the Hercules log, except for the HHC00149I ones, which I think were created tracing things. How did you create these please? The CTCI device I defined in z/VM 7.3 however does not work for me, the device doesn't even initialize correctly. The error message in the z/VM TCPIP log is: Before I start trying to debug things, I'd like to know if perhaps I'm still doing something wrong with my setup. Does your CTCI device work correctly? And if so, under which OS and version? Thanks, Peter |
|
From what I have researched on the errors you are getting this may related to your issue. Just running Hercules with no OS loaded produces the folowing: The device does show up in the and the route shows up in the output for My host OS is macOS 26.5.2 (25F84) |
|
Hi Simon, I thought to let you know I have some progress, after I realized that the CTCI addresses (0E24-0E25 in my case) need to be attached to TCPIP of course, which in my case I do using the :ATTACH. record in the z/VM TCPIP filetype DTCPARMS. As a result, the Hercules CTCI -d debug option now shows TCPIP packets being sent (on utun4 in my case), and received (accept from guest). But PING commands do not work in either direction. The only PING command that does work is for the TCPIP address of z/VM inside a CMS session. The regular CMS commands, like NETSTAT HOME, NETSTAT GATE, IFCONFIG -SHOW all appear normal, like when running Hercules on an Ubuntu host. In case you wonder, yes, I have IP forwarding enabled in macOS (Tahoe 26.5.2 like yours). But no, I don't have connectivity yet. I'll continue with trying to figure out what's wrong with this CTCI link. The very same setup on an Ubuntu host does work, using a regular Linux /dev/net/tun style tun interface. From your earlier response I presume that you too do not have a CTCI link working for an OS like VM or MVS or z/OS. Is that correct please? Cheers, Peter |
@Fish-Git , @wrljet
What I have done here is to take the code supplied from Enrico and make it able to compile via autotools if it finds macOS 11 (Big Sur) or higher. This was the point where macOS stopped allowing 3rd party kernel extensions. That move effectively killed tun/tap support for macOS. I have tested that it builds on macOS 25 (Tahoe) with an Apple M3 Max (arm64) processor. I also attempted to add more comments and documentation. Please let me know what else I can do to get this up to snuff.
Simon