Platform Notes: SunFDDI Adapter

Displaying SunFDDI Statistics

The pf_stat(1M)or nf_stat utility interrogates a specified SunFDDI interface and displays the accumulated statistics. This command must be executed as root and has the general form:


# <basedir>/pf_stat [-m] 
pf<inst> [<interval>] [<count>] 

pf<inst> specifies the SunFDDI interface

<interval> is the elapsed time (in seconds) between interrogations

<count> the total number of interrogations

The pf_stat utility displays information using column headings that conform to SMT revision 7.3, which differ from SMT revision 5.1 and 4.2 headings in the following cases:

Displaying Local Interface Statistics

When you enter the pf_stat command without the -m option, it displays statistics recovered from the local interface pf<inst>.

For example, to display the accumulated statistics for the interface pf0, type:


# <basedir>/pf_stat pf0
Ring	ECM	RMT	PCMS	Ring_OP	XmitP	RecvP
UP	IN	RING_OP	ACTIVE	c	16fde	1862d

You can also monitor the interface dynamically (active monitor), by specifying the interval (the elapsed time between interrogations) and count (the total number of interrogations). This displays the incremental difference between the current state and the previous state. The minimum interval is one second and the accumulated statistics are displayed after every tenth interrogation.

For example, to monitor the interface pf0 once every 60 seconds for 3 minutes (a total of 3 interrogations), type:


# <basedir>/pf_stat pf0 60 3
Ring	ECM	RMT	PCMS	Ring_OP	XmitP	RecvP
UP	IN	RING_OP	ACTIVE	c	131a0	131aa
UP	IN	RING_OP	ACTIVE	0	0	0
UP	IN	RING_OP	ACTIVE	0	1	1

Interpreting Local Statistics

Running the pf_stat utility without the -m option displays information about the various SMT state machines and the network to which the local station is attached:

Ring (Ring Status)

The Ring status shows the current state of the physical connection to the FDDI network. The following states may be returned by pf_stat under the Ring heading

ECM (Entity Coordination Management)

ECM shows the current state of the Entity Coordination Management state machine, which controls the following features and facilities:

Table 2-1 lists the states that may be returned by pf_stat under the ECM heading.

Table 2-1 pf_stat States Under the ECM Heading

State 

Meaning 

OUT

ECM is inactive and is waiting for a connect request (initial state). 

IN

ECM is active; normal state after successful connection request. 

TRACE 

ECM is propagating a trace request to the appropriate entity. 

LEAVE 

ECM is closing all connections prior to the station leaving the ring. 

PATH_TEST 

ECM is entering a path test state following trace completion. 

INSERT 

ECM is sending a request to the optical bypass switch to indicate that the station is entering the ring. This disengages the switch. 

CHECK 

ECM is verifying that symbols are being received from the network. 

DEINSERT 

ECM is sending a request to the optical bypass switch, to indicate that the station is leaving the ring. This engages the switch. 

RMT (Ring Management)

RMT shows the current state of the Ring Management state machine, which controls the following features and facilities:

Table 2-2 lists the states that may be returned by pf_stat under the RMT heading.

Table 2-2 pf_stat States Under the RMT Heading

State 

Meaning 

ISOLATED

RMT is inactive (initial state). 

NON_OP

RMT is waiting for an operational ring. 

RING_OP 

RMT is operating normally. 

DETECT 

RMT is checking for duplicate addresses (transient state during initialization). 

NON_OP_DUP 

RMT has detected that its address is duplicated and is initiating recovery. The ring is not operational in this state. 

RING_OP_DUP 

RMT has detected that the MAC address is duplicated and flagged the error. The ring is operational in this state.

DIRECTED 

RMT has been beaconing for an extended period of time and is transmitting a stream of directed beacons prior to initiating recovery. 

TRACE 

RMT has initiated a trace to recover a stuck beacon. 

PCM (Physical Connection Management)

