Osmocom Packet control Unit (PCU): Network-side GPRS (RLC/MAC); BTS- or BSC-colocated https://osmocom.org/projects/osmopcu
Go to file
Pau Espin 6b1e9515c9 llc_queue: Refactor to handle codel_state per prio queue internally
A CoDel state per prio queue is needed, otherwise the sojourn time state
is not properly reset when a high prio packet is dequeued.

If we have a global codel state shared for all prio queues of an MS, then
basically high prio (GMM) packets will "never" be dropped because they are
handled/dequeued way quicker, so it's sojourn time will be below the
threshold most probably, stopping the "dropping" state for the rest of
lower prio packets.

The handling of different codel states is moved from MS object to the
llc_queue, also offloading already loaded dl_tbf.cpp in the process.
This will also allow in the future setting different CoDel parameters
for different priority queues if needed.

Tests need to be adapted since now the CoDel and PDU lifetime are
incorporated into the llc_queue_dequeue(). Also because dequeue now also
accesses related MS fields.

Related: OS#5508
Change-Id: I2bce2e82ab6389d8a70130a5c26a966a316b0fa4
2022-04-05 11:16:17 +00:00
contrib Bump version: 0.9.0.280-56b7c-dirty → 1.0.0 2021-11-16 16:47:29 +01:00
debian llc: Convert to C 2022-03-31 19:42:15 +02:00
doc vty: Introduce command 'gsmtap-remote-host' and 'gsmtap-category enable-all' 2021-11-12 17:01:28 +01:00
include Support Neighbor Address Resolution over PCUIF IPA multiplex 2021-09-13 13:31:06 +02:00
src llc_queue: Refactor to handle codel_state per prio queue internally 2022-04-05 11:16:17 +00:00
tests llc_queue: Refactor to handle codel_state per prio queue internally 2022-04-05 11:16:17 +00:00
.gitignore .gitignore: ignore files ending with ~ 2021-01-05 11:34:45 +01:00
.gitreview add .gitreview 2016-05-19 06:39:45 +00:00
COPYING import GPLv2 license text to this project 2012-07-22 22:05:44 +02:00
Makefile.am Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in 2020-05-22 13:43:32 +02:00
README.md Allow multiple bts objects in PCU 2021-01-20 12:36:21 +01:00
TODO TODO: remove those that have obviously been implemented 5+ years ago 2020-04-17 16:02:26 +00:00
TODO-RELEASE Bump version: 0.9.0.280-56b7c-dirty → 1.0.0 2021-11-16 16:47:29 +01:00
configure.ac Bump version: 0.9.0.280-56b7c-dirty → 1.0.0 2021-11-16 16:47:29 +01:00
git-version-gen Add auto-foo (partial cleanup, master makefile/configure.ac 2012-06-14 21:05:44 +08:00
osmoappdesc.py Remove dash from name used in VTY cmd prompt 2019-12-02 11:14:26 +00:00

README.md

osmo-pcu - Osmocom Packet Control Unit

This repository contains a C/C++-language implementation of a GPRS Packet Control Unit, as specified by ETSI/3GPP. It is part of the Osmocom Open Source Mobile Communications project.

The Packet Control Unit is terminating the Layer 2 (RLC/MAC) of the GPRS radio interface and adapting it to the Gb Interface (BSSGP+NS Protocol) towards the SGSN.

The PCU interfaces with the physical layer of the radio interface. OsmoPCU is typically used co-located with the BTS, specifically OsmoBTS. For legacy BTSs that run proprietary sotware without an interface to OsmoPCU, you may also co-locate it with the BSC, specifically OsmoBSC

Homepage

The official homepage of the project is https://osmocom.org/projects/osmopcu/wiki/OsmoPCU

GIT Repository

You can clone from the official osmo-pcu.git repository using

git clone git://git.osmocom.org/osmo-pcu.git

There is a cgit interface at http://git.osmocom.org/osmo-pcu/

Documentation

We provide a user manual as well as a vty reference manual

Please note that a lot of the PCU configuration actually happens inside the BSC, which passes this configuration via A-bis OML to the BTS, which then in turn passes it via the PCU socket into OsmoPCU.

Mailing List

Discussions related to osmo-pcu are happening on the osmocom-net-gprs@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/osmocom-net-gprs for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for osmo-pcu can be seen at https://gerrit.osmocom.org/#/q/project:osmo-pcu+status:open

Current limitations

  • No PFC support
  • No fixed allocation support (was removed from 3GPP Rel >= 5 anyway)
  • No extended dynamic allocation support
  • No unacknowledged mode operation
  • Only single slot assignment on uplink direction
  • No half-duplex class support (only semi-duplex)
  • No TA loop
  • No power loop
  • Multi-BTS support not tested