osmo-pcu.git branch jerlbeck/wip/ms-struct updated. 0.2-425-ga54b06f

gitosis at osmocom.org gitosis at osmocom.org
Wed May 20 09:40:36 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 "UNNAMED PROJECT".

The branch, jerlbeck/wip/ms-struct has been updated
  discards  49a74d4fabc9428e68c65f5be76d4b81ef76bbc3 (commit)
  discards  4a8b3daf03a545a8eeba939439f21a988a66cc06 (commit)
  discards  ddf0682a6dedd1c2753b2b320ae5b343a6daeb25 (commit)
  discards  cbe17bbd38fa023d5670f50b03d127e189cf5664 (commit)
  discards  754cb8816da6828ad2faf2deefc4ee1fe1eb9d6f (commit)
  discards  4a643bfab1145316585f1a376f65695f16ed2ef4 (commit)
  discards  f2c47b68af934781d8a065a626a0c1333d26a244 (commit)
  discards  dd0f95ce829a69eb447c43ca8c7dd17314df3134 (commit)
  discards  068e6c898a5500d87ec44d6a7ca0637f20ea830d (commit)
  discards  08f0cb07ec6802aaae0dd2cdab0c7194e543af81 (commit)
       via  a54b06f3d9dc22faeb52105dbb20acdb90437c8b (commit)
       via  b8aa36e7eb7a9e880207c6e42bff463a109df227 (commit)
       via  d177f269ec59f3c273508b1b18a63ef27b482877 (commit)
       via  ce37488fcddc9e225335b2309f61d2135300a5ef (commit)
       via  e43460b50fc152026ab96b5095b94fbac6939ab2 (commit)
       via  536708617505a017b6b263a32f592471913ec464 (commit)
       via  dfef28de887eba43747bca52584f8310450e243a (commit)
       via  67c385046dbf4fe00871bb9f56b6b82e1f9d1348 (commit)
       via  fecece0e59ab5ff705887a1247df6e02836d7c66 (commit)
       via  e04e0b0a20fb2b93855de0106873c90a88c53052 (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 (49a74d4fabc9428e68c65f5be76d4b81ef76bbc3)
             N -- N -- N (a54b06f3d9dc22faeb52105dbb20acdb90437c8b)

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 a54b06f3d9dc22faeb52105dbb20acdb90437c8b
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon May 18 15:21:36 2015 +0200

    tbf: Just pass the MS object in reuse_tbf
    Currently the MS will be searched based on the TLLI in resue_tbf().
    Since the MS object is already known in the TBF when the TLLI is set,
    it can just be passed to the new TBF.
    This commit removes the call to update_ms() and just adds
    new_tbf->set_ms(ms()) which will also work as expected if ms() == NULL.
    Sponsored-by: On-Waves ehf


commit b8aa36e7eb7a9e880207c6e42bff463a109df227
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon May 18 14:35:11 2015 +0200

    tbf: Explicitly pass the direction to update_ms()
    The type of the TBF update_ms() is being called on does not always
    reflect whether the TLLI has been signaled by the MS or the SGSN.
    This commit adds an additional parameter to tell the method, in which
    direction the TLLI has been passed.
    Sponsored-by: On-Waves ehf


commit d177f269ec59f3c273508b1b18a63ef27b482877
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon May 18 11:56:50 2015 +0200

    tbf: Get the TLLI from the MS object
    Since the synchronisation of the TBF's concerning the TLLIs has been
    removed in 'Support new and old TLLI's', gprs_rlcmac_tbf::tlli() can
    return the old TLLI which is probably different to ms()->tlli() in
    that case. This can lead to a wrong TLLI being used in BSSGP messages.
    This commit modifies the TBF's tlli() method to get the current TLLI
    from the MS object.
    Sponsored-by: On-Waves ehf


commit ce37488fcddc9e225335b2309f61d2135300a5ef
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri May 15 15:50:43 2015 +0200

    ms: Support new and old TLLIs
    According to the specification (GSM 04.08/24.008, after a
    new P-TMSI has been assigned, the old P-TMSI must be kept basically
    until it has been used by both sides. Since the TLLI will be derived
    from the P-TMSI, the old TLLI must also be kept until the new TLLI
    has been used by both MS and SGSN.
    This commit modifies the TLLI handling of GprsMs accordingly.
    set_tlli() is only used with TLLIs derived from MS messages,
    confirm_tlli() is used with TLLIs derived from messages received from
    the SGSN.
    Sponsored-by: On-Waves ehf


commit e43460b50fc152026ab96b5095b94fbac6939ab2
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Wed May 13 13:33:12 2015 +0200

    ms: Integrate the MS storage
    Use the MS storage to find a MS object for a given TLLI instead of
    searching the TBF lists. The TBFs are then taken from the MS object,
    if one has been found. If all TBF might be temporarily detached from
    the MS object, a GprsMs::Guard is added to prevent the deletion of
    the object, in case another TBF gets attached later on in the scope.
    Ticket: #1674
    Sponsored-by: On-Waves ehf


commit 536708617505a017b6b263a32f592471913ec464
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue May 12 17:54:33 2015 +0200

    ms: Add MS storage class
    Currently the MS objects are contained in the TBF objects only. To
    allow for an extended life time after the TBF objects have been freed
    and to find them based on TLLI, a container for the MS objects is
    This commit adds the container class and also adds the corresponding
    m_list member to GprsMs. Further integration into the PCU code is not
    yet done.
    Ticket: #1674
    Sponsored-by: On-Waves ehf


commit dfef28de887eba43747bca52584f8310450e243a
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon May 11 14:13:47 2015 +0200

    llist: Add a C++ wrapper for linux_list
    This commit adds the LListHead class which is a wrapper around the
    linuxlist. It adds an additional member to refer to the container,
    since the container_of macro doesn't work properly with C++ classes.
    All functions and macros from linuxlist.h are support except for the
    entry macros (e.g. llist_entry, llist_for_each_entry, ...). To access
    the container (entry), an entry() method is provided instead:
      llist_for_each(pos, &elems) {
    Sponsored-by: On-Waves ehf


commit 67c385046dbf4fe00871bb9f56b6b82e1f9d1348
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon May 11 10:32:40 2015 +0200

    tbf/test: Optionally show talloc report
    To show the talloc report more easily, this commit adds a call to
    talloc_report_full if the TALLOC_REPORT_FULL environment variable is
    set (the value is ignored). Since the stderr output is checked by the
    test suite, this feature is not enabled by default.
    Sponsored-by: On-Waves ehf


commit fecece0e59ab5ff705887a1247df6e02836d7c66
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri May 8 12:13:08 2015 +0200

    tbf: Add MS object management to TBF code
    This commit adds MS object creation and cleanup to the TBF related
    code. MS objects are created when a TBF that has been "anonymous" so
    far gets associated with a TLLI. When a TBF is replaced by another,
    the old TBF is detached and the new one is attached to the MS. When
    all TBFs have been detached, the MS object gets deleted.
    The TBF related code should not call attach_tbf/detach_tbf directly
    but use set_ms instead to make sure, that the references are updated
    properly. GprsMs::detach_tbf also calls set_ms(NULL) on the detached
    TBF object.
    The MS object is not really used yet, the focus is still on object
    creation, TBF association, and cleanup.
    Ticket: #1674
    Sponsored-by: On-Waves ehf


commit e04e0b0a20fb2b93855de0106873c90a88c53052
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Wed May 6 18:30:48 2015 +0200

    ms: Add GprsMs class to hold per-MS information
    Currently only TBF objects are used to handle the data flow between
    the MS and the SGSN. MS specific data (e.g. pending LLC frames, TLLI)
    is copied between successive TBFs. If all TBFs (uplink and downlink)
    are idle for some time, all information about the MS is discarded in
    the PCU. This makes the implementation of some features more
    difficult, e.g. proper TLLI and timing advance handling,
    connection based CS selection, and proper management of multiple TBF.
    This commit adds the GprsMs class that is intended to hold
    information directly related to the MS and to keep references to the
    active TBFs.
    The class is not yet integrated with the other PCU code. A GprsMs
    object container and MS specific fields (TA, CS) will be added in
    later commits.
    Note that calling detach_tbf() can possibly delete the MS object
    depending on the callback implementation.
    Ticket: #1674
    Sponsored-by: On-Waves ehf


Summary of changes:
 .gitignore        | 2 ++
 tests/Makefile.am | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)


More information about the osmocom-commitlog mailing list