109 Commits (50332089ce1daed34ea52ecac09a2c7b16aad6fd)

Author SHA1 Message Date
Ismael Gomez bfddc55148
RRC-PHY interface (#639)
RRC-PHY interface refactor. Moved RRC-MAC interface to rrc_asn1_utils and created RRC-PHY interface also in rrc_asn1_utils. All ASN1 includes should be made from rrc_asn1_utils only keeping ue_interfaces clean of ASN1

Tested with different common and dedicated configurations (64QAM UL, 256QAM, CA, SRS enabled/disabled, etc)
5 years ago
Francisco Paisana 67d6a25194 Moving mac timers to stack timers (#638)
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.

* moved timers out of the UE MAC
5 years ago
Ismael Gomez 69edee4e6c
Fix issues in uplink QoS (#636)
Fix bugs in Long BSR and Truncated BSR and added unit tests
5 years ago
Francisco Paisana c9d3b61038 added resumable procedures to make RRC and NAS non-blocking 5 years ago
Pedro Alvarez 1944bf9a80 Continue to split pdcp_entity_lte and pdcp_entity_nr. Compiling now. 5 years ago
Andre Puschmann 2e9a981a8a fix home plmn extraction for PCSC USIM module 5 years ago
Ismael Gomez b81d4c5c9c Fix MAC test 5 years ago
Andre Puschmann e9342969f8 fix typo 5 years ago
Ismael Gomez f6a5d28283 Addressed @andrepuschmann comments 5 years ago
Ismael Gomez 773c2a9721 Fixed multiple issues in Random Access procedure and extended MAC test 5 years ago
Francisco Paisana bb0dbf0f1c created a asn1 utils with helper functions and types related to the asn1. These types/functions will help isolate the rrc_asn1 lib from most of the layers, reducing this way the compile times, and leading to better isolation. This will also make the transition to NR smoother. I removed the asn1 types from the NAS and USIM interface so far. 5 years ago
Andre Puschmann 0094fbd191 mux/bsr: fix issue with corrupted UL-SCH PDU
BSR was triggered although there was not enough space in MAC PDU
5 years ago
Andre Puschmann 58763fb714 stack: move initialization of log object into ctor
this fixes the issue when the stack is torn down if, for example,
the radio couldn't be loaded correctly. it will hence call stop() on all stack
components which are not initialzized yet, and logging therefore doesn't work.
the log object is know during contruction time and therefore can be passed
in as soon as possible.
5 years ago
Andre Puschmann dffbc4404f add three more MAC tests for short PDUs 5 years ago
Andre Puschmann 7145cd2358 fix padding BSR generation and add test for it 5 years ago
Andre Puschmann db224335a7 add MUX step function for PBR counting 5 years ago
Andre Puschmann 2dfc6698eb add MAC tests 5 years ago
Francisco Paisana 8f8d9f3f30 applied changes in the stack internal method naming 5 years ago
Francisco Paisana ce29ed545d moved mac thread to the stack. Protect the interface of the stack with PHY and gateway via a queue of tasks 5 years ago
Francisco Paisana 46d298fd9a formatting 5 years ago
Francisco Paisana 10a56e2a84 moved GW out of the UE stack. This is important to keep concurrency out of the stack once it becomes single-threaded 5 years ago
Andre Puschmann 2b7b4d0e7e remove hard-coded LCID for dedicated bearer in GW 6 years ago
Pedro Alvarez 7a184a8cd8 Added log to tft_packet_filter. 6 years ago
Pedro Alvarez 39f5b03674 Removed empty line. Changed comment. Removed unused variables. 6 years ago
Pedro Alvarez 2723aa9b12 Added EPS bearer id to apply_tft interface. Sending packets to the correct LCID if they match the packet filter. 6 years ago
Pedro Alvarez 684ee2834e Starting to add ToS field checking to tft_packet_filter. 6 years ago
Pedro Alvarez 40dd3e332c Added logic and test to match IPv4 local address 6 years ago
Pedro Alvarez 0f6c55023b Adding logic and testing for single remote port matching. 6 years ago
Pedro Alvarez 326aef4431 Added match logic for local UDP port. Starting to add logic for remote UDP port. 6 years ago
Pedro Alvarez ccf404f12b Fix in getting filter information for local port. 6 years ago
Pedro Alvarez ede5f3318b Remove test function that is no longer used. 6 years ago
Pedro Alvarez 190a0ff37e Adding test to unpacking of the packet filters. 6 years ago
Pedro Alvarez a7e0a0624b Starting to add interface apply_traffic_flow_template between NAS and GW. 6 years ago
Pedro Alvarez d3761ccee5 Added some basic test of NAS activate dedicated EPS bearer context request handling. 6 years ago
Pedro Alvarez d67d18cc6b Removing deplicated error codes. 6 years ago
Andre Puschmann 3f613d7183 nas/gw/rrc: make LCID for DRB dynamic
- add interface to RRC to allow NAS to query the DRB for a given
  EPS bearer id
- extend interface for NAS to setup GW to also pass LCID of bearer
- in NAS, use this new interface to pass actual LCID of the default
  DRB when creating the TUN device
6 years ago
Andre Puschmann 34bf738501 nas: add test for dedicated EPS bearer handling 6 years ago
Andre Puschmann 65f50cd7ba introduce new UE layer design
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
6 years ago
Andre Puschmann 3a6dd9b164 move UE RRC into own folder 6 years ago
Francisco Paisana 3bedc93ba5 added _t to unique_byte_buffer type 6 years ago
Francisco Paisana f469e2178b replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use 6 years ago
Andre Puschmann 4b01a2e4a0 update copyright notice 6 years ago
Ismael Gomez 7780b1aba5 add tdd/ca support 6 years ago
Andre Puschmann 0aef6f8d4a fix various uninitialized variables 6 years ago
Andre Puschmann c8f8c16d50
make EIA and EEA algorithms configurable (#323)
this patch allows to configure the EIA and EEA algorithms
the UE uses and announces during attach. They can
be specified as a comma-separated list.

The patch also removes a dedicated NAS config class and uses
the default nas_args_t type for this. There was a full
duplication of members before.

The patch also converts nas_args_t and usim_args_t into a class
with a default constructor that initialize all booleans.
6 years ago
Francisco Paisana 0204db2e12 new asn1 rrc library 6 years ago
Andre Puschmann 8326299ec5 fix uninitialized variables 6 years ago
Andre Puschmann 2590ebd10b fix bugs reported by coverity 6 years ago
Andre Puschmann d6196ba234 simplify RRC-NAS interface and only have msg as param (RRC selects LCID) 6 years ago
Andre Puschmann c3441046c9 simplify RLC buffer status query procedures
- add a simple and low-overhead has_data() method to check whether
  an RLC entity has data to transmit or not
- use this method for all calls that are actually not interested
  in the amount of data to send
- use the more expensive get_buffer_state() for all cases where
  the actual size of the buffer is of importance
6 years ago