Feature #6133


Feature #5500: MS-Side GPRS RLC/MAC implementation

modem: Support passing start_time_fn in L1CTL-CFG_UL_TBF.req towards L1CTL

Added by pespin 7 months ago. Updated 6 months ago.

OsmocomBB modem (host)
Target version:
Start date:
Due date:
% Done:


Spec Reference:


Right now, when configuring lower layers scheduler to receive notifications on a given TS set (through L1CTL-CFG_UL_TBF.req), it is not possible to state a start_time_fn with the meaning "apply the given configuration starting with that FN".

This is needed by upper layers when they receive TBF Starting Time from PCU, where they need to start using the TS at a given FN of time.

Since the RLC/MAC use the RTS.ind from lower layers, it needs to send the L1CTL-CFG_UL_TBF.req when it learns about the TBF to be created, so that it gets RTS.ind on the RLC/MAC scheduler which can then trigger FSM actions which move the TBF to the next state. However, right now, that means during the time frame "[L1CTL-CFG_UL_TBF.req .. TBFStartingTime] the upper layers are receiving RTS.ind where they have nothing to do.
Having this "start_time_fn" would spare the transmission of ticks to upper layers when they are not needed.

The idea in the lower layers is that if the field "start_time_present=1", then it queues the primitive until its internal clock reaches "start_time_fn=FN", then applies the config and hence sends RTS.ind to upper layers at that point.
Sending a L1CTL-CFG_UL_TBF.req with slot_mask=0x0 would also free the queues primitives if start_time_present==0.

Actions #1

Updated by pespin 7 months ago

In the RLC/MAC layer (libosmo-gprs-rlcmac), the tbf_start_fn/present is already prepared in this patch: rlcmac: ul_tbf: Factor out function configuring TBF to lower layers

See the comment in gprs_rlcmac_ul_tbf_submit_configure_req():

/* TODO: submit start_fn when L1CTL supports it: */

Actions #2

Updated by fixeria 7 months ago

  • Status changed from New to Feedback
  • % Done changed from 0 to 80

Most of the work has already been done about a month ago: rlcmac: l1ctl_prim: add 'start_rfn' field to cfg_{ul,dl}_tbf_req l1ctl_proto: add 'start_fn' field to UL/DL TBF CFG.req messages l1gprs: implement TBF starting time support modem: pass TBF starting time from CFG UL/DL TBF Req

We need to resolve merge conflicts and perform some testing to make sure the implementation is correct.

Actions #3

Updated by pespin 7 months ago

  • Status changed from Feedback to Stalled

I rebased those osmocom-bb patches, and incorporated the libosmo-gprs patches in my pespin/master branch which is already submitted to gerrit (I'm already making use of the field your patch is introducing in there).

Unfortunately, the whole feature cannot be tested in a regular scenario until we receive proper FNs from CCCH_DATA.ind (#6130).

Actions #4

Updated by fixeria 6 months ago

  • Tags set to ARDC
  • Category set to OsmocomBB modem (host)
  • Status changed from Stalled to Resolved
  • Target version set to MS-side GPRS
  • % Done changed from 80 to 100

All patches have been merged, closing this ticket.


Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)