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
This commit is contained in:
Harald Welte 2021-12-21 13:15:45 +01:00
parent 58b165383f
commit 03b179fcf6
4 changed files with 169 additions and 0 deletions

48
doc/gb_stack_fr.dot Normal file
View File

@ -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
}

43
doc/gb_stack_ip.dot Normal file
View File

@ -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
}

View File

@ -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
}

View File

@ -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
}