This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19979 ) Change subject: library: Add template helpers for AoIP Transport Layer Address ...................................................................... library: Add template helpers for AoIP Transport Layer Address This way one can simply pass an IP addr in string format and return the IE no matter the IP version. Change-Id: I743dbb7c89e504762498b7f278c12e130352e5f0 --- M library/BSSMAP_Templates.ttcn M library/Misc_Helpers.ttcn 2 files changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/19979/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 694e3e8..0ec5639 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -14,6 +14,8 @@ import from General_Types all; import from Osmocom_Types all; +import from Native_Functions all; +import from Misc_Helpers all; import from GSM_Types all; import from BSSAP_Types all; @@ -436,6 +438,17 @@ template (value) BSSMAP_IE_AoIP_TransportLayerAddress ts_BSSMAP_IE_AoIP_TLA6(OCT16 ip, uint16_t pt) := ts_BSSMAP_IE_AoIP_TLA({ipv6:=ip}, pt, 18); +function f_ts_BSSMAP_IE_AoIP_TLA(charstring addr, uint16_t udp_port) + return template (value) BSSMAP_IE_AoIP_TransportLayerAddress { + if (f_addr_is_ipv6(addr)) { + var OCT16 ip6 := f_inet6_addr(addr); + return ts_BSSMAP_IE_AoIP_TLA6(ip6, udp_port); + } else { + var OCT4 ip := f_inet_addr(addr); + return ts_BSSMAP_IE_AoIP_TLA4(ip, udp_port); + } +} + template BSSMAP_IE_AoIP_TransportLayerAddress tr_BSSMAP_IE_AoIP_TLA(template BSSMAP_FIELD_IPAddress addr, template uint16_t udp_port, template integer len := ?) := { @@ -449,6 +462,17 @@ template BSSMAP_IE_AoIP_TransportLayerAddress tr_BSSMAP_IE_AoIP_TLA6(template OCT16 ip, template uint16_t pt) := tr_BSSMAP_IE_AoIP_TLA({ipv6:=ip}, pt, 18); +function f_tr_BSSMAP_IE_AoIP_TLA(charstring addr, template uint16_t udp_port) + return template BSSMAP_IE_AoIP_TransportLayerAddress { + if (f_addr_is_ipv6(addr)) { + var OCT16 ip6 := f_inet6_addr(addr); + return tr_BSSMAP_IE_AoIP_TLA6(ip6, udp_port); + } else { + var OCT4 ip := f_inet_addr(addr); + return tr_BSSMAP_IE_AoIP_TLA4(ip, udp_port); + } +} + template (value) BSSMAP_IE_KC128 ts_BSSMAP_IE_Kc128(OCT16 kc128) := { elementIdentifier := '83'O, kC128_Value := kc128 diff --git a/library/Misc_Helpers.ttcn b/library/Misc_Helpers.ttcn index 1ca6491..a402525 100644 --- a/library/Misc_Helpers.ttcn +++ b/library/Misc_Helpers.ttcn @@ -25,4 +25,13 @@ mtc.stop } +function f_addr_is_ipv6(charstring addr) return boolean { + for (var integer i := 0; i < lengthof(addr); i := i + 1) { + if (addr[i] == ":") { + return true; + } + } + return false; +} + } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I743dbb7c89e504762498b7f278c12e130352e5f0 Gerrit-Change-Number: 19979 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200904/ba130760/attachment.htm>