PCM shows the current state of the Physical Connection Management state machine that controls the following features and facilities:

This heading is modified to indicate the type of port that is being managed:

TABLE 2-3 lists the states that may be returned by pf_stat under the PCM heading.

Table 2-3 pf_stat States Under the PCM Heading

State 

Meaning 

OFF

PCM is inactive (initial state). 

BREAK

PCM is starting the connection synchronization phase. 

CONNECT 

PCM is synchronizing the connection end-points prior to the signaling sequence. 

NEXT 

PCM is transmitting PDUs prior to entering SIGNAL state.

SIGNAL 

PCM is transmitting and receiving signal bits (information) following a NEXT state.

JOIN 

First state in the sequence leading to a synchronized connection. 

VERIFY 

Second state in the sequence leading to a synchronized connection. 

ACTIVE 

Final state indicating that the port is successfully incorporated in the token path. 

TRACE 

PCM is localizing a stuck beacon condition.

The normal sequence of PCM states leading to a fully synchronized connection and incorporation of the port into the token path is shown in Figure 2-1. Note that the minimum interval between interrogations is one second and that this is not always fast enough to recover and display the complete sequence of PCM states.

Figure 2-1 Normal Sequence of PCM States

Graphic

Ring_OP (Ring Operational)

Ring_OP shows the number of Ring_OP (Ring Operational) signals received. This signal is generated when the station is incorporated into an operational network.

XmitP (Transmit Packets)

Running pf_stat without an interval and count, displays the total number of packets transmitted since the interface was activated. Running pf_stat with an interval and count, displays the number of packets transmitted since the last interrogation.

RecvP (Receive Packets)

Running pf_stat without an interval and count displays the total number of packets received since the interface was activated. Running pf_stat with an interval and count displays the number of packets received since the last interrogation.

Example Local Statistics

The following output was recovered from a single-attached station using the command shown. A temporary fault condition was simulated by disconnecting the FDDI cable from the SunFDDI card and then reconnecting it.


# <basedir>/pf_stat pf0 1 20
Ring	ECM	RMT	PCMS	Ring_OP	XmitP	RecvP
UP	IN	RING_OP	ACTIVE	2	26	1d
UP	IN	RING_OP	ACTIVE	0	0	0
UP	IN	RING_OP	ACTIVE	0	0	0
UP	IN	RING_OP	ACTIVE	0	0	0
DOWN	IN	ISOLATED	CONNECT	0	1	1
DOWN	IN	ISOLATED	CONNECT	0	0	0
DOWN	IN	ISOLATED	NEXT	0	0	0
UP	IN	RING_OP	ACTIVE	1	0	0
UP	IN	RING_OP	ACTIVE	0	1	1

Ring	ECM	RMT	PCMS	Ring_OP	XmitP	RecvP
UP	IN	RING_OP	ACTIVE	3	29	20
UP	IN	RING_OP	ACTIVE	0	0	0
UP	IN	RING_OP	ACTIVE	0	1	1
UP	IN	RING_OP	ACTIVE	0	0	0
UP	IN	RING_OP	ACTIVE	0	0	0
UP	IN	RING_OP	ACTIVE	0	0	0
UP	IN	RING_OP	ACTIVE	0	0	0
UP	IN	RING_OP	ACTIVE	0	0	0
UP	IN	RING_OP	ACTIVE	0	0	0
UP	IN	RING_OP	ACTIVE	0	1	1

Note the following observations regarding this example:

The link status indicator mounted on the SunFDDI card displays the following sequence of events:

Green (connected) -> Amber (disconnected) --> Green (connected)

Displaying Statistics from Neighboring Stations

When you use the pf_stat or nf_stat command with the -m option, it displays information about the neighboring stations attached to the local interface pf<inst> and the frames received from the network.

For example, to display information about the neighboring stations attached to the interface pf0, type:


