aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorKumar Sanghvi <kumar.sanghvi@stericsson.com>2010-09-27 15:35:06 -0400
committerDavid S. Miller <davem@davemloft.net>2010-09-28 02:30:50 -0400
commit4d443a085de2b6bcae5e0a773c63b8731ff27101 (patch)
treee52896525e2af935ed2f433e348c02575487beb5 /Documentation
parent2ddaad397c47de012dfb956b0c05540da1a0dde5 (diff)
Documentation: Update Phonet doc for Pipe Controller implementation
Updates the Phonet document with description related to Pipe controller implementation Signed-off-by: Kumar Sanghvi <kumar.sanghvi@stericsson.com> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/networking/phonet.txt53
1 files changed, 53 insertions, 0 deletions
diff --git a/Documentation/networking/phonet.txt b/Documentation/networking/phonet.txt
index cf76608a2d35..cccf5ff07ec2 100644
--- a/Documentation/networking/phonet.txt
+++ b/Documentation/networking/phonet.txt
@@ -182,6 +182,59 @@ The pipe protocol provides two socket options at the SOL_PNPIPE level:
182 or zero if encapsulation is off. 182 or zero if encapsulation is off.
183 183
184 184
185Phonet Pipe-controller Implementation
186-------------------------------------
187
188Phonet Pipe-controller is enabled by selecting the CONFIG_PHONET_PIPECTRLR Kconfig
189option. It is useful when communicating with those Nokia Modems which do not
190implement Pipe controller in them e.g. Nokia Slim Modem used in ST-Ericsson
191U8500 platform.
192
193The implementation is based on the Data Connection Establishment Sequence
194depicted in 'Nokia Wireless Modem API - Wireless_modem_user_guide.pdf'
195document.
196
197It allows a phonet sequenced socket (host-pep) to initiate a Pipe connection
198between itself and a remote pipe-end point (e.g. modem).
199
200The implementation adds socket options at SOL_PNPIPE level:
201
202 PNPIPE_CREATE
203 It accepts an integer argument where-in
204 lower order 16 bits: pn_dev and pn_port pair for remote pep.
205 higher order 16 bits: 8 bit pipe-handle
206
207 It sends a PNS_PEP_CONNECT_REQ on sequenced socket itself. On getting
208 PNS_PEP_CONNECT_RESP, it sends PNS_PEP_CONNECT_REQ to remote pep. On
209 getting response from remote pep, it selects the best possible Flow
210 control mechanism supported by remote-pep (modem) and then it sends
211 PNS_PEP_CREATED_IND to the sequenced socket and to the remote pep.
212
213 It then updates the pipe state associated with the sequenced socket to
214 be PIPE_DISABLED.
215
216 PNPIPE_ENABLE
217 It follows the same sequence as above for enabling a pipe by sending
218 PNS_PEP_ENABLE_REQ initially and then sending PNS_PEP_ENABLED_IND after
219 getting responses from sequenced socket and remote-pep.
220 It will also update the pipe state associated with the sequenced socket
221 to PIPE_ENABLED.
222
223 PNPIPE_DESTROY
224 This will send out PNS_PEP_DISCONNECT_REQ on the sequenced socket and
225 the remote pep.
226 It will also update the pipe state associated with the sequenced socket
227 to PIPE_IDLE
228
229 PNPIPE_INQ
230 This getsocktopt allows the user-space running on the sequenced socket
231 to examine the pipe state associated with that socket ie. whether the
232 pipe is created (PIPE_DISABLED) or enabled (PIPE_ENABLED) or disabled
233 (PIPE_DISABLED) or no pipe exists (PIPE_IDLE).
234
235After a pipe has been created and enabled successfully, the Pipe data can be
236exchanged between the host-pep and remote-pep (modem).
237
185Authors 238Authors
186------- 239-------
187 240