X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=README.sol2;h=a6b181a1e8a4d99dccadb2daee4158af90511a4f;hb=a76dec3b0f10ad19bf9a8c93d8899f28f7c1585f;hp=bc24f1fe5cebbb149a2f54336f3208957bc58954;hpb=4d5401a1de510cdbb89cf10bc5956774c62683be;p=ppp.git diff --git a/README.sol2 b/README.sol2 index bc24f1f..a6b181a 100644 --- a/README.sol2 +++ b/README.sol2 @@ -4,6 +4,13 @@ but are not identical. The STREAMS kernel modules and driver for Solaris 2 are in the svr4 directory (and use some code from the modules directory). +NOTE: Although the kernel driver and modules have been designed to +operate correctly on SMP systems, they have not been extensively +tested on SMP machines. Some users of SMP Solaris x86 systems have +reported system problems apparently linked to the use of previous +versions of this software. I believe these problems have been fixed. + + Installation. ************* @@ -13,13 +20,19 @@ kernel modules. ./configure make +If you wish to use gcc (or another compiler) instead of Sun's cc, edit +the svr4/Makedefs file and uncomment the definition of CC. You can +also change the options passed to the C compiler by editing the COPTS +definition. + 2. Install the programs and kernel modules: as root, do make install This installs pppd, chat and pppstats in /usr/local/bin and the kernel modules in /kernel/drv and /kernel/strmod, and creates the /etc/ppp -directory and populates it with default configuration files. +directory and populates it with default configuration files. You can +change the installation directories by editing svr4/Makedefs. If your system normally has only one network interface, the default Solaris 2 system startup scripts will disable IP forwarding in the IP @@ -28,5 +41,92 @@ local machine as a gateway to access other hosts. The solution is to create an /etc/ppp/ip-up script containing something like this: #!/bin/sh - /usr/sbin/ndd -set /dev/ip ip_forwarding 2 + /usr/sbin/ndd -set /dev/ip ip_forwarding 1 + +See the man page for ip(7p) for details. + +IPv6 Support. +************* + +This version has been tested under Solaris 8 running IPv6. As of now, +interoperability testing has only been done between Solaris machines +in terms of the IPV6 NCP. An additional command line option for the +pppd daemon has been added: ipv6cp-use-persistent + +By default, compilation for IPv6 support is not enabled. Uncomment the +necessary lines in pppd/Makefile.sol2 to enable it. Once done, the +quickest way to get IPv6 running is to add the following somewhere +in the command line option: + + +ipv6 ipv6cp-use-persistent + +The persistent id for the link-local address was added to conform to +RFC 2472; such that if there's an EUI-48 available, use that to make up +the EUI-64. As of now, the Solaris implementation extracts the EUI-48 +id from the Ethernet's MAC address (the ethernet interface needs to +be up). Future works might support other ways of obtaining a unique +yet persistent id, such as EEPROM serial numbers, etc. + +64-bit Support. +*************** + +This version has been tested under Solaris 7 (and Solaris 8 Beta) in both +32- and 64-bits environments (Ultra class machines). Installing the package +by executing "make install" will result in additional files residing in +/kernel/drv/sparcv9 and /kernel/strmod/sparcv9 subdirectories. + +64-bit modules and driver have been compiled and tested using Sun's cc. + +Synchronous Serial Support. +*************************** + +This version has working but limited support for the on-board synchronous HDLC +interfaces. It has been tested with the /dev/se_hdlc and /dev/zsh drivers. +Synchronous mode was tested with a Cisco router. + +There ppp daemon does not directly support controlling the serial interface. +It relies on the /usr/sbin/syncinit command to initialize HDLC mode and +clocking. + +Some bugs remain: large sized frames are not sent/received properly, and +may be related to the IP mtu. This +may be due to bugs in pppd itself, bugs in Solaris or the serial drivers. +The /dev/zsh driver seems more larger and can send/receive larger frames +than the /dev/se_hdlc driver. There is a confirmed bug with NRZ/NRZI mode +in the /dev/se_hdlc driver, and Solaris patch 104596-11 is needed to correct +it. (However this patch seems to introduce other serial problems. If you +don't apply the patch, the workaround is to change the nrzi mode to yes or +no, whichever works) + +How to start pppd with synchronous support: + +#!/bin/sh + +local=1.1.1.1 # your ip address here +baud=38400 # needed, but ignored by serial driver + +# Change to the correct serial driver/port +#dev=/dev/zsh0 +dev=/dev/se_hdlc0 + +# Change the driver, nrzi mode, speed and clocking to match your setup +# This configuration is for external clocking from the DCE +connect="syncinit se_hdlc0 nrzi=no speed=64000 txc=rxc rxc=rxc" + +/usr/sbin/pppd $dev sync $baud novj noauth $local: connect "$connect" + + +Sample Cisco router config excerpt: + +! +! Cisco router setup as DCE with RS-232 DCE cable +! +! +interface Serial0 + ip address 1.1.1.2 255.255.255.0 + encapsulation ppp + clockrate 64000 + no nrzi-encoding + no shutdown +!