# <basedir>/pf_stat --m pf0
PhyS	Frame	Error	Lost	SA	UNA	DNA
M	b43eb2	0	3	<mac_addr1>	<mac_addr2>	<mac_addr3>

You can also monitor the neighboring stations dynamically (active monitor), by specifying the interval (the elapsed time in seconds between interrogations) and count (the total number of interrogations). The minimum interval is one second and the accumulated statistics are displayed after every tenth interrogation.

For example, to monitor the stations attached to pf0 once every 10 seconds for 1 minute (a total of 6 interrogations), type:


# <basedir>/pf_stat --m pf0 10 6
PhyS	Frame	Error	Lost	SA	UNA	DNA
M	c460a6d	0	3	<mac_addr1>	<mac_addr2>	<mac_addr3>
M	27224	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
M	27227	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
M	27220	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
M	2722e	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
M	27223	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>

Interpreting Statistics from Neighboring Stations

Running the pf_stat utility with the -m option displays information about the neighboring stations attached to the local interface pf<inst>.

Phy (Physical Connection)

PHY shows the type of physical connection to the FDDI network. This heading is modified to indicate the type of port being managed:

The following states may be returned by pf_stat under the Phy heading:

Table 2-4 pf_stat States Under the PHY Heading

State 

Meaning 

NONE

Port disconnected 

M

Port connected to Port M on a concentrator 

S

Port connected to Port S on a single-attached station 

A

Port connected to Port A on a dual-attached station 

B

Port connected to Port B on a dual-attached station 

Frame (Frames Received)

Running pf_stat or nf_stat without an interval and count displays the total number of SMT frames received since the interface was activated. Running pf_stat or nf_stat with an interval and count displays the number of SMT frames received since the last interrogation.

More detailed information about the SMT frames can be recovered using the pf_smtmon(1M) or nf_smtmon(1M) utility described in "Monitoring SMT Frames".

Error (Error Frames)

Running pf_stat or nf_stat without an interval and count displays the total number of error frames received since the interface was activated. Running pf_stat or nf_stat with an interval and count displays the number of error frames received since the last interrogation. An error frame is defined as an SMT frame whose E (error) bit is set, and whose E bit is first detected by the local station. It does not indicate the location of the cause of the error. Frequent error frames can indicate a noise problem on the network, either dirt (optical fiber) or electrical interference (UTP).

Lost (Lost Frames)

Running pf_stat or nf_stat without an interval and count displays the total number of lost frames since the interface was activated. Running pf_stat or nf_stat with an interval and count displays the number of lost frames since the last interrogation. A lost frame is defined as an SMT frame whose reception is aborted by the local station. It does not indicate the location of the cause of the error. A large number of lost frames can indicate a noise problem on the network, either dirt (optical fiber) or electrical interference (UTP).

SA (Station Address)

Displays the MAC address for the local station.

UNA (Upstream Neighbor Address)

Displays the MAC address for the neighboring station, connected upstream on the ring from the local station.

DNA (Downstream Neighbor Address)

Displays the MAC address for the neighboring station, connected downstream on the ring from the local station.

Example Neighbor Statistics

The following output was recovered from a single-attached station using the command shown. A temporary fault condition was simulated by disconnecting the FDDI cable from the SunFDDI card and then reconnecting it.


# <basedir>/pf_stat --m pf0 1 20
PhyS	Frame	Error	Lost	SA	UNA	DNA
	M	c45d5463	1	1b	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	27437	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	27427	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	27435	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	NONE	182f1	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	NONE	0	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	NONE	0	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	d432	0	7	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	2707e	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>

PhyS	Frame	Error	Lost	SA	UNA	DNA
	M	c46e5ce7	1	22	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	27228	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	27230	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	27227	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	2722e	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	2722c	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	27228	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	27231	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	2722b	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>
	M	27227	0	0	<mac_addr1>	<mac_addr2>	<mac_addr3>

Note the following observations regarding this example: