|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1998 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1998.
Report 1998 Actions
Problem Report Number 1998 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0584 Raised 1996-08-02 08:00 Updated 2003-03-13 08:00 Published null Product Standard Transport Service XTI Certification Program The Open Brand certification program Test Suite VST version 4.1.4 Test Identification XTI.os/common/bind 6,12,13 and XTI.os/cots/connect 25 Problem Summary PGT4R.013 These tests verifiy that the behavior of multiple t_bind() to the same local address depend on the value of bind->qlen. Because nobody can specify destination for connect-indication, it is proper that... Problem Text
These tests verifiy that the behavior of multiple t_bind() to the same
local address depend on the value of bind->qlen. Because nobody can
specify destination for connect-indication, it is proper that t_bind()
with bind->qlen>0 sets t_errno to TADDRBUSY.
However, we can't understand the advantage of multiple t_bind() with
bind->qlen==0 to the same local address have.
Incidentally, the behavior of t_bind() cause FAILED status of connect 25.Test Output
************************************************************************
/tset/XTI.os/common/bind/T.bind 6 Failed
Test Description:
If the implementation supports a connection-oriented transport service
which supports binding more than one transport endpoint to the same
address:
When fd refers to a connection-mode service, and req->addr
specifies an address which has already been assigned to one or
more transport endpoints, then a successful call to t_bind( fd,
req, ret ) assigns the address specified by req->addr to the
transport endpoint specified by fd.
Testing Requirement(s):
Test for req->qlen equal to zero and greater than zero.
Test Strategy:
VERIFY that the transport service is of type T_COTS or T_COTS_ORD and
supports binding more than one endpoint to the same address
REPEAT for qlen1 == 0 and qlen1 == 1 :
OBTAIN first endpoint in T_UNBND state using provsetup()
OBTAIN an address using getaddr()
BIND first endpoint to the address using t_bind() with qlen ==
qlen1
VERIFY that t_bind() returned zero
OPEN second endpoint using t_open()
INITIALISE the endpoint using u_provinit()
BIND second endpoint to the address using t_bind() with qlen == 0
VERIFY that t_bind() returned zero
VERIFY that the addresses entered in ret->addr by the two t_bind()
calls are the same
Test Information:
TCP protocol addresses are not an exact match
expected: len 16, buf <00022716 85d00b99 00000000 00000000>
observed: len 16, buf <0002049a 85d00b99 00000000 00000000>
TCP protocol addresses are not an exact match
expected: len 16, buf <00022716 85d00b99 00000000 00000000>
observed: len 16, buf <0002049b 85d00b99 00000000 00000000>
************************************************************************
************************************************************************
/tset/XTI.os/common/bind/T.bind 12 Failed
Test Description:
If the implementation supports a connection-oriented transport service
which supports binding more than one transport endpoint to the same
address:
When fd refers to a connection-mode service, and req->qlen is
greater than zero, and req->addr specifies an address which has
already been assigned to another transport endpoint with a qlen
greater than zero, then a call to t_bind( fd, req, ret ) returns
(int)-1, sets t_errno to TADDRBUSY, and the state of the endpoint
is not changed.
Test Strategy:
VERIFY that the transport service is of type T_COTS or T_COTS_ORD and
supports binding more than one endpoint to the same address
OBTAIN first endpoint in T_IDLE state using provsetup() with qlen 1
OPEN second endpoint using t_open()
INITIALISE second endpoint using u_provinit()
BIND second endpoint to the same address using t_bind() with qlen 1
VERIFY that t_bind() returned -1 and set t_errno to TADDRBUSY
VERIFY that the second endpoint state has not changed
Test Information:
t_bind() on TCP endpoint
RETURN VALUES: expected: -1, observed: 0
TERRNO VALUES: expected: 23 (TADDRBUSY), observed: 0 (NO ERROR)
************************************************************************
************************************************************************
/tset/XTI.os/common/bind/T.bind 13 Failed
Test Description:
If the implementation supports a connectionless transport service:
When fd refers to a connectionless-mode service, and req->addr
specifies an address which has already been assigned to another
transport endpoint, then a call to t_bind( fd, req, ret ) returns
(int)-1, sets t_errno to TADDRBUSY, and the state of the endpoint
is not changed.
Test Strategy:
VERIFY that the transport service is of type T_CLTS
OBTAIN first endpoint in T_IDLE state using provsetup()
OPEN second endpoint using t_open()
INITIALISE second endpoint using u_provinit()
BIND second endpoint to the same address using t_bind()
VERIFY that t_bind() returned -1 and set t_errno to TADDRBUSY
VERIFY that the second endpoint state has not changed
Test Information:
t_bind() on UDP endpoint
RETURN VALUES: expected: -1, observed: 0
TERRNO VALUES: expected: 23 (TADDRBUSY), observed: 0 (NO ERROR)
************************************************************************
************************************************************************
/tset/XTI.os/cots/connect/T.connect 25 Failed
Test Description:
If the implementation supports a connection-oriented transport service
which supports multiple binds to the same local address but does not
support multiple connections with the same local and remote addresses:
When a connection already exists, then t_connect() returns (int)-
1, sets t_errno to TADDRBUSY, and the state of the endpoint is not
changed.
Test Strategy:
VERIFY that the transport service is of type T_COTS or T_COTS_ORD and
has the required features
OBTAIN an endpoint in T_DATAXFER state using provsetup()
OPEN a second endpoint using t_open()
INITIALISE second endpoint using u_provinit()
BIND the second endpoint to the same address as the first, using
t_bind()
INITIATE a connection on second endpoint using t_connect() with same
slave address as existing connection
VERIFY that t_connect() returned -1 and set t_errno to TADDRBUSY
VERIFY that the endpoint state is as expected
Test Information:
t_connect() on TCP endpoint
TERRNO VALUES: expected: 23 (TADDRBUSY), observed: 9 (TLOOK)
event indicated by t_look(): T_DISCONNECT
For TCP endpoint
STATE VALUES: expected: 2 (T_IDLE), observed: 3 (T_OUTCON)
************************************************************************Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
The XTI specification requires that when an address is specified in
req->addr the t_bind() function must either bind the endpoint to
the specified address or return an error. The behaviour exhibited in the
results above, where the endpoint is bound to a different address if the
requested address is not available, is not permitted by the specification.
It is recommended that this request be refused.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Rejected (REJ) Review Conclusion
This request is refused.
Problem Reporting System Options:
- View Report 1998
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority