aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Janosch Hofmeyr <nhofmeyr@sysmocom.de>2022-11-21 12:36:52 +0100
committerNeels Janosch Hofmeyr <nhofmeyr@sysmocom.de>2023-02-11 06:07:19 +0100
commitabf1d43e5e3eac3a530e121d5e9787807cb5b324 (patch)
tree903fb8015bd5cb00d4bca9553d8430d26dd427bc
parentc518e3fa0678d1d233645b3913032e56c67481b1 (diff)
add doc/charts/pfcp_msgs*.msc
(I used these while implementing libosmo-pfcp and osmo-upf, but never submitted them.) Change-Id: I8d2343224d02d728e2eee2090ee2d4c6bec79e78
-rw-r--r--doc/charts/pfcp_msgs.msc60
-rw-r--r--doc/charts/pfcp_msgs_gtp.msc91
2 files changed, 151 insertions, 0 deletions
diff --git a/doc/charts/pfcp_msgs.msc b/doc/charts/pfcp_msgs.msc
new file mode 100644
index 0000000..afcca18
--- /dev/null
+++ b/doc/charts/pfcp_msgs.msc
@@ -0,0 +1,60 @@
+msc {
+ hscale="1";
+ upf[label="User Plane function"],cpf[label="Control Plane function"];
+
+ cpf rbox cpf [label="Look up UPF,\npick any one of the available\nIP addrs for the UPF"];
+
+ ...;
+ upf abox cpf [label="not yet associated"];
+ upf rbox cpf [label="reject any session related msgs"];
+ ...;
+
+ upf <<= cpf [label="PFCP Association Setup Request\nCP function Node Id, features"];
+ upf =>> cpf [label="PFCP Association Setup Response\nUP function Node Id, features"];
+ upf abox cpf [label="associated"];
+ upf rbox cpf [label="start Heartbeat checking"];
+ ...;
+ upf <<= cpf [label="Heartbeat Request"];
+ upf =>> cpf [label="Heartbeat Response"];
+ ...;
+ upf =>> cpf [label="Heartbeat Request"];
+ upf <<= cpf [label="Heartbeat Response"];
+ ...;
+
+ upf <<= cpf [label="Session Establishment Request\nCP Node-Id\nCP F-SEID\n1+ Packet Detection Rule(s)\n1+ Forward Action Rule(s)"];
+ upf =>> cpf [label="Session Establishment Response"];
+
+ upf <<= cpf [label="Session Modification Request"];
+ upf =>> cpf [label="Session Modification Response"];
+
+ upf <<= cpf [label="Session Deletion Request"];
+ upf =>> cpf [label="Session Deletion Response"];
+
+ ...;
+ upf rbox cpf [label="F-SEID: accept any other IP addrs than peer's Node Id"];
+ ...;
+
+ --- [label="Graceful release initiated by CP"];
+
+ upf <<= cpf [label="Association Update Request\nwith PFCP Association Release Preparation Start = 1"];
+ upf =>> cpf [label="Association Update Response"];
+ upf =>> cpf [label="Session Report Request\nto report non-zero usage reports,\nat least one message per PFCP Session"];
+ upf <<= cpf [label="Association Release Request"];
+ upf =>> cpf [label="Association Release Response"];
+
+ --- [label="Graceful release initiated by UP"];
+
+ upf =>> cpf [label="Association Update Request\nwith PFCP Association Release Preparation = 1"];
+ cpf abox cpf [label="refrain from establishing sessions"];
+ upf <<= cpf [label="Association Update Response"];
+ upf <<= cpf [label="Session Deletion Request(s)\nto collect usage reports\nper session"];
+ upf =>> cpf [label="Session Deletion Response(s)"];
+ cpf rbox cpf [label="wait Graceful Release Period"];
+ upf <<= cpf [label="Association Release Request"];
+ upf =>> cpf [label="Association Release Response"];
+
+ --- [label="Release (immediate)"];
+
+ upf <<= cpf [label="Association Release Request"];
+ upf =>> cpf [label="Association Release Response"];
+}
diff --git a/doc/charts/pfcp_msgs_gtp.msc b/doc/charts/pfcp_msgs_gtp.msc
new file mode 100644
index 0000000..f59412c
--- /dev/null
+++ b/doc/charts/pfcp_msgs_gtp.msc
@@ -0,0 +1,91 @@
+msc {
+ hscale="1";
+ sgsn[label="SGSN\n123.44.0.9"],sgwc[label="SGW-C\n123.44.0.5"],sgwu[label="SGW-U\n123.44.0.6"],pgwc[label="PGW-C\n123.44.0.7"],pgwu[label="PGW-U\n123.44.0.8"];
+
+ sgsn <=> sgwc [label="S4-C GTPv2-C"];
+ sgwc <=> sgwu [label="Sxa PFCP"];
+ sgsn <=> sgwu [label="S4-U GTPv1-U"];
+ sgwc <=> pgwc [label="S5-C GTPv2-C"];
+ pgwc <=> pgwu [label="Sxb PFCP"];
+ sgwu <=> pgwu [label="S5-U GTPv1-U"];
+
+ ...;
+
+ sgsn => sgwc [label="GTP Create Session Request"];
+ sgsn note sgwc [label="F-TEID S11 = 123.44.0.9,0x004\nF-TEID S5 = 123.44.0.7,0x000\nPDN addr alloc = IPv4 192.168.100.2"];
+
+ |||;
+ |||;
+
+ sgwc => sgwu [label="PFCP Session Establishment Request"];
+ sgwc note sgwu [label="2x Create PDR\nF-TEID = CHOOSE\nFAR = NOCP,BUFF"];
+
+ |||;
+ |||;
+
+ sgwc <= sgwu [label="PFCP Session Establishment Response"];
+ sgwc note sgwu [label="Created PDR F-TEID 123.44.0.6,0x015\nCreated PDR F-TEID 123.44.0.6,0x016"];
+
+ |||;
+ |||;
+
+ sgwc => pgwc [label="GTP Create Session Request"];
+ sgwc note pgwc [label="F-TEID S5 = 123.44.0.5,0x00b\nPDN addr alloc = IPv4 192.168.100.2\nBearer Ctx: F-TEID S5 = 123.44.0.6,0x015"];
+
+ |||;
+ |||;
+
+ pgwc => pgwu [label="PFCP Session Establishment Request"];
+ pgwc note pgwu [label="Create PDR 1:\nPDI: src-iface Core, UE IPv4 192.168.100.2\nFAR-1: FORW, dst-iface Access,\nhdr creation: GTP-U 123.44.0.6,0x015\n\nCreate PDR 2:\nPDI: src-iface Access, F-TEID = CHOOSE id:05\nhdr removal: GTP-U\nFAR-2: FORW, dst-iface Core\n\nCreate PDR 3:\nPDI: src-iface CP-function, F-TEID = CHOOSE\nhdr removal: GTP-U\nFAR-1\n\nCreate PDR 4:\nPDI: src-iface Access, F-TEID = CHOOSE id:05, SDF Filter\nhdr removal: GTP-U\nFAR-3: FORW, dst-iface CP-Function,\nhdr creation: GTP-U 123.44.0.7,0x00b"];
+
+ |||;
+
+ pgwc <= pgwu [label="PFCP Session Establishment Response"];
+ pgwc note pgwu [label="Created PDR-1\nCreated PDR-2: F-TEID = 123.44.0.8,0x01e\nCreated PDR-3: F-TEID = 123.44.0.8,0x01f\nCreated PDR-4: F-TEID = 123.44.0.8,0x01e"];
+
+ |||;
+ |||;
+
+ sgwc <= pgwc [label="GTP Create Session Response"];
+ sgwc note pgwc [label="TEID: 0x00b\nF-TEID: 123.44.0.7,0x00b\nPDN Addr: 192.168.100.2\nBearer Ctx: F-TEID S5 123.44.0.8,0x01e"];
+
+ |||;
+ |||;
+
+ sgwc => sgwu [label="PFCP Session Modification Request"];
+ sgwc note sgwu [label="Update FAR-2: FORW, dst-iface Core,\nhdr creation GTP-U 123.44.0.8,0x01e"];
+
+ |||;
+
+ sgwc <= sgwu [label="PFCP Session Modification Response"];
+
+ |||;
+ |||;
+
+ sgsn <= sgwc [label="GTP Create Session Response"];
+ sgsn note sgwc [label="TEID: 0x004\nF-TEID S11/S4: 123.44.0.5,0x007\nF-TEID S5/S8: 123.44.0.7,0x00b\nPDN Addr: 192.168.100.2\nBearer Ctx:\nF-TEID S1-U: 123.44.0.6,0x016\nF-TEID S5/S8: 123.44.0.8,0x01e"];
+
+ |||;
+ |||;
+
+ sgsn => sgwc [label="GTP Modify Bearer Request"];
+ sgsn note sgwc [label="TEID: 0x007\nBearer Ctx:\nF-TEID S1-U: 192.168.104.167,0x32adb2ad"];
+
+ |||;
+ |||;
+
+ sgwc => sgwu [label="PFCP Session Modification Request"];
+ sgwc note sgwu [label="Update FAR-1: FORW, dst-iface Access,\nhdr creation: GTP-U 192.168.104.167,0x32adb2ad"];
+
+ |||;
+ |||;
+
+
+ sgwc <= sgwu [label="PFCP Session Modification Response"];
+
+ |||;
+
+ sgsn <= sgwc [label="GTP Modify Bearer Response"];
+ sgsn note sgwc [label="TEID: 0x004\nBearer Ctx:\nF-TEID S1-U: 192.168.104.167,0x32adb2ad"];
+
+}