aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Janosch Hofmeyr <nhofmeyr@sysmocom.de>2022-08-25 01:06:33 +0200
committerNeels Janosch Hofmeyr <nhofmeyr@sysmocom.de>2023-02-24 19:06:53 +0100
commit471c9ae1c96bd699e4ce92747429c28cf92d6933 (patch)
tree39fa5312a5b5630ad32f9306be19c7cddad404cd
parenta2a8f56513e403762f3ed5b5d4dc98183dc06a2f (diff)
ladder chartsneels/ladder
-rw-r--r--doc/charts/Makefile.am4
-rw-r--r--doc/charts/pfcp_msgs.ladder73
-rw-r--r--doc/charts/pfcp_msgs_gtp.ladder142
3 files changed, 219 insertions, 0 deletions
diff --git a/doc/charts/Makefile.am b/doc/charts/Makefile.am
index af0736d..99b35f5 100644
--- a/doc/charts/Makefile.am
+++ b/doc/charts/Makefile.am
@@ -19,6 +19,10 @@ $(builddir)/%.png: $(srcdir)/%.msc
$(builddir)/%.png: $(srcdir)/%.dot
dot -Tpng $< > $@
+$(srcdir)/%.msc: $(srcdir)/%.ladder
+ @which ladder_to_msc.py || (echo 'PLEASE POINT YOUR $$PATH AT libosmocore/contrib/ladder_to_msc.py' && false)
+ ladder_to_msc.py -i $< -o $@
+
.PHONY: poll
poll:
while true; do $(MAKE) msc dot; sleep 1; done
diff --git a/doc/charts/pfcp_msgs.ladder b/doc/charts/pfcp_msgs.ladder
new file mode 100644
index 0000000..21c23a4
--- /dev/null
+++ b/doc/charts/pfcp_msgs.ladder
@@ -0,0 +1,73 @@
+{hscale=1}
+upf = User Plane function
+cpf = Control Plane function
+
+cpf () . Look up UPF,
+ pick any one of the available
+ IP addrs for the UPF
+
+...
+upf <> cpf not yet associated
+upf () cpf reject any session related msgs
+...
+
+upf < cpf PFCP Association Setup Request
+ CP function Node Id, features
+upf > cpf PFCP Association Setup Response
+ UP function Node Id, features
+upf <> cpf associated
+upf () cpf start Heartbeat checking
+...
+upf < cpf Heartbeat Request
+upf > cpf Heartbeat Response
+...
+upf > cpf Heartbeat Request
+upf < cpf Heartbeat Response
+...
+
+upf < cpf Session Establishment Request
+ CP Node-Id
+ CP F-SEID
+ 1+ Packet Detection Rule(s)
+ 1+ Forward Action Rule(s)
+upf > cpf Session Establishment Response
+
+upf < cpf Session Modification Request
+upf > cpf Session Modification Response
+
+upf < cpf Session Deletion Request
+upf > cpf Session Deletion Response
+
+...
+upf () cpf F-SEID: accept any other IP addrs than peer's Node Id
+...
+
+--- Graceful release initiated by CP
+
+upf < cpf Association Update Request
+ with PFCP Association Release Preparation Start = 1
+upf > cpf Association Update Response
+upf > cpf Session Report Request
+ to report non-zero usage reports,
+ at least one message per PFCP Session
+upf < cpf Association Release Request
+upf > cpf Association Release Response
+
+--- Graceful release initiated by UP
+
+upf > cpf Association Update Request
+ with PFCP Association Release Preparation = 1
+cpf <> . refrain from establishing sessions
+upf < cpf Association Update Response
+upf < cpf Session Deletion Request(s)
+ to collect usage reports
+ per session
+upf > cpf Session Deletion Response(s)
+cpf () . wait Graceful Release Period
+upf < cpf Association Release Request
+upf > cpf Association Release Response
+
+--- Release (immediate)
+
+upf < cpf Association Release Request
+upf > cpf Association Release Response
diff --git a/doc/charts/pfcp_msgs_gtp.ladder b/doc/charts/pfcp_msgs_gtp.ladder
new file mode 100644
index 0000000..b73fb51
--- /dev/null
+++ b/doc/charts/pfcp_msgs_gtp.ladder
@@ -0,0 +1,142 @@
+{hscale=1}
+sgsn = SGSN
+ 123.44.0.9
+sgwc = SGW-C
+ 123.44.0.5
+sgwu = SGW-U
+ 123.44.0.6
+pgwc = PGW-C
+ 123.44.0.7
+pgwu = PGW-U
+ 123.44.0.8
+
+sgsn <-> sgwc S4-C GTPv2-C
+sgwc <-> sgwu Sxa PFCP
+sgsn <-> sgwu S4-U GTPv1-U
+sgwc <-> pgwc S5-C GTPv2-C
+pgwc <-> pgwu Sxb PFCP
+sgwu <-> pgwu S5-U GTPv1-U
+
+...
+
+sgsn -> sgwc GTP Create Session Request
+sgsn [] sgwc F-TEID S11 = 123.44.0.9,0x004
+ F-TEID S5 = 123.44.0.7,0x000
+ PDN addr alloc = IPv4 192.168.100.2
+
+|||
+|||
+
+sgwc -> sgwu PFCP Session Establishment Request
+sgwc [] sgwu 2x Create PDR
+ F-TEID = CHOOSE
+ FAR = NOCP,BUFF
+
+|||
+|||
+
+sgwc <- sgwu PFCP Session Establishment Response
+sgwc [] sgwu Created PDR F-TEID 123.44.0.6,0x015
+ Created PDR F-TEID 123.44.0.6,0x016
+
+|||
+|||
+
+sgwc -> pgwc GTP Create Session Request
+sgwc [] pgwc F-TEID S5 = 123.44.0.5,0x00b
+ PDN addr alloc = IPv4 192.168.100.2
+ Bearer Ctx: F-TEID S5 = 123.44.0.6,0x015
+
+|||
+|||
+
+pgwc -> pgwu PFCP Session Establishment Request
+pgwc [] pgwu Create PDR 1:
+ PDI: src-iface Core, UE IPv4 192.168.100.2
+ FAR-1: FORW, dst-iface Access,
+ hdr creation: GTP-U 123.44.0.6,0x015
+
+ Create PDR 2:
+ PDI: src-iface Access, F-TEID = CHOOSE id:05
+ hdr removal: GTP-U
+ FAR-2: FORW, dst-iface Core
+
+ Create PDR 3:
+ PDI: src-iface CP-function, F-TEID = CHOOSE
+ hdr removal: GTP-U
+ FAR-1
+
+ Create PDR 4:
+ PDI: src-iface Access, F-TEID = CHOOSE id:05, SDF Filter
+ hdr removal: GTP-U
+ FAR-3: FORW, dst-iface CP-Function,
+ hdr creation: GTP-U 123.44.0.7,0x00b
+
+|||
+
+pgwc <- pgwu PFCP Session Establishment Response
+pgwc [] pgwu Created PDR-1
+ Created PDR-2: F-TEID = 123.44.0.8,0x01e
+ Created PDR-3: F-TEID = 123.44.0.8,0x01f
+ Created PDR-4: F-TEID = 123.44.0.8,0x01e
+
+|||
+|||
+
+sgwc <- pgwc GTP Create Session Response
+sgwc [] pgwc TEID: 0x00b
+ F-TEID: 123.44.0.7,0x00b
+ PDN Addr: 192.168.100.2
+ Bearer Ctx: F-TEID S5 123.44.0.8,0x01e
+
+|||
+|||
+
+sgwc -> sgwu PFCP Session Modification Request
+sgwc [] sgwu Update FAR-2: FORW, dst-iface Core,
+ hdr creation GTP-U 123.44.0.8,0x01e
+
+|||
+
+sgwc <- sgwu PFCP Session Modification Response
+
+|||
+|||
+
+sgsn <- sgwc GTP Create Session Response
+sgsn [] sgwc TEID: 0x004
+ F-TEID S11/S4: 123.44.0.5,0x007
+ F-TEID S5/S8: 123.44.0.7,0x00b
+ PDN Addr: 192.168.100.2
+ Bearer Ctx:
+ F-TEID S1-U: 123.44.0.6,0x016
+ F-TEID S5/S8: 123.44.0.8,0x01e
+
+|||
+|||
+
+sgsn -> sgwc GTP Modify Bearer Request
+sgsn [] sgwc TEID: 0x007
+ Bearer Ctx:
+ F-TEID S1-U: 192.168.104.167,0x32adb2ad
+
+|||
+|||
+
+sgwc -> sgwu PFCP Session Modification Request
+sgwc [] sgwu Update FAR-1: FORW, dst-iface Access,
+ hdr creation: GTP-U 192.168.104.167,0x32adb2ad
+
+|||
+|||
+
+
+sgwc <- sgwu PFCP Session Modification Response
+
+|||
+
+sgsn <- sgwc GTP Modify Bearer Response
+sgsn [] sgwc TEID: 0x004
+ Bearer Ctx:
+ F-TEID S1-U: 192.168.104.167,0x32adb2ad
+