llc2 - Class II logical link control driver
The llc2 logical link control driver interfaces network software (NetBIOS, SNA, OSI, and so on) running under the Solaris operating environment to a physical LAN network controlled by one of the supported communications adapters. The llc2 driver, which appears as a STREAMS driver to the network software, resides in the kernel and is accessed by standard UNIX STREAMS functions.
This version of the llc2 driver includes support for both connectionless and connection-oriented logical link control class II (llc2) operations for Ethernet, Token Ring, and FDDI adapters when accessed through the appropriate Solaris MAC layer driver. The Data Link Provider Interface (DLPI) to the llc2 driver enables multiple and different protocol stacks, (including NetBIOS and SNA), to operate simultaneously over one or more local area networks.
To start the llc2 driver by default, rename file /etc/llc2/llc2_start.default to /etc/llc2/llc2_start. This allows the /etc/rc2.d/S40llc2 script to build up the configuration file for each ppa interface in /etc/llc2/default/llc2.* and start llc2 on each interface. To verify the configuration files, manually run /usr/lib/llc2/llc2_autoconfig.
For more information on the llc2 driver, see the IEEE standard 802.2 Logical Link Control.
You can obtain LLC2 statistics or reset the statistics counter to zero using the ILD_LLC2 ioctl. The ILD_LLC2 ioctl has a number of subcommands. The following retrieve LLC2 statistics:
Name | Function |
LLC2_GET_STA_STATS | Get station statistics |
LLC2_GET_SAP_STATS | Get SAP statistics |
LLC2_GET_CON_STATS | Get connection statistics |
The structure used depends on the subcommand sent.
The LLC2_GET_STA_STATS command retrieves statistics on a particular Physical Point of Attachment (PPA).
When sending the LLC2_GET_STA_STATS command, the llc2GetStaStats structure is used:
typedef struct llc2GetStaStats { uint_t ppa; uint_t cmd; uchar_t clearFlag; uchar_t state; ushort_t numSaps; uchar_t saps[LLC2_MAX_SAPS]; uint_t nullSapXidCmdRcvd; uint_t nullSapXidRspSent; uint_t nullSapTestCmdRcvd; uint_t nullSapTestRspSent; uint_t outOfState; uint_t allocFail; uint_t protocolError; } llc2GetStaStats_t;
The members of the structure are:
Member | Description |
cmd | LLC2_GET_STA_STATS |
clearFlag |
Clear counters flag. Set this to 0 to retreive statistics and
to 1 to reset all counters to 0.
|
state |
Station component state. Possible values are ?????
|
numSaps |
Number of active SAPs
in the saps array
|
saps | An array of active SAP values |
nullSapXidCmdRcvd |
Number of NULL SAP XID commands received
|
nullSapXidRspSent |
Number of NULL SAP XID responses sent
|
nullSapTestCmdRcvd |
Number of NULL SAP TEST commands received
|
nullSapTestRspSent |
Number of NULL SAP TEST responses sent
|
outOfState | Number of invalid events received |
allocFail |
Number of buffer allocation failures
|
protocolError | Number of protocol errors |
The LLC2_GET_SAP_STATS command retrieves statistics related to a particular SAP. When sending the LLC2_GET_SAP_STATS command, the llc2GetSapStats structure is used:
typedef struct llc2GetSapStats { uint_t ppa; uint_t cmd; uchar_t sap; uchar_t clearFlag; uchar_t state; uint_t numCons; ushort_t cons[LLC2_MAX_CONS]; uint_t xidCmdSent; uint_t xidCmdRcvd; uint_t xidRspSent; uint_t xidRspRcvd; uint_t testCmdSent; uint_t testCmdRcvd; uint_t testRspSent; uint_t testRspRcvd; uint_t uiSent; uint_t uiRcvd; uint_t outOfState; uint_t allocFail; uint_t protocolError; } llc2GetSapStats_t;
The members are:
Member | Description |
ppa | Physical Point of Attachment number |
cmd | LLC2_GET_SAP_STATS |
sap | SAP value |
clearFlag |
Clear counters flag. Set this to 0 to retreive statistics and to 1 to reset all counters to 0.
|
state | SAP component state |
numCons |
Number of active connections in the cons array
|
cons | Array of active connection indexes |
xidCmdSent | Number of XID commands sent |
xidCmdRcvd | Number of XID responses |
received | |
xidRspSent | Number of XID responses sent |
xidRspRcvd | Number of XID responses received |
testCmdSent | Number of TEST commands sent |
testCmdRcvd | Number of TEST commands received |
testRspSent | Number of TEST responses sent |
testRspRcvd | Number of TEST responses received |
uiSent | Number of UI frames sent |
uiRcvd | Number of UI frames received |
outOfState | Number of invalid events received |
allocFail |
Number of buffer allocation failures
|
protocolError | Number of protocol errors |
The LLC2_GET_CON_STATS command retrieves statistics related to a particular connection component. When sending the LLC2_GET_CON_STATS command, the llc2GetConStats structure is used:
typedef struct llc2GetConStats { uint_t ppa; uint_t cmd; uchar_t sap; ushort_t con; uchar_t clearFlag; uchar_t stateOldest; uchar_t stateOlder; uchar_t stateOld; uchar_t state; ushort_t sid; dlsap_t rem; ushort_t flag; uchar_t dataFlag; uchar_t k; uchar_t vs; uchar_t vr; uchar_t nrRcvd; ushort_t retryCount; uint_t numToBeAcked; uint_t numToResend; uint_t macOutSave; uint_t macOutDump; uchar_t timerOn; uint_t iSent; uint_t iRcvd; uint_t frmrSent; uint_t frmrRcvd; uint_t rrSent; uint_t rrRcvd; uint_t rnrSent; uint_t rnrRcvd; uint_t rejSent; uint_t rejRcvd; uint_t sabmeSent; uint_t sabmeRcvd; uint_t uaSent; uint_t uaRcvd; uint_t discSent; uint_t outOfState; uint_t allocFail; uint_t protocolError; uint_t localBusy; uint_t remoteBusy; uint_t maxRetryFail; uint_t ackTimerExp; uint_t pollTimerExp; uint_t rejTimerExp; uint_t remBusyTimerExp; uint_t inactTimerExp; uint_t sendAckTimerExp; } llc2GetConStats_t;
The members of the structure are:
Member | Description |
ppa | Physical Point of Attachment number |
cmd | LLC2_GET_CON_STATS |
sap | SAP value |
con | Connection index |
clearFlag |
Clear counters flag. Set this
to 0 to retreive statistics and to 1 to reset all counters to 0.
|
stateOldest, stateOlder, stateOld, state |
The four previous dlpi states of the connection
|
sid | SAP value and connection index |
dlsap_t rem |
Structure containing the remote MAC address and SAP
|
flag |
Connection component processing flag
|
dataFlag | DATA_FLAG |
k | transmit window size |
vs |
Sequence number of the next I-frame to send
|
vr |
Sequence number of the next I-frame expected
|
nrRcvd |
Sequence number of the last I-frame acknowledged by the remote node
|
retryCount | Number of timer expirations |
numToBeAcked |
Number of outbound I-frames to be acknowledged
|
numToResend |
Number of outbound I-frames to be re-sent
|
macOutSave |
Number of outbound I-frames held by the MAC driver to be saved on return to LLC2
|
macOutDump |
Number of outbound I-frames held by the MAC driver to be dumped on return to LLC2
|
timerOn | Timer activity flag |
iSent | Number of I-frames sent |
iRcvd | Number of I-frames received |
frmrSent | Number of frame rejects sent |
frmrRcvd | Number of frame rejects received |
rrSent | Number of RRs sent |
rrRcvd | Number of RRs received |
rnrRcvd | Number of RNRs received |
rejSent | Number of rejects sent |
rejRcvd | Number of rejects received |
sabmeSent | Number of SABMEs sent |
sabmeRcvd | Number of SABMEs received |
uaSent | Number of UAs sent |
uaRcvd | Number of UAs received |
discSent | Number of DISCs sent |
outOfState | Number of invalid events received |
allocFail |
Number of buffer allocation failures
|
protocolError | Number of protocol errors |
localBusy |
Number of times in a local busy state
|
remoteBusy |
Number of times in a remote busy state
|
maxRetryFail |
Number of failures due to reaching maxRetry
|
ackTimerExp | Number of ack timer expirations |
pollTimerExp | Number of P-timer expirations |
rejTimerExp | Number of reject timer expirations |
remBusyTimerExp |
Number of remote busy timer expirations
|
inactTimerExp |
Number of inactivity timer expirations
|
sendAckTimerExp |
Number of send ack timer expirations
|
/dev/llc2 Clone device used to access the driver /etc/llc2/default/llc2.? configuration files (One file per ppa interface.)
See attributes(5) for a description of the following attribute:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWllc |
llc2_autoconfig(1), llc2_config(1), llc2(4)
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |