KSSL internals » KSSL connection handling
en

KSSL connection handling

Connection handling

 When a socket is created src/uts/common/fs/sockfs/socktpi.c:sotpi_create() is called which initializes kssl related parts of the socket structure (struct sonode) with KSSL_NO_PROXY and NULLs.

 Then when an application calls bind() syscall it will get to src/uts/common/fs/sockfs/socktpi.c:sotpi_bind() which will call sotpi_bindlisten(). The bind request is inspected and checked via src/uts/common/inet/kssl/ksslapi.c:kssl_check_proxy() to see if it matches configuration of some kssl proxy instance. (by looking into kssl_entry_tab array)

 This is why it is crucial to start the application sending/receiving data to/from kssl proxy after kssl proxy is initialized.

 Then when the application finally issues an accept() syscall it will end up in src/uts/common/fs/sockfs/socktpi.c:sotpi_accept() where hooks strsock_kssl_input, strsock_kssl_output are added to the STREAM head. The purpose of the hooks is explained below.

Accepting a connection

 TBD

Tags:
Created by admin on 2009/10/26 12:15
Last modified by admin on 2009/10/26 12:15

Collectives


XWiki Enterprise 2.7.1.34853 - Documentation