-
Notifications
You must be signed in to change notification settings - Fork 70
Network access for operating systems running on Hercules
As far as the Open Systems Interconnect (OSI) model is concerned, Hercules device managers support network connections at level 2 (ethernet frames) or level 3 (IP datagrams).
An operating system running under Hercules accesses the network via a System/360 device, of which Hercules supports, with copious redundancy, but all slightly differently:
- Channel-to-channel adapter.
The channel-to-channel adapter was an integrated adapter in System/360 and /370; it has two bus and tag interfaces that connect to the channels of two systems.
On ESCON and later, a CTC is imlemented by an optic fibre from one channel to another; the protocol is implemented at the IOCP level. The fibre has to be installed even for CTCs between LPARs.
Hercules supports three device managers for a channel-to-channel adapter for various types of connections.
- CTCT
- Connect to another CTCT in another Hercules instance.
- CTCI
- Connect to a host network interface using the original TCP/IP (Wiscnet) stack-to-stack protocol.
- PPP
- Create an MPCPTP type of connection to another instance of the z/OS communications manager.
- Lan Control Station.
The LAN control station was an outboard (separate box) adapter that usually connected via bus and tag and looked like a channel-to-channel adapter, though integrated LCS was offered for the 9370.
- LCS
- Connect to a host network interface as a lan control station at the ethernet packet level.
- Queued direct I/O to an ethernet adapter. Queued direct I/O is an IBM proprietary undocumented interface, even the instructions are not documented, though z/Linux shows examples of use.
A preconfigured interface is a special character file that has been set up permanetly prior to starting Hercules. Not all unixen support this.
Creating a tun interface by ifconfig tun<n> create also creates a corresponding /dev/tun<n> special character file.
Ownership of the character special file can be transferred by chown.
Thus, a preconfigured device can be created without additional software and no programming is required to activate the tunnel.
But, as of release 9.1 the network interface loses the IP address when the corresponding special character file is closed.
FreBSD supports a similar tap interface, but only root can open such a special device unless the system configuration variable net.link.tap.user_open is set to a nonzero value.
Note, however, that this system control exists only when the tap device driver has been loaded by the kernel, so it may not be possible to set it intil a tap interface is defined.
FreeBSD also supports tun/tap cloning.
That is, opening /dev/tun or /dev/tap will create the next lowest numbered interface.
The linux implementation creates a tun/tap interface by opening /dev/tun and issuing ioctl() to select tun or tap.
Configuration of IP addresses are also done via ioctl().
Use openvpn to create a permanent network interface.
To access the interface, the special device file /dev/net/tun must be opened and the desired interface selected by ioctl().
openvpn --mktun --dev tun0 --group hercules