aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2021-12-21 13:15:45 +0100
committerHarald Welte <laforge@osmocom.org>2021-12-21 13:16:36 +0100
commit03b179fcf65f7b79ed7824d2be08b4b06c12be88 (patch)
tree2ce9de51bf3c5cb978924064da998608c265a95b
parent58b165383f6d57ff8f2fa6621af0e610f353dc93 (diff)
Add dotty graphs of the component hierarchy for Gb and RAN
These graphs show the component hierarchy and which ports of which component are connected where. Change-Id: I79badbcdbbf03d69de3a1a18241c7a9537c161bf
-rw-r--r--doc/gb_stack_fr.dot48
-rw-r--r--doc/gb_stack_ip.dot43
-rw-r--r--doc/ran_emulation_aoip.dot39
-rw-r--r--doc/ran_emulation_sccplite.dot39
4 files changed, 169 insertions, 0 deletions
diff --git a/doc/gb_stack_fr.dot b/doc/gb_stack_fr.dot
new file mode 100644
index 00000000..f69a264a
--- /dev/null
+++ b/doc/gb_stack_fr.dot
@@ -0,0 +1,48 @@
+digraph G {
+ rankdir = LR;
+ label = "Gb protocol stack with NS over FR";
+
+ "BSSGP_BVC_CT" [
+ shape = "record"
+ label = "<f0> BSSGP_BVC_CT | <BSSGP_SP> BSSGP_SP | <BSSGP_SP_SIG> BSSGP_SP_SIG | <BSSGP_PROC> BSSGP_PROC | <GLOBAL> GLOBAL | <MGMT> MGMT | <BVC> BVC"
+ ]
+
+ "BSSGP_CT" [
+ shape = "record"
+ label = "<f0> BSSGP_CT | <PROC> PROC | <GLOBAL> GLOBAL | <RIM> RIM | <MGMT> MGMT | <BVC> BVC | <BSCP> BSCP"
+ ]
+
+ "NS_CT" [
+ shape = "record"
+ label = "<f0> NS_CT | <NS_SP> NS_SP | <NSVC> NSVC | <NS_CTRL> NS_CTRL | <NSIP_PROC> NSIP_PROC"
+ ]
+
+ "NSVC_CT" [
+ shape = "record"
+ label = "<f0> NSVC_CT | <NS_SP> NS_SP | <NSCP> NSCP"
+ ]
+
+ "NS_Provider_FR_CT" [
+ shape = "record"
+ label = "<f0> NS_PRovider_FR_CT | <NSE> NSE | <FR> FR | <FR_PROC> FR_PROC"
+ ]
+
+ "FR_Emulation_CT" [
+ shape = "record"
+ label = "<f0> FR_Emulation_CT | <CLIENT> CLIENT | <PROC> PROC | <FR> FR"
+ ]
+
+ "system" [
+ shape = "record"
+ label = "<f0> system | <FR> FR"
+ ]
+
+ "BSSGP_BVC_CT":BVC -> "BSSGP_CT":BVC
+ "BSSGP_CT":BSCP -> "NS_CT":NS_SP
+
+ "NS_CT":NSVC -> "NSVC_CT":NS_SP
+ "NSVC_CT":NSCP -> "NS_Provider_FR_CT":NSE
+ "NS_Provider_FR_CT":FR -> "FR_Emulation_CT":CLIENT
+ "NS_Provider_FR_CT":FR_PROC -> "FR_Emulation_CT":PROC
+ "FR_Emulation_CT":FR -> "system":FR
+}
diff --git a/doc/gb_stack_ip.dot b/doc/gb_stack_ip.dot
new file mode 100644
index 00000000..0c54c789
--- /dev/null
+++ b/doc/gb_stack_ip.dot
@@ -0,0 +1,43 @@
+digraph G {
+ rankdir = LR;
+ label = "Gb protocol stack with NS over IP";
+
+ "BSSGP_BVC_CT" [
+ shape = "record"
+ label = "<f0> BSSGP_BVC_CT | <BSSGP_SP> BSSGP_SP | <BSSGP_SP_SIG> BSSGP_SP_SIG | <BSSGP_PROC> BSSGP_PROC | <GLOBAL> GLOBAL | <MGMT> MGMT | <BVC> BVC"
+ ]
+
+ "BSSGP_CT" [
+ shape = "record"
+ label = "<f0> BSSGP_CT | <PROC> PROC | <GLOBAL> GLOBAL | <RIM> RIM | <MGMT> MGMT | <BVC> BVC | <BSCP> BSCP"
+ ]
+
+ "NS_CT" [
+ shape = "record"
+ label = "<f0> NS_CT | <NS_SP> NS_SP | <NSVC> NSVC | <NS_CTRL> NS_CTRL | <NSIP_PROC> NSIP_PROC"
+ ]
+
+ "NSVC_CT" [
+ shape = "record"
+ label = "<f0> NSVC_CT | <NS_SP> NS_SP | <NSCP> NSCP"
+ ]
+
+ "NS_Provider_IPL4_CT" [
+ shape = "record"
+ label = "<f0> NS_Provider_IPL4_CT | <NSE> NSE | <NSVC> NSVC | <IPL4> IPL4 | <PROC> PROC"
+ ]
+
+ "system" [
+ shape = "record"
+ label = "<f0> system | <IPL4> IPL4"
+ ]
+
+ "BSSGP_BVC_CT":BVC -> "BSSGP_CT":BVC
+ "BSSGP_CT":BSCP -> "NS_CT":NS_SP
+
+ "NS_CT":NSVC -> "NSVC_CT":NS_SP
+ "NS_CT":NSIP_PROC -> "NS_Provider_IPL4_CT":PROC
+ "NSVC_CT":NSCP -> "NS_Provider_IPL4_CT":NSVC
+ "NS_Provider_IPL4_CT":IPL4 -> "system":IPL4
+
+}
diff --git a/doc/ran_emulation_aoip.dot b/doc/ran_emulation_aoip.dot
new file mode 100644
index 00000000..59f6d3df
--- /dev/null
+++ b/doc/ran_emulation_aoip.dot
@@ -0,0 +1,39 @@
+digraph G {
+ rankdir = LR;
+ label = "RAN_Emulation when used with AoIP as in MSC_Tests";
+
+ "RAN_ConnHdlr" [
+ shape = "record"
+ label = "<f0> RAN_ConnHdlr | <BSSAP> BSSAP | <BSSAP_PROC> BSSAP_PROC"
+ ];
+
+ "RAN_Emulation_CT" [
+ shape = "record"
+ label = "<f0> RAN_Emulation_CT | <BSSAP> BSSAP | <RANAP> RANAP | <MGCP> MGCP | <CTRL> CTRL | <CTRL_CLIENT> CTRL_CLIENT | <CLIENT> CLIENT | <PROC> PROC"
+ ];
+
+ "SCCP_CT" [
+ shape = "record"
+ label = "<f0> SCCP_CT | <MTP3_SCCP_PORT> MTP3_SCCP_PORT | <SCCP_SP_PORT> SCCP_SP_PORT"
+ ];
+
+ "M3UA_CT" [
+
+ shape = "record"
+ label = "<f0> M3UA_CT | <STCP_PORT> SCTP_PORT | <MTP3_SP_PORT> MTP3_SP_PORT"
+ ];
+
+ "system" [
+ shape = "record"
+ label = "<f0> system | <SCTP> SCTP"
+ ];
+
+ "RAN_ConnHdlr":BSSAP -> "RAN_Emulation_CT":CLIENT
+ "RAN_ConnHdlr":BSSAP_PROC -> "RAN_Emulation_CT":PROC
+
+ "RAN_Emulation_CT":BSSAP -> "SCCP_CT":SCCP_SP_PORT
+ "RAN_Emulation_CT":RANAP -> "SCCP_CT":SCCP_SP_PORT
+
+ "SCCP_CT":MTP3_SCCP_PORT -> "M3UA_CT":MTP3_SP_PORT
+ "M3UA_CT":SCTP_PORT -> "system":SCTP
+}
diff --git a/doc/ran_emulation_sccplite.dot b/doc/ran_emulation_sccplite.dot
new file mode 100644
index 00000000..cce29b1f
--- /dev/null
+++ b/doc/ran_emulation_sccplite.dot
@@ -0,0 +1,39 @@
+digraph G {
+ rankdir = LR;
+ label = "RAN_Emulation when used with SCCPLite";
+
+ "RAN_ConnHdlr" [
+ shape = "record"
+ label = "<f0> RAN_ConnHdlr | <BSSAP> BSSAP | <BSSAP_PROC> BSSAP_PROC"
+ ];
+
+ "RAN_Emulation_CT" [
+ shape = "record"
+ label = "<f0> RAN_Emulation_CT | <BSSAP> BSSAP | <RANAP> RANAP | <MGCP> MGCP | <CTRL> CTRL | <CTRL_CLIENT> CTRL_CLIENT | <CLIENT> CLIENT | <PROC> PROC"
+ ];
+
+ "SCCP_CT" [
+ shape = "record"
+ label = "<f0> SCCP_CT | <MTP3_SCCP_PORT> MTP3_SCCP_PORT | <SCCP_SP_PORT> SCCP_SP_PORT"
+ ];
+
+ "IPA_Emulation_CT" [
+ shape = "record"
+ label = "<f0> IPA_Emulation_CT | <MTP3_SP_PORT> MTP3_SP_PORT | <IPA_MGCP_PORT> IPA_MGCP_PORT | <IPA_RSL_PORT> IPA_RSL_PORT | <IPA_OML_PORT> IPA_OML_PORT | <IPA_CTRL_PORT> IPA_CTRL_PORT | <IPA_GSUP_PORT> IPA_GSUP_PORT | <IPA_RSPRO_PORT> IPA_RSPRO_PORT | <IPA_OSMO_PCU_PORT> IPA_OSMO_PCU_PORT | <IPA_SP_PORT> IPA_SP_PORT | <IPA_PORT> IPA_PORT"
+ ];
+
+ "system" [
+ shape = "record"
+ label = "<f0> system | <IPA_CODEC_PORT> IPA_CODEC_PORT"
+ ];
+
+ "RAN_ConnHdlr":BSSAP -> "RAN_Emulation_CT":CLIENT
+ "RAN_ConnHdlr":BSSAP_PROC -> "RAN_Emulation_CT":PROC
+
+ "RAN_Emulation_CT":BSSAP -> "SCCP_CT":SCCP_SP_PORT
+ "RAN_Emulation_CT":MGCP -> "IPA_Emulation_CT":IPA_MGCP_PORT
+ "RAN_Emulation_CT":CTRL -> "IPA_Emulation_CT":IPA_CTRL_PORT
+
+ "SCCP_CT":MTP3_SCCP_PORT -> "IPA_Emulation_CT":MTP3_SP_PORT
+ "IPA_Emulation_CT":IPA_PORT -> "system":IPA_CODEC_PORT
+}