osmo-pcu.git branch jerlbeck/wip/edge updated. 0.2-636-g8a78c4d

gitosis at osmocom.org gitosis at osmocom.org
Wed Dec 16 19:15:54 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/edge has been updated
  discards  0f8e618212e2884e8d39e57a5c41657e9bce645b (commit)
  discards  5c7907a9e2e5c29eb07f82ec498c08fbf00075c8 (commit)
  discards  275c31b550ae713fb3af066bd41b39e469c1fa4b (commit)
  discards  70cfbe14b31392144d5f403acc52801bf2b87d11 (commit)
  discards  e0eb3e8a3826299da6e4cd433875b2ec9029c5a0 (commit)
  discards  2f7bb08c49a8871bc7dc94a9af1cf2eedfa63ee5 (commit)
  discards  ebce5f4e98c5c4c6adad62dfe1d5482a05f7926d (commit)
  discards  a342abc6f3cf3e37faf4f975429eaa4211f55087 (commit)
  discards  e1d5396a55b1b11c7e951667266ec347216fc207 (commit)
  discards  bab4b7dc75dfb80ba3a05168ed3f6eb81d11004d (commit)
  discards  5735c14648efcaed459e7f5d3bf95430461b904f (commit)
  discards  5234e5ad01de011bba632ce4f46ae4a8a9f60a59 (commit)
  discards  80f559f148aec18c1db03e347c88d9331e02febc (commit)
  discards  53fc0eb984c5def0cb4d093af457ba77ec82ed69 (commit)
  discards  f47bbc337a8b0485165cdca85038b922f3cdec51 (commit)
  discards  9e2152d10909e06b0cd0b7ef3b7ceb5e5c6f0458 (commit)
  discards  42dc5e7e9c50a9564ebcb26c0aae617dcce5b4c9 (commit)
  discards  b1c79b04dc8677c3487a24f2f6bbd867e5117fbd (commit)
  discards  e20716086cf5507456f5d71d0ef923b10a443f06 (commit)
  discards  84cf6d55cb23141cfcd07959a4db78c7b5b2a618 (commit)
  discards  1fc065d98d32127665f76da657a3408f3e214ef7 (commit)
  discards  88de08f4abd569885ee31f1de54466edf6930a07 (commit)
  discards  06d5aa8131d20734984a4335b4b43d5fbee0d45e (commit)
  discards  858170188b909aefb376770f14b3371ec91d9cc1 (commit)
       via  8a78c4d6c403763ea8260d4971b1f22cd49ffb80 (commit)
       via  aa614fabb186e93cd109b638aa479d9c943c148c (commit)
       via  6e75bc7fe304eec274f6e485a8b23a164fd4e28e (commit)
       via  845c01ef3f7df788308e56ad22408991c7d2c5ff (commit)
       via  554a835e906419ff5b4b773b3a723a3fa2e15611 (commit)
       via  39c6c7f738439197fd13636e9a9ea6ca192f7b4e (commit)
       via  b3100e187b8030fe25057978433e1dde62e86647 (commit)
       via  e8f5fe52554895661f7dafedb96c4c68b0ca9bda (commit)
       via  ce1beb423cddfddebeb2ebacb60eb10506eeff71 (commit)
       via  784a0bd0001e4e81167eda6e3bb4a2001d24d1f6 (commit)
       via  d87e1d6ab747423d3668c74d16201a5d967accf0 (commit)
       via  61679251472391bf1746eb277b5027caa1ac14ad (commit)
       via  4abc686d76b1d74ba07939f5e586842c68c37e25 (commit)
       via  392a5453361d639abe3eb50ec5ea7ace1595af04 (commit)
       via  4aa78a8bea0d49a5fe6b3759606afd16eaf3de88 (commit)
       via  6c3dc61db58bf469c504ffbfcbe061de2f18ceac (commit)
       via  3b802e3c4ab59e6714d42298ca7b0b793e063f21 (commit)
       via  690a734ebf392af8a8c8f443b2099e491d5aef3e (commit)
       via  9e862e1e7f94e693615a843cbbbca0f4417e277f (commit)
       via  d0222cfe2dda4f169bf3d37cdc5eb79ef699cfd2 (commit)
       via  409f980a180ad8977717cbb5ec412990a0ecbfb0 (commit)
       via  14e00f8f66faf0c1f551d1d5e4527c51177d6dc8 (commit)
       via  5265f59525157d135c1051f057f836395782c98e (commit)
       via  86b6f05d19c8559b99d548730e54c1a4bfb7beba (commit)
       via  5643f35fb4d09b160c4cd14c8e0ef6f2b7dce07e (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 (0f8e618212e2884e8d39e57a5c41657e9bce645b)
             N -- N -- N (8a78c4d6c403763ea8260d4971b1f22cd49ffb80)

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 8a78c4d6c403763ea8260d4971b1f22cd49ffb80
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue Dec 15 11:23:00 2015 +0100

    DEBUG show RLC data units


commit aa614fabb186e93cd109b638aa479d9c943c148c
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri Dec 11 14:53:29 2015 +0100

    DEBUG Add data log to RLC input


commit 6e75bc7fe304eec274f6e485a8b23a164fd4e28e
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri Dec 11 16:09:41 2015 +0100

    sched: Change next_ctrl_prio increment
    Currently the control block scheduler does not seem to be fair in all
    cases. At least it happend while testing the EGPRS code, that a
    Uplink Ack/Nack message got never be sent, because a Downlink
    assignment took over all the times.
    This commit changes the round robin code to always increment the
    priority offset by 1 instead of (i + 1). The former definitely
    ensures that every message type gets the highest priority after some
    steps. The latter might be more fair in some situations, but that and
    its correctness are not proven.
    Sponsored-by: On-Waves ehf


commit 845c01ef3f7df788308e56ad22408991c7d2c5ff
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue Dec 15 15:52:32 2015 +0100

    edge: Remove unused GPRS functions
    This commit removes the code that is no longer used due to the commit
    "Use a single PDCH rcv_data_block method for GPRS and EGPRS".
    Sponsored-by: On-Waves ehf


commit 554a835e906419ff5b4b773b3a723a3fa2e15611
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Wed Dec 9 17:39:56 2015 +0100

    edge: Use a single PDCH rcv_data_block method for GPRS and EGPRS
    Currently GPRS is handled by the old code path while EGPRS already
    uses the unified functions. The rcv_block_egprs is basically not
    specific to EGPRS and just needs minor modifications to handle GPRS.
    This commit turns gprs_rlcmac_pdch::rcv_block_egprs into a unified
    rcv_data_block method and uses it for GPRS, too.
    Note that the logging messages of the new parser are different.
    Sponsored-by: On-Waves ehf


commit 39c6c7f738439197fd13636e9a9ea6ca192f7b4e
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue Dec 8 15:14:05 2015 +0100

    edge: Implement gprs_rlcmac_pdch::rcv_block_egprs
    This commit replaces the stub by a method that decodes the block
    first, and passes it to the TBF object associated with the TFI.
    Sponsored-by: On-Waves ehf


commit b3100e187b8030fe25057978433e1dde62e86647
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 14 13:36:13 2015 +0100

    edge: Add methods for unified GPRS/EGPRS UL data block handling
    The current rcv_data_block_acknowledged_gprs method is tightly
    coupled to GPRS.
    This commit adds variants of the involved methods that support
    EGPRS and GPRS RLC encodings likewise.
    Sponsored-by: On-Waves ehf


commit e8f5fe52554895661f7dafedb96c4c68b0ca9bda
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 14 13:23:15 2015 +0100

    tbf: Refactor parts of extract_tlli into set_tlli_from_ul
    Currently gprs_rlcmac_tbf::extract_tlli takes care of decoding and
    the TBF update. These are really different things and doing the
    decoding in extract_tlli makes EGPRS support more complex.
    This commit moves the TBF state related part into a new method
    Sponsored-by: On-Waves ehf


commit ce1beb423cddfddebeb2ebacb60eb10506eeff71
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 14 12:04:01 2015 +0100

    edge: Store GprsCodingScheme in gprs_rlc_data
    Currently the coding scene is stored as number N, where there scheme
    is CS-N.
    This commit replaces this by a GprsCodingScheme type cs value. The
    gprs_rlcmac_cs table is no longer needed and thus removed.
    Sponsored-by: On-Waves ehf


commit 784a0bd0001e4e81167eda6e3bb4a2001d24d1f6
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 14 11:54:29 2015 +0100

    edge: Add is_received and invalidate_bsn to gprs_rlc_ul_window
    These methods will be needed for EGPRS decoding.
    The is_received method returns true iff a block with the given BSN
    has already been received in the current window. A call to
    invalidate_bsn marks the block as not received.
    Sponsored-by: On-Waves ehf


commit d87e1d6ab747423d3668c74d16201a5d967accf0
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 14 11:43:04 2015 +0100

    rlc: Do not raise_v_q in receive_bsn
    Currently gprs_rlc_ul_window::receive_bsn calls raise_v_q and returns
    the number of RLC data blocks that can be taken from the queue. This
    does not fit the EGPRS feature to put 2 independant data blocks in a
    single RLC block.
    This commit removes raise_v_q from receive_bsn, hence it must be
    called explicitely to get the number of processable data blocks.
    Sponsored-by: On-Waves ehf


commit 61679251472391bf1746eb277b5027caa1ac14ad
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri Dec 11 18:25:21 2015 +0100

    edge: Add test cases for rlc_data_from_ul_data
    This checks the example test cases given in appendix B of
    TS 44.060.
    Sponsored-by: On-Waves ehf


commit 4abc686d76b1d74ba07939f5e586842c68c37e25
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue Dec 8 15:14:05 2015 +0100

    edge: Add unified decoder methods for GPRS/EGPRS
    This commit adds new RLC block decoder functions that support both
    GPRS and EGPRS. The code path is selected based on the value of the
    GprsCodingScheme cs object.
    - rlc_parse_ul_data_header
            parses the header of an RLC data block including the E and FBI/TI
            flags (currently supported CS-1 - CS-4, MCS-1 - MCS-4).
    - rlc_copy_to_aligned_buffer
            copies an RLC data unit to a byte aligned buffer and returns
            the unit's length.
    - rlc_get_data_aligned
            is a convenience wrapper around rlc_copy_to_aligned_buffer
            that avoids copying if the data unit is already byte aligned.
    Sponsored-by: On-Waves ehf


commit 392a5453361d639abe3eb50ec5ea7ace1595af04
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 14 10:38:29 2015 +0100

    edge: Add information about data blocks to GprsCodingScheme
    This commit adds the methods maxDataBlockBytes and numDataBlocks
    which provide information about the data areas within RLC messages.
    In these areas, the extension bytes, TLLI, and the LLC data are
    Sponsored-by: On-Waves ehf


commit 4aa78a8bea0d49a5fe6b3759606afd16eaf3de88
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 14 11:13:30 2015 +0100

    rlc: Check endianness for bit field declarations
    Currently the declarations of rlc_ul_header, rlc_dl_header, and
    rlc_li_field silently assume that a gcc for a little endian platform
    is being used.
    This commit adds '#if OSMO_IS_LITTLE_ENDIAN' the ensure the correct
    byte ordering.
    Sponsored-by: On-Waves ehf


commit 6c3dc61db58bf469c504ffbfcbe061de2f18ceac
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 14 10:21:26 2015 +0100

    edge: Add header type property to GprsCodingScheme
    The header type depends on the coding scheme, for GPRS there is a
    single data header type per direction, for EGPRS there are 3 per
    direction. In addition, control block header types are used with CS-1
    only, so there is one of the per direction altogether for GRPS and
    This commit adds the header type enum and two methods headerTypeData
    and headerTypeControl.
    Sponsored-by: On-Waves ehf


commit 3b802e3c4ab59e6714d42298ca7b0b793e063f21
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 7 15:50:35 2015 +0100

    edge: Rename rcv_data_block_acknowledged
    This commit renames rcv_data_block_acknowledged to
    rcv_data_block_acknowledged_gprs to separate it from EGPRS data block
    Sponsored-by: On-Waves ehf


commit 690a734ebf392af8a8c8f443b2099e491d5aef3e
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Nov 30 18:09:17 2015 +0100

    edge: Add gprs_rlcmac_pdch::rcv_block_egprs stub
    This stub function gets called when an EGPRS data package arrives.
    Sponsored-by: On-Waves ehf


commit 9e862e1e7f94e693615a843cbbbca0f4417e277f
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 14 15:19:12 2015 +0100

    edge: Use GprsCodingScheme to adjust the UL RLC block size
    Currently the block size is mapped by a switch statement to strip
    extra bits that are not used for RLC blocks. That information is
    already available via the GprsCodingScheme class.
    This commit moves the CS/MCS detection to the rcv_block message and
    passes the cs object via rcv_block_gprs, where the length gets
    adjusted, to gprs_rlcmac_pdch::rcv_data_block_acknowledged. There the
    switch statement is removed.
    Note that the TbfTest.err changes due to an additional log message.
    Sponsored-by: On-Waves ehf


commit d0222cfe2dda4f169bf3d37cdc5eb79ef699cfd2
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Dec 7 12:23:35 2015 +0100

    edge: Add test for GprsCodingScheme
    This test checks constructors, predicates, and operators of the
    GprsCodingScheme class.
    Sponsored-by: On-Waves ehf


commit 409f980a180ad8977717cbb5ec412990a0ecbfb0
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Nov 30 18:06:50 2015 +0100

    edge: Add GprsCodingScheme class
    Currently the coding scheme is checked and compared at different
    places which makes in cumbersome to extend it for EGPRS.
    This class encapsules the coding scheme and provides required meta
    information like sizes as well as helper methods.
    Sponsored-by: On-Waves ehf


commit 14e00f8f66faf0c1f551d1d5e4527c51177d6dc8
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri Nov 27 18:10:39 2015 +0100

    edge: Extend gprs_rlcmac_dl_tbf::handle by egprs_ms_class
    The multislot (MS) class and the EGPRS MS class can also be passed
    via BSSGP in an MS Radio Access Capability element which can
    optionally be contained in a DL-UNITDATA PDU. While this case is fully
    supported for GPRS, the EGPRS MS class in BSSGP messages is ignored.
    This commit extends gprs_rlcmac_dl_tbf::handle to pass the EGPRS MS
    class, too.
    Note, that the EGPRS class is not yet taken from the CSN.1 RA
    capability and is always set to 0. Note also, that append_data
    still uses ms_class only.
    Sponsored-by: On-Waves ehf


commit 5265f59525157d135c1051f057f836395782c98e
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Sep 28 18:54:32 2015 +0200

    edge: Enable EGPRS if configured and egprs_ms_class present
    Enable the TBF to use EGPRS if the bts->egprs_enabled config variable
    has been set via the VTY "egprs" command and if the MS has signaled a
    EGPRS multislot class.
    Tell the MS to use EGPRS if the condition above holds.
    Note that this will cause the MS to use EGPRS RLC block formats for
    further messages which are not yet understood by the PCU.
    Sponsored-by: On-Waves ehf


commit 86b6f05d19c8559b99d548730e54c1a4bfb7beba
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri Nov 27 15:17:34 2015 +0100

    edge: Support EGPRS multislot class handling in tbf_alloc
    Add an egprs_ms_class argument to the allocation functions and
    set/pass it where necessary.
    Sponsored-by: On-Waves ehf


commit 5643f35fb4d09b160c4cd14c8e0ef6f2b7dce07e
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri Nov 27 16:17:40 2015 +0100

    edge: Add m_egprs_enabled and related methods to TBF
    Add the following methods to gprs_rlcmac_tbf:
      - is_egprs_enabled
      - enable_egprs
      - disable_egprs
    Also show the value of the flag in name() by displaying "EGPRS" if
    it is set.
    Sponsored-by: On-Waves ehf


Summary of changes:
 src/bts.cpp             |  24 +---
 src/bts.h               |   2 -
 src/decoding.cpp        | 209 ++++++++++++++++++++++++++++--
 src/decoding.h          |  11 ++
 src/rlc.cpp             | 166 ------------------------
 src/rlc.h               |  18 +--
 src/tbf.cpp             |   4 +-
 src/tbf.h               |   4 -
 src/tbf_ul.cpp          | 329 +++---------------------------------------------
 tests/edge/EdgeTest.cpp |  75 ++++++++++-
 tests/tbf/TbfTest.err   |  99 +++++++++------
 11 files changed, 367 insertions(+), 574 deletions(-)


More information about the osmocom-commitlog mailing list