DNET WTCP Stack Selection API

1.0 References

[1] Software Architecture Document, Version 1.1 Revision 1.4, LiMo Foundation, 11 September 2007

2.0 Overview

This API is for selecting between TCP/WTCP stacks in a dual stack system (if supported).

3.0 Industry Standard

IETF RFC 3481, "TCP over Second (2.5G) and Third (3G) Generation Wireless Networks", http://www.ietf.org/rfc/rfc3481.txt

4.0 External API Documents

http://manpages.courier-mta.org/htmlman2/getsockopt.2.html

5.0 Plug-in Extension Point Interface

None

6.0 Other Interfaces

None

7.0 Other Notes

The API for selecting the stack is the standard Linux kernel setsockopt API with the LiMo defined option SO_WTCP.
         int setsockopt(int s , int level , int optname , const void * optval , socklen_t optlen );
optname = SO_WTCP Valid optvals are: optval = 0 for standard TCP optval = 1 for WTCP

Errors: If an implementation does not support WTCP at all, ENOPROTOOPT error will be returned as per normal setsockopt API. If an invalid option value is used, EINVAL error is returned as per normal setsockopt API.

If a LiMo platform does not support WTCP stack selection, which is a vendor choice, then this API will return ENOPROTOOPT.

The SO_WTCP definition (vendor specific) has to be resolved. It is the vendor's responsibility to ensure that SO_WTCP is defined and does not clash with another option.
Ex.1: Specify the kernel header file in the environment you used to build the kernel with -I compile option.

    #gcc .... -Ikernel_source_top/include ....
Ex.2: Specify the value for SO_WTCP directly with -D compile option.
    #gcc .... -DSO_WTCP=40 ....

Generated on Mon Mar 31 01:01:00 2008 by  doxygen 1.5.4