Commit 4d443a085de2b6bcae5e0a773c63b8731ff27101
Committed by
David S. Miller
1 parent
2ddaad397c
Exists in
master
and in
7 other branches
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>
Showing 1 changed file with 53 additions and 0 deletions Side-by-side Diff
Documentation/networking/phonet.txt
... | ... | @@ -182,6 +182,59 @@ |
182 | 182 | or zero if encapsulation is off. |
183 | 183 | |
184 | 184 | |
185 | +Phonet Pipe-controller Implementation | |
186 | +------------------------------------- | |
187 | + | |
188 | +Phonet Pipe-controller is enabled by selecting the CONFIG_PHONET_PIPECTRLR Kconfig | |
189 | +option. It is useful when communicating with those Nokia Modems which do not | |
190 | +implement Pipe controller in them e.g. Nokia Slim Modem used in ST-Ericsson | |
191 | +U8500 platform. | |
192 | + | |
193 | +The implementation is based on the Data Connection Establishment Sequence | |
194 | +depicted in 'Nokia Wireless Modem API - Wireless_modem_user_guide.pdf' | |
195 | +document. | |
196 | + | |
197 | +It allows a phonet sequenced socket (host-pep) to initiate a Pipe connection | |
198 | +between itself and a remote pipe-end point (e.g. modem). | |
199 | + | |
200 | +The 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 | + | |
235 | +After a pipe has been created and enabled successfully, the Pipe data can be | |
236 | +exchanged between the host-pep and remote-pep (modem). | |
237 | + | |
185 | 238 | Authors |
186 | 239 | ------- |
187 | 240 |