openbsc.git branch neels/gtphub updated. 0.15.0-30-gfc33ea2

gitosis at gitosis at
Tue Nov 10 21:53:47 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  3c2e95790e9ec53f64c69d796d607caecd303df0 (commit)
  discards  275c1eaa36ed8affdf803231cf3e1c154f296687 (commit)
  discards  527893508f83ad074ca4683f983bb3b8f921f38a (commit)
  discards  933e2762896ec00872068e5a1d605a1bf14d8e80 (commit)
  discards  32ff8aeff0fc33be8646e3a3b82f1948e6e89644 (commit)
       via  fc33ea2c41702fa99bc1e9c77d3258b79c7123c3 (commit)
       via  58eb2d98e448db63654abcb948bb2f4ad6cd2b23 (commit)
       via  0e60f79a133b281db8403e3f3de616e102a3ff58 (commit)
       via  72686571233dac35fbba2eeda66f7d394d321b6f (commit)
       via  63fffc7fe252748eafb402bff46edd1ebbe5e66a (commit)
       via  7ca655aefc01c7b88ca1831b37ae2937b9e34fd5 (commit)
       via  65482c919f82b28aa53cd519c4f7799b104051c0 (commit)
       via  98fa3dc1c655033b31d90ed051cfa9144e30248c (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 (3c2e95790e9ec53f64c69d796d607caecd303df0)
             N -- N -- N (fc33ea2c41702fa99bc1e9c77d3258b79c7123c3)

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 fc33ea2c41702fa99bc1e9c77d3258b79c7123c3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 10 22:07:04 2015 +0100

    gtphub: make test code reusable for future tests.
    Generalize to make the PDP ctx message definitions and "sending" of messages
    from SGSN->gtphub->GGSN and back reusable in future tests.
    Publish gsn_addr_from_sockaddr() in gtphub.h for use in gtphub_test.c.
    Use an osmo_sockaddr for resolved_ggsn_addr, because one is needed for
    comparison in probably every future test.
    Add LVL2_ASSERT() to print assertion message and return instead of abort,
    so that functions can be called from several tests without losing the
    info of which test caused it from which line.
    Use globals for struct gtphub and time_t now, to reduce nr of args that need to
    be passed around when writing tests. Add a default test setup function.

commit 58eb2d98e448db63654abcb948bb2f4ad6cd2b23
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Nov 10 20:32:13 2015 +0100

    gtphub: add/fix IMSI and APN IE error handling

commit 0e60f79a133b281db8403e3f3de616e102a3ff58
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon Nov 9 15:12:25 2015 +0100

    gtphub: fix Echo behavior: respond directly.
    Up to now I used the Echo as a test for sequence nr mappings. But Echos
    should be handled differently: they are scoped on the link and an Echo
    response should be sent right back to the requester.

commit 72686571233dac35fbba2eeda66f7d394d321b6f
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sun Nov 8 23:39:57 2015 +0100

    gtphub: lose the netcat test.

commit 63fffc7fe252748eafb402bff46edd1ebbe5e66a
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sun Nov 8 20:34:47 2015 +0100

    gtphub: add first bits of GRX ares
    For the resolving function, change the function signature to return a
    gtphub_peer_port. In consequence, publish two functions concerned with
    gtphub_peer_port instances for use in test and gtphub_ext.c.
    Add GGSN resolution queue, callback and cache. Simple implementation: if an
    SGSN asks for a GGSN, it will first get no answer, and I hope it will ask again
    once the GGSN is in the cache.
    Within gtphub_ext.c, have a dummy sgsn struct, as the sgsn_ares code currently
    depends on it (half the functions pass an sgsn instance pointer around, but the
    other half use the global one).
    In the unit tests, wrap away the ares initialization so that they can work
    without a DNS server around. The netcat test breaks because of this, will
    remove it.
    Using sgsn_ares, implement the gtphub_resolve_ggsn_addr() function, I hope:
    Minor cosmetics just to see if you're paying attention... ;)

commit 7ca655aefc01c7b88ca1831b37ae2937b9e34fd5
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Sep 24 17:32:30 2015 +0200

    Add GTP hub (code bomb).
    First steps towards a new GTP hub. The aim is to mux GTP connections, so that
    multiple SGSN <--> GGSN links can pass through a single point. Background:
    allow having more than one SGSN, possibly in various remote locations.
    The recent addition of OAP to GSUP is related to the same background idea.
    (This is a collapsed patch of various changes that do not make sense to review
    in chronological order anymore, since a lot of it has thorougly transmorphed
    after it was first committed.)
    Sponsored-by: On-Waves ehf
    gtphub: decode IE GSN addr using inet_ntop.
    gtphub: cosmetic: fix a name.
    map addresses wip
    gtphub: fix style: '} else {'
    gtphub: restructure
    Allow multiple addresses per peer.
    Allow multiple ports per address.
    Don't track ctrl<->user plane peers, allow any number of them.
    Have a single TEI map per plane, across all GGSNs and SGSNs. This is not only
    simpler, but necessary to establish mappings during a Create PDP Context
    Request <-> Response (thanks Holger!) -- during a Create PDP Context Request,
    we want to map TEI numbers before sending to the GGSN, but the GGSN has not
    announced its final tunnel endpoint addresses yet. We can't find an unused TEI
    for a given address if we don't know the address. The solution is to have
    globally unique mapped TEIs (per Ctrl / User plane).
    Change naming: "port" to "plane". There's now a gtphub_peer_port, so the "port"
    naming for the planes was confusing.
    Separate expiry from nr_map. It happened along the way, becoming obsolete again
    by the central TEI map, and now the code is there.
    gtphub: cosmetic
    Tweak comment.
    Rename gtphub_sep.c to gtphub_ext.c (personal preference) and add copyright
    Sort some definitions around in gtphub.c.
    In gtphub_from_sgsns_handle_buf, move a variable into the scope where it is
    Remove a debug peer counter.
    gtphub_test: cosmetic
    Rename seq_map_is to nr_map_is.
    gtphub: pull out current time to unit tests.
    An obsolete forward definition is dropped along the way.
    gtphub: publish gtphub_port_find_sa() to enhance test
    gtphub_test: find the GGSN peer struct and verify seq_map entries and timeouts.
    Also verify tei_map entries and timeouts.

commit 65482c919f82b28aa53cd519c4f7799b104051c0
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon Oct 19 14:37:12 2015 +0200

    sgsn_vty.c: fix typo


Summary of changes:
 openbsc/include/openbsc/gb_proxy.h    |  16 +
 openbsc/include/openbsc/gtphub.h      |   4 +
 openbsc/src/gprs/gb_proxy.c           |  45 +++
 openbsc/src/gprs/gb_proxy_peer.c      |  17 +
 openbsc/src/gprs/gtphub.c             |  90 ++++--
 openbsc/src/gprs/gtphub_ext.c         |   6 +
 openbsc/tests/gbproxy/gbproxy_test.ok | 576 ++++++++++++++++++++++++++++++++++
 openbsc/tests/gtphub/gtphub_test.c    | 412 +++++++++++++-----------
 8 files changed, 966 insertions(+), 200 deletions(-)

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

More information about the osmocom-commitlog mailing list