X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=README.sol2;h=4c862208f41d664de54f25d29c1874773bd3c799;hp=d8b35760a18d442b46edcf519f136ce9201505e6;hb=56e6860d27306bcbe35b3a14f360d0f52b5940b5;hpb=b1d02214fcd376e688f30eeb97d0f67fd8d98de9 diff --git a/README.sol2 b/README.sol2 index d8b3576..4c86220 100644 --- a/README.sol2 +++ b/README.sol2 @@ -48,26 +48,29 @@ See the man page for ip(7p) for details. Dynamic STREAMS Re-Plumbing Support. ************************************ -Solaris 8 includes dynamic re-plumbing support. With this, modules below ip can -be inserted, or removed, without having the ip stream be unplumbed, and re- -plumbed again. All states in ip for an interface will therefore now be -preserved. Users can install (or upgrade) modules like firewall, bandwidth -manager, cache manager, tunneling, etc., without shutting the machine down. +Solaris 8 includes dynamic re-plumbing support. With this, modules +below ip can be inserted, or removed, without having the ip stream be +unplumbed, and re-plumbed again. All states in ip for an interface +will therefore now be preserved. Users can install (or upgrade) +modules like firewall, bandwidth manager, cache manager, tunneling, +etc., without shutting the machine down. To support this, ppp driver now uses /dev/udp instead of /dev/ip for -the ip stream. The interface stream (where ip module pushed on top of ppp) -is then I_PLINK'ed below the ip stream. /dev/udp is used because STREAMS will -not let a driver be PLINK'ed under itself, and /dev/ip is typically the driver -at the bottom of the tunneling interfaces stream. The mux ids of the ip -streams are then added using SIOCSxIFMUXID ioctl. +the ip stream. The interface stream (where ip module pushed on top of +ppp) is then I_PLINK'ed below the ip stream. /dev/udp is used because +STREAMS will not let a driver be PLINK'ed under itself, and /dev/ip is +typically the driver at the bottom of the tunneling interfaces +stream. The mux ids of the ip streams are then added using +SIOCSxIFMUXID ioctl. -Users will be able to see the modules on the insterface stream by, for example: +Users will be able to see the modules on the interface stream by, for +example: pikapon% ifconfig ppp modlist 0 ip 1 ppp -Or arbitrarily if bandiwth manager and firewall modules are installed: +Or arbitrarily if bandwidth manager and firewall modules are installed: pikapon% ifconfig hme0 modlist 0 arp @@ -79,9 +82,9 @@ Or arbitrarily if bandiwth manager and firewall modules are installed: Snoop Support. ************** -This version includes support for /usr/sbin/snoop. Tests has been done on both -Solaris 7 and 8. Only IPv4 and IPv6 packets will be sent up to stream(s) marked -as promiscuous, e.g, snoop et al. +This version includes support for /usr/sbin/snoop. Tests has been done +on both Solaris 7 and 8. Only IPv4 and IPv6 packets will be sent up to +stream(s) marked as promiscuous, e.g, snoop et al. Users will be able to see the packets on the ppp interface by, for example: @@ -94,35 +97,35 @@ IPv6 Support. This is for Solaris 8 and later. -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 +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: +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. +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. -There need not be any up/down scripts for ipv6, e.g. /etc/ppp/ipv6-up or -/etc/ppp/ipv6-down, to trigger IPv6 neighbor discovery for auto configuration -and routing. The in.ndpd daemon will perform all of the necessary jobs in the -background. /etc/inet/ndpd.conf can be further customized to enable the machine -as an IPv6 router. See the man page for in.ndpd(1M) and ndpd.conf(4) for -details. +There need not be any up/down scripts for ipv6, e.g. /etc/ppp/ipv6-up +or /etc/ppp/ipv6-down, to trigger IPv6 neighbor discovery for auto +configuration and routing. The in.ndpd daemon will perform all of the +necessary jobs in the background. /etc/inet/ndpd.conf can be further +customized to enable the machine as an IPv6 router. See the man page +for in.ndpd(1M) and ndpd.conf(4) for details. -Below is a sample output of "ifconfig -a" with persistent link-local address. -Note the UNNUMBERED flag is set because hme0 and ppp0 both have identical -link-local IPv6 addresses: +Below is a sample output of "ifconfig -a" with persistent link-local +address. Note the UNNUMBERED flag is set because hme0 and ppp0 both +have identical link-local IPv6 addresses: lo0: flags=1000849 mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 @@ -145,41 +148,43 @@ ppp0: flags=10008d1 mtu 1500 index ppp0: flags=2202851 mtu 1500 index 12 inet6 fe80::a00:20ff:fe8d:38c1/10 --> fe80::a00:20ff:fe7a:24fb -Note also that a plumbed ipv6 interface stream will exist throughout the entire -PPP session in the case where the peer rejects IPV6CP, which further causes the -interface state to stay down. Unplumbing will happen when the daemon exits. This -is done by design and is not a bug. +Note also that a plumbed ipv6 interface stream will exist throughout +the entire PPP session in the case where the peer rejects IPV6CP, +which further causes the interface state to stay down. Unplumbing will +happen when the daemon exits. This is done by design and is not a bug. 64-bit Support. *************** -This version has been tested under Solaris 7 (and Solaris 8 ) 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. +This version has been tested under Solaris 7 (and Solaris 8 ) 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) +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: