From 471c9ae1c96bd699e4ce92747429c28cf92d6933 Mon Sep 17 00:00:00 2001 From: Neels Janosch Hofmeyr Date: Thu, 25 Aug 2022 01:06:33 +0200 Subject: ladder charts Change-Id: Id77e7d0fe3ecc5f81d833e35516ac228e1a3c977 --- doc/charts/Makefile.am | 4 ++ doc/charts/pfcp_msgs.ladder | 73 +++++++++++++++++++++ doc/charts/pfcp_msgs_gtp.ladder | 142 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 219 insertions(+) create mode 100644 doc/charts/pfcp_msgs.ladder create mode 100644 doc/charts/pfcp_msgs_gtp.ladder (limited to 'doc') 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 + -- cgit v1.2.3