HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1998 Details

Help 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:

     

    Back   


Contact the Certification Authority