* rename various fields and templates to be transport neutral
* extend mp_m3ua_configs[]: add one client and one server ASPs
* f_M3UA_connect(): split onto f_M3UA_connect_{tcp,sctp}()
* f[_no]_quirk(): properly handle ASPs using TCP transport
* add osmo-stp-tcp.confmerge [*]
We cannot add new M3UA-over-TCP ASPs to osmo-stp.cfg because that
would break the job testing latest osmo-stp version. Instead, add
a confmerge file to be applied by jenkins.sh (for nightly only).
Change-Id: I5d0b05aa434c057ad379125ac293f5fc9a240b6f
Related: docker-playground.git I210b7d62845075dcfe147f2f77603625cc1e64f9
Related: SYS#5424
Using this API reduces the risk of using the wrong half of the
mp_m3ua_configs[] array and improves the code readability a bit.
Change-Id: I9788f52c20574f4f9d015d2de11b5e42bb03d15f
Related: SYS#5424
We are about to introduce a feature for SLS "randomization" in osmo-stp,
so let's modifiy our STP tests to permit any SLS in the M3UA messages
after IPA -> M3UA conversion.
Change-Id: Ib70322b80a72e3e7dc3155bca9e67b03efb413e0
Related: SYS#6543
It was recently decided it's a good practice to always specify the role
and sctp-role for all ASPs configured in the VTY, since it's an
important configuration providing feedback on the network setup
expectancies.
Change-Id: If48ca06f2cc3c0986daa5f6264d80138d468332a
These two test cases verify that
* libosmo-sigtran doesn't include a routing context IE even in ASP
role when using a ASP with a single routing context 0 configured
* osmo-stp can route between a single SG-role ASP with routing context
to two ASP-role ASPs which both have routing context 0 (i.e. no
routing context IE in use)
The tests do not pass with current libosmo-sigtran until OS#6003 is
fixed, presumably by Change-Id I5ce89b393a3b950ab7fd1eace9038718c9efcc51
Change-Id: I81052ece7d1cc8b43da6155356ed1c4d9620acdc
Related: OS#6003
In some cases, there's some time between accepting the SCTP connection
and the execution of f_M3UA_CLNT_asp_up(). This may cause the
client sending re-transmitted ASP-UP messages. Let's simply flush
and ignore those, rather than failing the test case.
Change-Id: Iea39e9543535977a3004b150e222ce8c7f4d821a
It was spotted that from time to time the test set NI international
instead of national. This is presumable due to a race condition between
VTY and messages being received and forwarded.
Let's delay resetting the VTY config after the message is recieved, to
avoid the race conditions between them.
Change-Id: I3ef08447d2e36b6948d3db4ec9d1459beebc9384
I used the construct like f_rnd_octstring(f_rnd_int(100)) in a number
of places to generate random-length packets with randomized length.
The problem I didn't realize is that f_rnd_int() of course can also
return '0', which would generate zero-length packets. This may be
permitted in some protocols, but it leads to problems e.g. when trying
to send a UDP packet of zero length (which the kernel will not do).
So let's introduce
* f_rnd_int_nonzero() for returning non-zero randomized integers
* f_rnd_octstring_rnd_len() for returning a random-length random payload
octet string
* replace all f_rnd_octstring(f_rnd_int()) call sites with the new
function.
Change-Id: I818a113ff8d2a2f7cab2ec7d9c8661607c6331d6
Closes: OS#5528
Set the executable name in each regen_makefile.sh explicitly with -e,
instead of having it set indirectly from the first .ttcn file. Make it
consistent by placing the name on top of each of these files.
Fix for warning:
ttcn3_makefilegen: warning: File `BSC_Tests.ttcn' was given more than once for the Makefile.
Related: OS#5252
Change-Id: I5ed03f8f3ed905483620dc7bae33b617bbb8507f
Make all regen_makefile.sh more readable and diff friendly by moving
each entry in FILES and CPPFLAGS_TTCN3 into separate lines. Order
entries alphabetically.
Related: OS#5252
Change-Id: I6b6866eb9f6ec6232e4ae434517457a4c8c1c050
Disable test TC_rkm_unreg_never_registered for current latest version of
osmo-stp (1.4.0), as it does not clean up properly and now causes other
tests to fail.
With this patch, test results for -latest are restored to how it was
before I7d2f9eb298778a8e60c7e73f314bc73528e85406 and
I31fcba85d23a8767eb0ceb513ff5b440558a475b were merged.
Related: OS#4239
Change-Id: Ice8fe9597a0a12eb4ec26172982a0f5cd01a148b
Rename the option to mp_osmo_stp_newer_than_1_4_0, because I'm going to
use the variable in the next patch for something unrelated to the asp
quirk and so we can avoid introducing another variable.
Related: docker-playground I6a32398242b53c827a94cf65e4a35900a7c4171a
Related: OS#4239
Change-Id: I43b1aa2c029c88c88320d40f60df46a5eb6c4c24
Create the routing key dynamically, before trying to unregister it, so
osmo-stp doesn't answer with ERR_NOT_REG instead of the expected
ERR_ASP_ACTIVE. While at it, add missing clean up logic.
Related: OS#4239
Change-Id: I31fcba85d23a8767eb0ceb513ff5b440558a475b
Create the routing key dynamically, before trying to unregister it. The
previous version tried to unregister a statically configured routing
key, as in TC_rkm_unreg_never_registered, but expected success instead
of the proper ERR_NOT_REG.
So after fixing osmo-stp to make TC_rkm_unreg_never_registered pass,
this test failed.
Related: OS#4239
Change-Id: I7d2f9eb298778a8e60c7e73f314bc73528e85406
This tests sets a non-zero default network-indicator in the ss7 instance
and then performs an IPA -> M3UA translation while checking if the M3UA
side now uses the specified default network-indicator (NATIONAL).
Change-Id: Id4f9d0ff67e114a119ab032d44ac0dfd34f5c402
Related: SYS#5421
Tests for M3UA SSNM behavior. This is just being introduced in
osmo-stp, so all tests will fail on 'latest', and some will still fail
until SSNM processing inside osmo-stp is becoming more complete.
Change-Id: I5074dccde9940956439235e8d02e6a722b8da5f5
Related: OS#2623
The tests were written without considering the arrival of such messages;
however, it is well within the M3UA spec that such messages appear at
any time indicating remote point code availability etc.
In libosmo-sccp.git Id92be4691b0fd77598a6edb642c028bbd8c5b623 we start
generating those messages in osmo-stp.
Let's ignore them in the tests to avoid unexpected failures.
Later on, we likely will introduce / adapt tests to actually expect
those messages whenever appropriate.
Change-Id: I85ce8fd4f26db184833cf348293f0255bb5eaac3
Related: OS#2623
Otherwise when trying to send stuff to an IPA ASP in some test, it may
fail because the ASP is till not active in the STP (because IPA
handshake was yet not finished, race condition).
Change-Id: I8ea11fe331baf2b65ce0b7b3c1a2b480332faa2a
The IP addr module parameter is split now, IPA module has its own set
of configurable addresses, and M3UA its own. Moreover, in M3UA the
single address is transformed to be an array of addresses, to support
multi-homing with both IPv4 and IPv6 addresses.
Related: SYS#4915
Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338
TTCN3 transforms -1 internally to 9999. We don't care about the src port
here since we are a client, so let's simple take a randomly free one.
Change-Id: I6665e628c5f1db31731d092f58d0bd2520f65ee6
It is a known bug that some verisons of titan don't support having
several alt cases without any separator. This is already fixed in
master, but it doesn't hurt adding them to have them compile on other
versions.
Change-Id: I999d4cc5c1c26b8bbdf8b30ad8dfdc8f55ca433b
There are some M3UA implementations out there who use a routing context
during the ASPAC procedure, but who then don't use it in subsequent DATA
transmission. Let's add a test case for that.
Change-Id: Iaf95f8eafa53cff94910d89584eef95f1b474c7f
Related: OS#4594
Since commit d0575c2fd8, we are using a
forked version of titan.ProtocolEmulations.SCCP with a change to allow
us to run those function directly from its module, no need to copy them
anymore.
Change-Id: I5fe700bd751e1f8f432d052ae6a2f013c5b89580
This test case checks if the traffic-mode is communicated to the SG if
we operate in ASP mode.
Change-Id: If7d84b73b36a91fb697daf6263ec93b8672cbdc2
Related: OS#4285
Some stuff was wrong and some was missing after new features being
implemented in tests over time.
Change-Id: I7a279592a68ffc76408a8e728e76151534265cc0
This type of scenario is used in several tests and will be used in more
tests in the future, so let's move there for easiness.
Change-Id: Ic65ff2ff9dc3cc82ae3fefcf3caf406279cd6b97
Infrastructure in STP_Tests_IPA changed to be more similar to what is
done in STP_Tests_M3UA, which already contain more advanced tests.
Array of AS names mp_ipa_as_names is added in order to let TTCN3 port
which AS is configured in STP for each src port.
Change-Id: Iae213c58598cc0207503fd10f09d2d57aab941fe
This way traffic modes set dynamically by peers are cleared and can be
reset by next tests easily.
Change-Id: I177441b2d43298b3836ccf78fe11267333e80665
In the past, we were automatically running [large parts of] the nplab
M3UA and SUA test suites, but those implement only a fraction of the
functionality. Particularly, they don't cover the non-standard IPA
behavior, and they don't cover RKM (routing key management).
Let's introduce an initial set of STP tests with this patch. We try
to not duplicate nplab here, and implement bits not covered there.
Change-Id: I628a87385cac0dfe708a0d74a5088fbd5a4790cd