openbsc.git branch neels/gtphub updated. 0.15.0-81-gfcf22de

gitosis at gitosis at
Mon Nov 30 10:30: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  1274f63100801440f51913d726c7a653f5b1b559 (commit)
  discards  f13f13b4155283c8d60c3f7f2ea7c3e25bcf7352 (commit)
  discards  eb6b3c05252a4dc1c27a77c8aa7e022c8fca06e4 (commit)
  discards  1dbef680f35ff013aa4862bccb7751acdd5cacb2 (commit)
  discards  637d9b1c90573106813296972fd4c622d85c93d6 (commit)
  discards  ebe33de94be82c7b682e24a495a69400053b39ef (commit)
  discards  6ffa456c1e7630212a072726c316d30f9365bbb9 (commit)
  discards  63e0374673b41a3caaea8d61d47b56a098000d8a (commit)
  discards  8bd011be830dc164ee0b7ca7f855c57efb6f5861 (commit)
  discards  8310f1818058382bb9009b5e7bf7781b83c28365 (commit)
  discards  711d502eaa27b788ac5f9e4c52bea27cdb584b4b (commit)
  discards  28636afea50c49eb77ae62d344379df5c7be77a9 (commit)
  discards  40b07b4c78b3872b467fbd54668ef371ebad0677 (commit)
  discards  925f89dfa15e82d597f1d70521b74ba194b54d66 (commit)
  discards  fab52ade17d26d29f06a1cf6723148e831f22cb2 (commit)
  discards  6a9a4bd3d79c0c7e1041fce649419a5bf71971d2 (commit)
  discards  d051d80a3564495a568b2886cdbf595cefb1d037 (commit)
  discards  8fca7c67edfc26d7ab1ba3d3ca7f6ed791edfbd1 (commit)
  discards  26e6151c4593c3fc57c189cf1bc51f80f257c117 (commit)
  discards  9df43973ebc04507deaf1abbf0f3b517503ab5f8 (commit)
  discards  c4e222a6d0cb987264d14e6ce84c316cf2653b43 (commit)
  discards  5328d529b0c48d6f0011dfac25f138a88115e04a (commit)
  discards  eb0ff980a75406b53d71da4ca934efe8a9017b79 (commit)
  discards  cc92741e8a4439290c12417c402e4289914c03f9 (commit)
  discards  6374ccc2badd96496069b36e87d3fab2fe6da9de (commit)
  discards  96fad135b55cf153b32545d18604620a9f2b74b2 (commit)
       via  fcf22de1dbcf265d6a9ce6af555eefe270434f66 (commit)
       via  67c2ddd0b5abca58a190b00cf53cb97c3b170237 (commit)
       via  e91785f031c8ca3118b2ccd8538db557c6369e09 (commit)
       via  255964b7fbe15f4f59772a7d7aab23ea25a4b051 (commit)
       via  f4da0c2d6639ec50c53534e99d07e837f56d0ffb (commit)
       via  c9ddc0b9e79de2d5ef297c3b53fe77411f10c4e3 (commit)
       via  1732f1e3abd2ec0fc230d837f1212320696c605e (commit)
       via  d8327dd1cdda4d906de2af84b831ff7f7b4453db (commit)
       via  b1596da3ca7e5121ca4798f2165bfe1d46dd6c9c (commit)
       via  1e28ebef266bd361f51f6f1c17436ae223dbd695 (commit)
       via  d1502a4c76d1c3992a532447638dea58b147797b (commit)
       via  d384e27b2e465e154f2e886e3cec6c2cd80e2642 (commit)
       via  9d4bd22a40165ff7b1b52804a10c41ecdee02fdb (commit)
       via  eb7c17e39c87873eca2d0f497116c91952d0b450 (commit)
       via  3e48b2a9cf0172b29019fc3e5dbcd9ec04808985 (commit)
       via  a2fecd7257d71840cd9679ee72c706ccbfda4287 (commit)
       via  fe5c92d6ecc0869570c3cd8adb063eac123cfc7f (commit)
       via  8aab2b5612bff0b8c60a9e350716cd6f67d626c1 (commit)
       via  7c68023be49f8f986c05a0532d0206c085fbcc7d (commit)
       via  a7b4e202bd93f5a42979e981033fb18558cefc5e (commit)
       via  733d3190c04c6bbdc828daadf2ca729db30e7801 (commit)
       via  0be28a65d00931ba6aef8ce0ea84e391c65bbf2a (commit)
       via  6f92fd3e83ee32ae7732547887751a7244f58926 (commit)
       via  cd81f9a2abbbf1b45f35512fd6351064d0e9980b (commit)
       via  885127a7e5f1e2cbbfe1474e773300ce774c127c (commit)
       via  e5e78c21bb6e63a1fd1d2e62c042ecce867c2efc (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 (1274f63100801440f51913d726c7a653f5b1b559)
             N -- N -- N (fcf22de1dbcf265d6a9ce6af555eefe270434f66)

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 fcf22de1dbcf265d6a9ce6af555eefe270434f66
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon Nov 30 00:07:02 2015 +0100

    gtphub: add two stubs

commit 67c2ddd0b5abca58a190b00cf53cb97c3b170237
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sun Nov 29 23:50:45 2015 +0100

    gtphub: vty: add missing SGSN-proxy output.

commit e91785f031c8ca3118b2ccd8538db557c6369e09
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sun Nov 29 23:49:48 2015 +0100

    gtphub: refactor: use side_idx everywhere.
    This is a mostly cosmetic change. Instead of separate buffer handling
    functions, reduce some code duplication by using a side_idx just like the
    plane_idx, with arrays.

commit 255964b7fbe15f4f59772a7d7aab23ea25a4b051
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sun Nov 29 19:14:58 2015 +0100


commit f4da0c2d6639ec50c53534e99d07e837f56d0ffb
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Nov 27 01:22:13 2015 +0100

    gtphub: make sure mapped TEIs aren't occupied.
    discussion pending.

commit c9ddc0b9e79de2d5ef297c3b53fe77411f10c4e3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Nov 27 01:20:53 2015 +0100

    gtphub: use a single TEI pool across planes.
    There's no need to keep two separate number pools when both can be fed
    from the same pool. User and Ctrl plane TEIs can technically overlap without
    colliding, but it doesn't hurt if they don't overlap, either.

commit 1732f1e3abd2ec0fc230d837f1212320696c605e
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Nov 27 00:05:56 2015 +0100

    gtphub: cosmetic: for_each_side,_plane macros.
    Simplify looping over sides and planes. I'm tired of typing the same for
    loops all the time.

commit d8327dd1cdda4d906de2af84b831ff7f7b4453db
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 b1596da3ca7e5121ca4798f2165bfe1d46dd6c9c
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Nov 26 05:20:18 2015 +0100

    gtphub: complain about excess cmdline args.

commit 1e28ebef266bd361f51f6f1c17436ae223dbd695
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 d1502a4c76d1c3992a532447638dea58b147797b
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 d384e27b2e465e154f2e886e3cec6c2cd80e2642
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 9d4bd22a40165ff7b1b52804a10c41ecdee02fdb
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 24 13:30:38 2015 +0100

    gtphub: cosmetic/prepare: add nr_map_refresh().

commit eb7c17e39c87873eca2d0f497116c91952d0b450
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 3e48b2a9cf0172b29019fc3e5dbcd9ec04808985
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 24 13:23:44 2015 +0100

    gtphub: cosmetic: fix an argument name.

commit a2fecd7257d71840cd9679ee72c706ccbfda4287
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 fe5c92d6ecc0869570c3cd8adb063eac123cfc7f
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 8aab2b5612bff0b8c60a9e350716cd6f67d626c1
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 7c68023be49f8f986c05a0532d0206c085fbcc7d
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 a7b4e202bd93f5a42979e981033fb18558cefc5e
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 733d3190c04c6bbdc828daadf2ca729db30e7801
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 0be28a65d00931ba6aef8ce0ea84e391c65bbf2a
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Nov 18 18:11:09 2015 +0100

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

commit 6f92fd3e83ee32ae7732547887751a7244f58926
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

commit cd81f9a2abbbf1b45f35512fd6351064d0e9980b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 17 14:30:37 2015 +0100

    gtphub: nr_map: add min,max and wrap.
    Implement min/max bounds for nr_pool, adjust nr_pool_init() and current tests,
    and create unit tests for nr_map wrapping.
    Sequence numbers range from 0 to 65535, while TEIs range from 1 to 0xffffffff.
    Both cause problems when the nr_pool surpasses the range: seq exit their valid
    range, causing unmappings to fail, and a TEI would be mapped as zero (invalid).
    Add a comment about TEI wrapping, and lose the comment about random TEIs (not
    really important).
    Sponsored-by: On-Waves ehi

commit 885127a7e5f1e2cbbfe1474e773300ce774c127c
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 17 14:24:46 2015 +0100

    gtphub: fix number map range for TEIs.
    Use unsigned int for nr_map, just large enough to fit the TEI space.
    Adjust log output formats and casts accordingly.
    Fixes: TEIs are uint32_t, but the nr_map so far used int. This would cause TEIs
    from 0x80000000 on to be handled and printed as a negative value.
    Sponsored-by: On-Waves ehi

commit e5e78c21bb6e63a1fd1d2e62c042ecce867c2efc
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Nov 18 17:09:22 2015 +0100

    gtphub: add to debian build
    By the example of osmo-sgsn, package osmo-gtphub for debian.
    Sponsored-by: On-Waves ehi


Summary of changes:
 debian/control                                           | 12 ++++++------
 debian/{osmocom-gtphub.default => osmo-gtphub.default}   |  0
 debian/{osmocom-gtphub.examples => osmo-gtphub.examples} |  0
 debian/{osmocom-gtphub.init => osmo-gtphub.init}         |  4 ++--
 debian/{osmocom-gtphub.install => osmo-gtphub.install}   |  0
 debian/rules                                             |  2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)
 rename debian/{osmocom-gtphub.default => osmo-gtphub.default} (100%)
 rename debian/{osmocom-gtphub.examples => osmo-gtphub.examples} (100%)
 rename debian/{osmocom-gtphub.init => osmo-gtphub.init} (97%)
 rename debian/{osmocom-gtphub.install => osmo-gtphub.install} (100%)

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

More information about the osmocom-commitlog mailing list