aboutsummaryrefslogtreecommitdiffstats
path: root/doc/p2p_sm.dot
diff options
context:
space:
mode:
authorJouni Malinen <jouni.malinen@atheros.com>2010-07-18 21:30:26 (GMT)
committerJouni Malinen <j@w1.fi>2012-05-03 15:08:23 (GMT)
commitf765701faf05c1773a44865728e74cd60c6cde18 (patch)
tree77cc027b20efb53763a042cc4c288df388b5c6d2 /doc/p2p_sm.dot
parentf2e03085d7f49f9455b25b2b9b0c628bd88e9606 (diff)
downloadhostap-f765701faf05c1773a44865728e74cd60c6cde18.zip
hostap-f765701faf05c1773a44865728e74cd60c6cde18.tar.gz
hostap-f765701faf05c1773a44865728e74cd60c6cde18.tar.bz2
P2P: Add P2P information for Doxygen docs
Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'doc/p2p_sm.dot')
-rw-r--r--doc/p2p_sm.dot62
1 files changed, 62 insertions, 0 deletions
diff --git a/doc/p2p_sm.dot b/doc/p2p_sm.dot
new file mode 100644
index 0000000..640caef
--- /dev/null
+++ b/doc/p2p_sm.dot
@@ -0,0 +1,62 @@
+digraph p2p {
+ ranksep=.75;
+ size = "8.5,7.5";
+
+ start -> IDLE;
+ start [label="Init",shape=none];
+
+ /* Discovery: Scan followed by Find(SEARCH,LISTEN) */
+ subgraph cluster_0 {
+ label="Discovery";
+ color=lightgrey;
+ node [color=blue];
+ /* SCAN and LISTEN currently not used in the implementation */
+ SCAN [style=dotted];
+ LISTEN [style=dotted];
+
+ SCAN -> LISTEN;
+ LISTEN -> SEARCH -> LISTEN [style=dotted];
+ SEARCH -> SD_DURING_FIND [label="Peer SD capab\nand no info", weight=100];
+ SD_DURING_FIND -> SEARCH [label="RX SD Resp\nor timeout", weight=100];
+ SEARCH -> PROV_DISC_DURING_FIND [label="Prov Disc cmd\nand no Resp", weight=100];
+ PROV_DISC_DURING_FIND -> SEARCH [label="RX Prov Disc Resp\nor timeout", weight=100];
+ }
+
+ /* Group Formation */
+ subgraph cluster_1 {
+ label="Group Formation";
+ color=lightgrey;
+ node [color=green];
+
+ CONNECT -> CONNECT_LISTEN [style=dotted,weight=100];
+ CONNECT_LISTEN -> CONNECT [style=dotted,weight=100];
+ CONNECT -> WAIT_PEER_IDLE [label="RX GO Neg Resp\n(info unavail)"];
+ WAIT_PEER_IDLE -> WAIT_PEER_CONNECT [style=dotted,weight=100];
+ WAIT_PEER_CONNECT -> WAIT_PEER_IDLE [style=dotted,weight=100];
+
+ CONNECT -> GO_NEG [label="RX GO Neg Resp\n(success)", weight=10];
+ CONNECT_LISTEN -> GO_NEG [label="RX GO Neg Req or\nTX GO Neg Resp"];
+ WAIT_PEER_CONNECT -> GO_NEG [label="RX GO Neg Req"];
+ GO_NEG -> PROVISIONING [label="TX/RX GO Neg Conf"];
+ }
+
+ PROVISIONING -> IDLE [label="WPS\nsuccess"];
+
+ /* External triggers */
+ IDLE -> SCAN [label="Find cmd",weight=20];
+ IDLE -> CONNECT [label="Connect cmd",weight=20];
+ IDLE -> LISTEN_ONLY [label="Listen cmd"];
+
+ /* Timeouts */
+/*
+ edge [color=red];
+ WAIT_PEER_IDLE -> IDLE [label="timeout", weight=0];
+ WAIT_PEER_CONNECT -> IDLE [label="timeout", weight=0];
+ CONNECT -> IDLE [label="timeout", weight=0];
+ CONNECT_LISTEN -> IDLE [label="timeout", weight=0];
+ GO_NEG -> IDLE [label="timeout", weight=0];
+ PROVISIONING -> IDLE [label="timeout", weight=0];
+ LISTEN_ONLY -> IDLE [label="timeout", weight=0];
+ SEARCH -> IDLE [label="timeout", weight=0];
+*/
+}