Solstice PPP 3.0.1 Administration Guide

Checking the IP Routing

IP routing is a common source of problems with products such as Solstice PPP, which implement IP connections over PPP links. To detect problems with IP routing:

  1. Check the protocol status, using ifconfig(1M)

  2. Check the IP connectivity, using ping(1M)

  3. Check the routing tables, using netstat(1M)

  4. Check the packet flow, using snoop(1M)

Checking the Protocol Status (ifconfig)

Use ifconfig(1M) to check that the IP interfaces for Solstice PPP are configured, by typing:


prompt# /usr/sbin/ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
	inet 127.0.0.1 netmask ff000000
le0: flags=863<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
	inet 129.x.x.117 netmask ffffff00 broadcast 129.x.x.255
	ether 8:0:20:10:c2:b1
ipdptp0: flags=8d0<POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
	inet 129.x.x.117 --> 129.x.x.253 netmask ffffff00
	ether 0:0:0:0:0:0
ipdptp1: flags=28d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>
	inet 129.x.x.117 --> 129.x.x.38 netmask ffffff00
	ether 0:0:0:0:0:0 

Checking the IP Connectivity (ping)

Use ping(1M) to check that you can reach a remote host, by typing:


prompt# /usr/sbin/ping -r remote_host

Follow the status of the connection in the file /var/opt/SUNWconn/ppp.log. If the LCP negotiation fails with the message "PPP error on ipdptp1: Negotiation of mandatory options failed", the IP addresses used for the interfaces at each end of the link may not be coherent.

Checking the Routing Tables (netstat)

Use netstat(1M) to check the network addresses of the local and remote hosts, by typing:


prompt# /usr/sbin/netstat -i
lo0	8232	loopback	localhost	4631890	0	4631890	0	0	0
le0	1500	lab	local	5370160	15	2153627	273	430451	0
ipdptp0	1500	remote	local	0	0	0	0 	0	0

Check that the local and remote addresses are correct. Hostnames must be resolved as IP addresses in either the local file /etc/hosts, or by a naming service (NIS/NIS+ or DNS). IP interfaces for synchronous links are initialized by Solstice PPP before the naming services are available; therefore the hostname for these files must be resolved in /etc/hosts.

Use netstat(1M) to check the routing table, by typing:


prompt# /usr/sbin/netstat -r

If the routing table does not include the expected routes, check that the routing daemon in.routed is running on your machine, by typing:


prompt# ps -ef | grep in.routed
owner 12481  3812  7 23:06:08 pts/6    0:00 grep in.routed

Checking the Packet Flow (snoop)

Use snoop(1M) to check that packets are being transmitted. For example:


prompt# /usr/sbin/snoop -d ipdptp0
local -> remote         RSHELL C port=1017   >0   'H   ![    ?
local -> remote         RSHELL C port=1017   ,(!\nM/            
local -> remote         RSHELL C port=1017   Y@#K /  ]0#Z    ] 'Z
local -> remote         RSHELL C port=1017   .?;-)P3O89, "  2 H8"
local -> remote         RSHELL C port=1017   @         \#\  
.
.
.