openbsc.git branch neels/gtphub updated. 0.15.0-73-gb9d5c9b

gitosis at gitosis at
Thu Nov 26 22:24:57 UTC 2015

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)".

The branch, neels/gtphub has been updated
  discards  041995dacf26082cb4883a99f8d5a30c109efff7 (commit)
  discards  ae1e7a00efcdea016008c54cd442e38c141e4200 (commit)
  discards  cf6ba14087de5ae464528280be3a784f8c6c6d6d (commit)
  discards  22174abe556b8419a42b3b67b191ac94e30d81c5 (commit)
  discards  79dce146fbb4096f737776d5c217b71a31b16eb9 (commit)
  discards  c33ac58604665455699eddb2bad5cfd8242f193c (commit)
  discards  310b8bf647c8b2478dec3a27c11942cf4b6f1e6a (commit)
  discards  97c5e61b0a58a507a5ad5ee0559da9182596d287 (commit)
  discards  9586e51efd243cce41a887448bf442f3f49d4c5f (commit)
  discards  58e14c99f4c6b9be3a7b15c72d0f669b05d713cf (commit)
  discards  4395a3d823a2243531ef15d05ef498427d9c409b (commit)
  discards  d4c79db2905f6380773adc8d12ddcddc5e21077e (commit)
  discards  a5f12d907cc6554b7c1a0e7c63b6a7287796f149 (commit)
  discards  27883dd1891686ed50d9fff017b07416ef785cce (commit)
  discards  f9f6739cece7073aca938b5258ab7d590efd9f0f (commit)
  discards  d9e3579689f5678d761ac331c152d1286e8f94ef (commit)
  discards  c80f953d117a8d2406e37f200bf4aa62ef7d3cf2 (commit)
  discards  70cb65941457b29bf811ee570b3cf21ae48e99bc (commit)
  discards  3d53bfd7668f491f2904580c33f1a461fa631132 (commit)
       via  b9d5c9b7922965469a6304fa65bd96c9ce8a50eb (commit)
       via  dabb2430cfe8e176bcf83a1cef0a7607c2f72577 (commit)
       via  8c02ef0a2dd678dd8bf63c15c77c350ad6104e56 (commit)
       via  3aa01614d1332b9a10920062b04127e5db7d7740 (commit)
       via  a0cb29c321573d84b4e93cfc658cd4ceadbf5041 (commit)
       via  532e9d7ceb76d1409ede36c9b304cf32a7648d40 (commit)
       via  f321b223d4dc9ad0fc300a781945bf43cca23da4 (commit)
       via  47eb5e2f2bcf8add821b076ed35b45e4af61672b (commit)
       via  80524ff23caa213ce14ca7fa0df9da91ac2ffaf8 (commit)
       via  c27f03c0d5208de86c698cf532b56c4f1692c17a (commit)
       via  62580504d1756f506711a6e96bf063d3ce1dea31 (commit)
       via  1fcdcc21eecf0cd56b21ac5e4f76a7f9a2ce559e (commit)
       via  38a6177f76a1425feaec1045d9e28535abc0db21 (commit)
       via  4c92268cbe855a9451b7acf0bff5e7c53bad2809 (commit)
       via  4231731d4125bdcf68fc5cd99b6aee0eaa9c9b37 (commit)
       via  3f40114e0285108d71fba3780566bd2c436ccc92 (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (041995dacf26082cb4883a99f8d5a30c109efff7)
             N -- N -- N (b9d5c9b7922965469a6304fa65bd96c9ce8a50eb)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit b9d5c9b7922965469a6304fa65bd96c9ce8a50eb
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Nov 26 22:19:22 2015 +0100

    gtphub: implement restart counter properly.
    Force passing a restart counter, by adding such arg to gtphub_start() (test
    suite is not affected by this).
    In gtphub_main.c, add -r,--restart-file <path> and next_restart_count() to
    maintain the counter file. While at it, tweak the cmdline help to unify the
    formatting (mostly commas and a missing line break).
    Send gtphub's own restart counter. So far, the sender's restart counter was
    copied through, which would break as soon as more than one GSN would talk to
    the same peer with differing restart counters.
    Also fix the in-mem restart counter data type (one octet, not two).
    Sponsored-by: On-Waves ehi

commit dabb2430cfe8e176bcf83a1cef0a7607c2f72577
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Nov 26 05:20:18 2015 +0100

    gtphub: complain about excess cmdline args.

commit 8c02ef0a2dd678dd8bf63c15c77c350ad6104e56
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 24 13:31:06 2015 +0100

    gtphub: track tunnels explicitly.
    So far, gtphub worked perfectly by only tracking single TEIs ... for probably
    most uses. But a Ctrl plane tunnel may have expired despite a still active
    corresponding User plane tunnel. The User plane would continue to work
    indefinitely, but if any Ctrl messages followed after more than six hours of
    Ctrl silence, they would have been dropped due to an expired TEI mapping.
    We want to
    - combine expiry of a user TEI with its ctrl TEI. (done in this patch)
    - upon delete PDP context, remove both user and ctrl TEI mappings. (future)
    - when a peer indicates a restart counter bump, invalidate its tunnels.
    To facilitate these, track tunnels, complete with both SGSN's and GGSN's
    address, original and replaced TEIs, all for both user and ctrl plane, in a
    single struct. A single expiry entry handles the entire tunnel, instead of
    previously four separate expiries for each endpoint identifier.
    Add the concept of a "side", being either GGSN or SGSN, to index tunnel
    endpoint structs, and so on.
    Track the originating side in the gtp_packet_desc.
    Add header_tei_rx: set_tei() overwrites header_tei, but the originally received
    header TEI is still needed to match a Create PDP Context Response up with its
    Request (and for logging).
    Adjust the test suite to expect tunnel listing strings instead of TEI mappings,
    with a bonus of making it a lot easier to grok, and including the IP addresses.
    Add regression test for refreshing tunnel expiry upon use.
    Note: the current implementation is as slow as can possibly be, iterating all
    the tunnels all the time. Optimizations are kept for a future commit, on
    BTW, the sequence number mapping/unmapping structures remain unchanged.
    Sponsored-by: On-Waves ehi

commit 3aa01614d1332b9a10920062b04127e5db7d7740
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Nov 25 16:45:59 2015 +0100

    gtphub: cosmetic/prepare: rename expiry queues.
    The expiry queues are already used for resolved GGSN addresses, and will
    soon enlist tunnel structs. Hence the naming should be more general.

commit a0cb29c321573d84b4e93cfc658cd4ceadbf5041
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 24 13:32:23 2015 +0100

    gtphub: add assertion to ensure expiry ordering.
    Make 100% sure the user adds expiring_items in chronological order by asserting
    that a newly added expiry is >= the last expiry in the queue. Add llist_last()
    to facilitate.
    Sponsored-by: On-Waves ehi

commit 532e9d7ceb76d1409ede36c9b304cf32a7648d40
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 24 13:30:38 2015 +0100

    gtphub: cosmetic/prepare: add nr_map_refresh().

commit f321b223d4dc9ad0fc300a781945bf43cca23da4
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 24 13:27:13 2015 +0100

    gtphub: move timestamp into packet struct.
    Instead of passing the current time around in function arguments ('now'),
    rather store the current time once upon decoding a GTP packet in the
    gtp_packet_desc passed around anyway ('p->timestamp').
    Sponsored-by: On-Waves ehi

commit 47eb5e2f2bcf8add821b076ed35b45e4af61672b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 24 13:23:44 2015 +0100

    gtphub: cosmetic: fix an argument name.

commit 80524ff23caa213ce14ca7fa0df9da91ac2ffaf8
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Nov 20 03:16:19 2015 +0100

    gtphub: first vty show commands.
    Start adding VTY commands to show rate counters / statistics / cache dumps.
    Sponsored-by: On-Waves ehi

commit c27f03c0d5208de86c698cf532b56c4f1692c17a
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Nov 20 01:28:40 2015 +0100

    gtphub: add first rate counters
    Sponsored-by: On-Waves ehi

commit 62580504d1756f506711a6e96bf063d3ce1dea31
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Nov 20 01:27:22 2015 +0100

    gtphub: cosmetic: clarify bind pointer naming.
    Some gtphub_bind pointers point to an array of binds, some point directly at
    instances. Make the distinction between the two more obvious by adding an
    '_arr' suffix to the array ones.
    Partly in preparation for upcoming rate counters.
    Sponsored-by: On-Waves ehi

commit 1fcdcc21eecf0cd56b21ac5e4f76a7f9a2ce559e
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Nov 20 00:08:28 2015 +0100

    gtphub: add explicit cleanup handles.
    Clean up functionality is added for the test suite only, to be able to clean
    out all allocations and test against memory leaks.
    So far, it was sufficient to expire everything to free a gtphub. In preparation
    for the upcoming rate counters, which will need to be freed explicitly, add
    gtphub functions to clean up everything.
    As added bonus, also close the sockets explicitly -- not really needed upon
    program exit, neither by the test suite, but *if* we have a cleanup function,
    it should clean up everything properly.
    Closing the sockets is however kept separate, for the test suite.
    gtphub_start() and gtphub_stop() are for normal use (published in gtphub.h),
    and gtphub_init() and gtphub_free() are for the test suite, without sockets.
    (gtphub_stop() will probably never be called by anyone, but its existence
    completes the picture.)
    In gtphub_test.c, have a function to clean up the testing gtphub struct. First,
    expire everything by timeout, assert emptiness, then call the cleanup function.
    Call from each test in the end.
    Sponsored-by: On-Waves ehi

commit 38a6177f76a1425feaec1045d9e28535abc0db21
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Nov 20 00:04:41 2015 +0100

    gtphub: ensure cleanup of peer addresses.
    Upon calling gtphub_peer_del(), all addresses and ports should already have
    expired (by force). Make sure the code heeds that with a so far missing
    Sponsored-by: On-Waves ehi

commit 4c92268cbe855a9451b7acf0bff5e7c53bad2809
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Nov 18 18:11:32 2015 +0100

    gtphub: ares vty and init
    From sgsn_vty.c, copy the cfg_grx_ggsn_cmd to add an ares server to the static
    This is sort of preliminary. As described in comments, the sgsn_ares functions
    should actually be separated from the static sgsn structure. gtphub keeps such
    an sgsn structure just for the sgsn_ares functions.
    Sponsored-by: On-Waves ehi

commit 4231731d4125bdcf68fc5cd99b6aee0eaa9c9b37
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Nov 18 18:11:09 2015 +0100

    gtphub: review some logging.
    Sponsored-by: On-Waves ehi

commit 3f40114e0285108d71fba3780566bd2c436ccc92
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Nov 18 17:53:00 2015 +0100

    gtphub: cosmetic: rename a file.
    gtphub_ext.c's initial purpose was to wrap a specific function. The file
    then turned into everything related to DNS, which fits pretty well. Rename
    to gtphub_ares.c.
    Tweak the header comment to reflect the new file name.
    Sponsored-by: On-Waves ehi


Summary of changes:

The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)

More information about the osmocom-commitlog mailing list