]> git.ozlabs.org Git - ppp.git/blobdiff - README.sol2
Added notes on IPv6 over PPP on Solaris
[ppp.git] / README.sol2
index 9c8b7d62e8c8193b5d180c81161f5eb88946970c..a6b181a1e8a4d99dccadb2daee4158af90511a4f 100644 (file)
@@ -4,13 +4,11 @@ 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).
 
-This version has been tested under Solaris 2.5.1 and Solaris 2.6.
-
 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 this
-software.
+reported system problems apparently linked to the use of previous
+versions of this software.  I believe these problems have been fixed.
 
 
 Installation.
@@ -43,7 +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
+!         
 
-Under Solaris 2.6, the value 2 is invalid; use 1 instead.  See the man
-page for ip(7p) for details.