[netperf-talk] question about DLPI transfer performance

william William.Zheng at Sun.COM
Fri Aug 4 02:08:50 PDT 2006


[17:08:27]orchar:/ # grep 9 /usr/include/sys/dlpi.h
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
* Refer to document: "STREAMS DLPI Spec", 800-6915-01.
#pragma ident "@(#)dlpi.h 1.45 05/12/09 SMI" /* SVr4.0 1.2 */
#define DL_VERSION_2 0x02 /* version of dlpi March 12, 1991 */
#define DL_UDERROR_IND 0x09 /* datagram error indication */
#define DL_RESET_RES 0x19 /* Complete reset processing */
#define DL_XID_REQ 0x29 /* Request to send an XID PDU */
#define DL_INCON_PENDING 0x09 /* awaiting DL_CONN_RES */
#define DL_DISCON9_PENDING 0x10 /* Waiting ack of DL_DISC_REQ */
#define DL_BADPRIM 0x09 /* Primitive received not known by provider */
#define DL_XIDAUTO 0x19 /* Automatic handling of XID response */
#define DL_100BT 0x19 /* 100 Base T */
#define DL_OTHER 0x09 /* Any other medium not listed above */
#define DL_DISC_PERMANENT_CONDITION 0x0809
#define DL_RESET_FLOW_CONTROL 0x0900
#define DL_RESET_LINK_ERROR 0x0901
#define DL_RESET_RESYNCH 0x0902
#define DL_CMD_UN 0x09 /* Resources temporarily unavailable */
#define DL_RSP_UN 0x90 /* Resources temporarily unavailable */
t_uscalar_t reserved[9]; /* reserved fields */



Rick Jones ÒÑдÈë:

>>Thanks Rick:
>>  As you said, I add a option to specify a different file.
>>  But I got another error:
>>    
>>
>
>Does it show that the DLPI stuff doesn't get much exposure?-)
>
>  
>
>>/usr/local/bin # ./netperf -H 11.0.1.105 -t DLCO_STREAM -- -D /dev/xge
>>DLPI CO STREAM TEST
>>Recv   Send    Send
>>Window Window  Message  Elapsed
>>Size   Size    Size     Time     Throughput
>>frames frames  bytes    secs.    10^6bits/sec
>>
>>put_control: acknowledgement error wanted 6 got 5
>>             dl_error_primitive: 11
>>             dl_errno:           4
>>             dl_unix_errno       22
>>netperf: dl_open: could not send control message, errno = 0
>>netperf: send_dlpi_co_stream: dlpi stream data descriptor: Error 0
>>    
>>
>
>So, falling-back to grepping errno again, we have:
>
>$ grep 22 /usr/include/sys/errno.h
>#define EINVAL          22      /* Invalid argument             */
>
>and expanding that to try to decode the dl_errno:
>
>$ grep 4 /usr/include/sys/dlpi.h
>#define DL_BIND_ACK             0x04    /* Dlsap address bound, */
>#define DL_DISCONNECT_IND       0x14    /* Disconnect indication */
>#define DL_REPLY_REQ            0x24    /* Request a DLSDU from the
>remote */
>#define DL_GET_STATISTICS_REQ   0x34    /* Request to get statistics */
>#define DL_UNATTACHED           0x04    /* PPA not attached */
>
>which suggests an issue with the PPA - I don't recall what netperf
>assumes for the PPA or if it tries to strip it from the device name.  It
>has been a _long_ time :)
>
>  
>
>>/usr/local/bin # ./netperf -H 11.0.1.105 -t DLCO_STREAM -- -D /dev/xge0
>>DLPI CO STREAM TEST
>>Recv   Send    Send
>>Window Window  Message  Elapsed
>>Size   Size    Size     Time     Throughput
>>frames frames  bytes    secs.    10^6bits/sec
>>
>>put_control: acknowledgement error wanted 6 got 5
>>             dl_error_primitive: 11
>>             dl_errno:           9
>>             dl_unix_errno       0
>>netperf: dl_open: could not send control message, errno = 0
>>netperf: send_dlpi_co_stream: dlpi stream data descriptor: Error 0
>>    
>>
>
>So, this one had no unix errno number, but did have a DLPI error number,
>which we can look for in the include file(s):
>
>$ grep 9 /usr/include/sys/dlpi.h
>#define DL_VERSION_2            0x02    /* version of dlpi March 12,1991 */
>#define DL_UDERROR_IND          0x09    /* datagram error indication, */
>#define DL_RESET_RES            0x19    /* Complete reset processing */
>#define DL_XID_REQ      0x29            /* Request to send an XID PDU */
>#define DL_INCON_PENDING        0x09    /* incoming connection, awaiting */
>#define DL_DISCON9_PENDING      0x10    /* Waiting ack of DL_DISC_REQ
>when in */
>#define DL_BADPRIM      0x09    /* Primitive received is not known by DLS */
>#define DL_XIDAUTO      0x19    /* Automatic handling of XID response */
>#define DL_OTHER        0x09    /* Any other medium not listed above */
>#define DL_DISC_PERMANENT_CONDITION             0x0809
>#define DL_RESET_FLOW_CONTROL   0x0900
>#define DL_RESET_LINK_ERROR     0x0901
>#define DL_RESET_RESYNCH        0x0902
>#define DL_CMD_UN       0x09    /* Resources temporarily unavailable */
>#define DL_RSP_UN       0x90    /* Resources temporarily unavailable */
>
>I'm not sure which of those 9's is the applicable one though.  I am
>pretty sure the dl_errno is standardised by DLPI but it wouldn't hurt to
>double-check in the Solaris dlpi.h file.
>
>rick
>  
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.netperf.org/pipermail/netperf-talk/attachments/20060804/5a6e5d17/attachment.htm


More information about the netperf-talk mailing list