diff options
Diffstat (limited to 'doc/charts/pfcp_cp_session_fsm.dot')
-rw-r--r-- | doc/charts/pfcp_cp_session_fsm.dot | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/doc/charts/pfcp_cp_session_fsm.dot b/doc/charts/pfcp_cp_session_fsm.dot new file mode 100644 index 0000000..0319608 --- /dev/null +++ b/doc/charts/pfcp_cp_session_fsm.dot @@ -0,0 +1,28 @@ +digraph G { +rankdir=TB +labelloc=t; label="PFCP CP session FSM" + +cp [label="CP function",shape=box] +cp -> WAIT_ESTABLISHMENT_RESP [label="cp_session_create(cp_peer)\niff cp_peer in state ASSOCIATED"] + +txrx [label="PFCP socket",shape=box] + +WAIT_ESTABLISHMENT_RESP -> txrx [label="tx_session_est_req()",style=dotted] +txrx -> WAIT_ESTABLISHMENT_RESP [label="EV_RX_SESSION_EST_RESP",style=dotted] + +WAIT_ESTABLISHMENT_RESP -> ESTABLISHED [label="Est Resp"] + +cp -> ESTABLISHED [label="cp_session_modify()",style=dotted] +ESTABLISHED -> WAIT_MODIFICATION_RESP [label="cp_session_modify()"] +WAIT_MODIFICATION_RESP -> txrx [label="tx_session_mod_req()",style=dotted] +txrx -> WAIT_MODIFICATION_RESP [label="EV_RX_SESSION_MOD_RESP",style=dotted,constraint=false] +WAIT_MODIFICATION_RESP -> ESTABLISHED [label="Mod Resp"] + +cp -> ESTABLISHED [label="cp_session_delete()",style=dotted] +ESTABLISHED -> WAIT_DELETION_RESP [label="cp_session_delete()"] +WAIT_DELETION_RESP -> txrx [label="tx_session_del_req()",style=dotted] +txrx -> WAIT_DELETION_RESP [label="EV_RX_SESSION_DEL_RESP",style=dotted,constraint=false] +WAIT_DELETION_RESP -> term +term [shape="octagon"] + +} |