40 lines
1.5 KiB
Plaintext
40 lines
1.5 KiB
Plaintext
digraph G {
|
|
rankdir=TB
|
|
labelloc=t; label="PFCP CP peer FSM\nControl Plane side, managing association with remote UP peer"
|
|
|
|
cp [label="CP function",shape="box"]
|
|
|
|
cp -> WAIT_ASSOC_SETUP_RESP [label="cp_peer_associate()"]
|
|
|
|
txrx [label="PFCP socket",shape="box"]
|
|
WAIT_ASSOC_SETUP_RESP -> txrx [label="tx_assoc_setup_req()",style=dotted]
|
|
txrx -> WAIT_ASSOC_SETUP_RESP [label="EV_RX_ASSOC_SETUP_RESP",style=dotted]
|
|
WAIT_ASSOC_SETUP_RESP -> ASSOCIATED [label="Assoc Setup Resp"]
|
|
|
|
WAIT_ASSOC_SETUP_RESP -> WAIT_ASSOC_SETUP_RESP [label="retry"]
|
|
|
|
heartbeat [label="PFCP heartbeat FSM",shape=box3d]
|
|
ASSOCIATED -> heartbeat [label="alloc()",style=dotted]
|
|
heartbeat -> ASSOCIATED [label="EV_HEARTBEAT_FAILURE",style=dotted]
|
|
|
|
txrx2 [label="PFCP socket",shape="box"]
|
|
txrx2 -> ASSOCIATED [label="EV_RX_ASSOC_UPDATE_REQ\n3GPP TS 29.244 6.2.7.3.1",style=dotted]
|
|
GRACEFUL_RELEASE -> txrx2 [label="tx_assoc_update_resp()",style=dotted]
|
|
|
|
cp_session [label="PFCP CP session FSM",shape=box3d]
|
|
cp -> ASSOCIATED [label="cp_peer_session_create()",style=dotted]
|
|
ASSOCIATED -> cp_session [label="cp_session_create()",style=dotted]
|
|
cp -> cp_session [style=invisible,arrowhead=none]
|
|
|
|
ASSOCIATED -> GRACEFUL_RELEASE [label="Association Update\nindicating graceful release"]
|
|
|
|
cp -> ASSOCIATED [label="cp_peer_release()",style=dotted]
|
|
ASSOCIATED -> term [label="cp_peer_release()\nHeartbeat failure"]
|
|
|
|
ASSOCIATED -> WAIT_ASSOC_SETUP_RESP [label="Heartbeat failure"]
|
|
|
|
GRACEFUL_RELEASE -> term
|
|
term [shape="octagon"]
|
|
|
|
}
|