871 Commits (4b2b76cf012906d393a08e6958c40411e8048e2e)

Author SHA1 Message Date
Pedro Alvarez 96c82b3fc6 Moved PDCP configs to pdcp_config.h. Added `as_security_cfg_t` structure to hold access stratum keys.
Refactored PDCP, RRC and USIM accordingly.
5 years ago
Francisco Paisana dc8dca2a08 fix namespace-related compilation error 5 years ago
Francisco Paisana a744729007 use range of rbgs 5 years ago
Francisco Paisana 46579da1ff use signed integer to express the error 5 years ago
Francisco Paisana 9ad80ee29f added initial_dl_cqi to the enb rr.cfg parser 5 years ago
Francisco Paisana bcbb08ebae use initial_dl_cqi for first DL tx. 5 years ago
Francisco Paisana ab69c6fe43 account for delays in RAR tx in scheduler CA tester 5 years ago
Francisco Paisana 3b937348a2 refactored some sched util methods 5 years ago
Francisco Paisana fad897cb35 DL scheduler metric now takes into account the min and max of RBGs possible. This is to forbid segmentation of SRB0 allocations 5 years ago
Francisco Paisana 6317750de2 fix computation of ranged of allowed sched dl bytes 5 years ago
Francisco Paisana 414259e83b fix allocation expected alloc bytes (min and max) 5 years ago
Francisco Paisana 698899d309 added scells to enb rrc reconf message 5 years ago
Xavier Arteaga d585cf14f3 SRSENB: phy_ue_db returns default configuration for non User C-RNTI 5 years ago
Xavier Arteaga 47b7c1b72b SRSENB: remove assert macros from phy_ue_db.cc 5 years ago
Andre Puschmann f2e1bfa699 refactor naming for s/p/cell structs and {enb,ue}_cc_idx 5 years ago
Francisco Paisana 639f473042 fixed unsigned signed comparison 5 years ago
Francisco Paisana 1e63fa41cf made ue_cc_idx int to set to -1 for rar and bc allocs 5 years ago
Francisco Paisana f3c3c52fcd added ue_cc_idx to dci allocation 5 years ago
Francisco Paisana e62972d38e fix fdd delays in scheduler 5 years ago
Xavier Arteaga 04b3416d87 Remove auto for u16 5 years ago
Xavier Arteaga 5311c37429 SRSENB PHY: check RNTI type before requesting configuration 5 years ago
Xavier Arteaga 002a68e183 SRSENB: hard-coded parametrized PUCCH DMRS correlation threshold 5 years ago
Xavier Arteaga 385cc8ecd8 tweaked I_offset_ack in enb_phy_test 5 years ago
Xavier Arteaga 64caa4321b Fix UL control decoding. Some minor aesthetic changes. 5 years ago
Pedro Alvarez 8c58d1054a Changed pcap.mac_enable back to pcap.enable in eNB. 5 years ago
Pedro Alvarez 08a4ce0970 Added the ability to save S1AP pcaps at the eNB. 5 years ago
Andre Puschmann 2edecea33e fix SIB transmission for CA
Avoid double buffering of SIBs in MAC as this would require one buffer for each CC.
Instead, use byte_buffer managed by RRC that contains packed SIBs to avoid
double memcpy for each SIB tx. Only use MAC provided buffer in error case.

Also avoid MAC calling RLC for each SIB and call RRC directly.
5 years ago
Pau Espin Pedrol 91a5d1a74e gtpu: Log bind failure cause 5 years ago
Andre Puschmann 73feeaeba9 make UL earfcn optional in cell list 5 years ago
Andre Puschmann 120ad76c63 refactor cell param handling and fix SIB transmissions
- move cell specific eNB params to cell list in rr.conf
- make sure DL EARFCN and DL freq can be used to manually overwrite a single cell config
- fix SIB packing and transmission for multi cell configs
- introduce cell list to MAC
- adapt default enb.conf.example and rr.conf.example
5 years ago
Ismael Gomez 4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers (#1019) 5 years ago
Xavier Arteaga ecb22600ff improved eNb PHY test scheduler 5 years ago
Xavier Arteaga 89a672a585 SRSENB: fix UE phy dB defect for SCell Index 5 years ago
Xavier Arteaga 84dd9911ca eNb PHY test uses only Aggregation level 0 5 years ago
Xavier Arteaga 0d6694d5e6 Improvement in eNb PHY test 5 years ago
Xavier Arteaga 5c689ed4c4 SRSENB: minor aesthetic change 5 years ago
Xavier Arteaga 8eb96747ab SRSENB: Minor RAR RNTI fix 5 years ago
Xavier Arteaga da701cd82b SRSENB: Added PUSCH TA and EVM measurement. Some more PHY cleanup. 5 years ago
Pedro Alvarez bb9ff82490 Remove enb singleton and make sure log is initialized. 5 years ago
Pedro Alvarez bd3598f774 Moved srsEPC to the new S1AP library. Deleted liblte_s1ap.cc and liblte_s1ap.h. 5 years ago
Xavier Arteaga a61ff0b0fc SRSENB cleanup phy common 5 years ago
Xavier Arteaga cac2ee33b6 SRSENB: PHY uses tti_semaphore class instead of normal semaphores 5 years ago
Francisco Paisana ec1f1cc677 remove const_casts from scheduler. Fix ODR issue 5 years ago
Francisco Paisana e9a599857a created a header for all common structs and helper functions 5 years ago
Francisco Paisana 02ccb8b32b fix wrong calculation of sched tx and rx delays 5 years ago
Andre Puschmann 73c8b02820 enb: loop over CC in MAC 5 years ago
Andre Puschmann 664170fec6 pcap: add CC index when writing PCAP 5 years ago
Andre Puschmann 33a410bda4 fix parsing of DL/UL earfcn in cell config
using a single earfcn or dl_freq value that gets set by default
in the [rf] section doesn't make sense in a enb config with more
than 1 cell, so we should actually remove the earfcn/freq setting in [rf]
and only configure the radio through the values in the cell list in rr.cfg
5 years ago
Andre Puschmann 87f1b2a939 catch exceptions from eNB config parser
since the eNB config gets more complex, especially with CA,
we need to catch potential parsing errors from libconfig,
print an error with the position of the error and gracefully
stop the enb
5 years ago
Francisco Paisana 43e67b8536 created a harq entity that handles all harq procs. This entity accepts as arg the number of harq procs. 5 years ago
Francisco Paisana 1c041b2c1d created harq entity class 5 years ago
Andre Puschmann dfb1cd1361 temporarily disabling enb_phy_test_1cell until it is fixed 5 years ago
Francisco Paisana 9f266161cf increase tbs until allocation is big enough to fit MAC subheader and RLC header 5 years ago
Ismael Gomez 1f3aee2fc0 Fix incorrect parameters 5 years ago
Francisco Paisana 7e840bde86 fix tb idx assignment in scheduler mac sdu alloc 5 years ago
Francisco Paisana d1356568e0 separated sf sched result from sf_sched class. The interface became way simpler. No need for finish_tti() method, sf_sched::new_tti() is called automatically when we access the sf_sched. 5 years ago
Francisco Paisana bb38fa7119 fixed tti resetting after tti end 5 years ago
Francisco Paisana 47b05118ad simplified msg3 allocation. Now we can allocate resources ahead of time (e.g. msg3 is 2 ttis ahead) using the sf_sched interface. It's guaranteed that the given allocations wont be erased when the respective tti starts 5 years ago
Francisco Paisana 8f7890c60a store mask results in separate variables for testing, and reset sf_sched state at the end of the tti 5 years ago
Pedro Alvarez afc209711c Fix jump depending on uninitialized variable in srsenb::sched_ue::set_bearer_cfg_unlocked 5 years ago
Francisco Paisana 5bdc603113 added error macros 5 years ago
Francisco Paisana b37d9b9930 fixed msg4 setting in sched tester 5 years ago
Francisco Paisana 3cc94c3694 simplified mutexing of the scheduler. One single mutex for everything, and removed rwlock 5 years ago
Francisco Paisana 7210c35c6c checked all methods of srsenb::pdcp to see if they are called by different threads. Since it is all single-threaded, I removed the locks 5 years ago
Francisco Paisana fed06138b9 moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack 5 years ago
Francisco Paisana d10e950650 fix ue streamid assignment in s1ap 5 years ago
Andre Puschmann c79e202fd9 fix typo 5 years ago
Andre Puschmann 37c342af39 give enb_phy_tests individual names 5 years ago
Andre Puschmann a8bbe551ac move thread class into srslte namespace to avoid ambiguity between std::thread 5 years ago
Andre Puschmann 8b46f631c1 add basic TTI stats in stack 5 years ago
Francisco Paisana ad9e126299 test for different enb_cc_idxs as pcell. Bug fixes 5 years ago
Francisco Paisana 0f3ef11f8b now the scheduler only activates a scell after receiving a valid CQI for the SCell 5 years ago
Francisco Paisana f571b7c16b cleaned up some of the log error messages in the sched tester 5 years ago
Francisco Paisana c595696ec2 no need for a separate class for the CA tester 5 years ago
Francisco Paisana b44754f0ae the CA and random sched testers now use same structs and common interface. 5 years ago
Francisco Paisana 385fa226e0 started to use a type-safe tti counter for comparisons. Uniformized the common_sched_tester api. Next, need to use the same struct to register events. 5 years ago
Francisco Paisana 518f813f13 now the CA testing generation and simulation happen simultaneously. This way we can do more tti/event specific checks 5 years ago
Francisco Paisana b319f8dfcd created first version of CA test. Now we need to create actual asserts 5 years ago
Francisco Paisana 507bc2d2a2 created a test for CA. Currently is quite empty 5 years ago
Xavier Arteaga 2c534c9059 Correction of TX_DELAY and FDD_HARQ_DELAY_MS uses in srsenb PHY 5 years ago
Xavier Arteaga ae6f52bf0b Fix CLang Warnings in PHY eNb Test 5 years ago
Xavier Arteaga 0556dea01a Refactored eNb PHY test to accept arguments and added unit test 5 years ago
Xavier Arteaga 9a54930430 Minor log messages and dynamic number of buffer allocation 5 years ago
Xavier Arteaga 2a6f54e13f SRSENB: phy method cleanup and CLang tidy warning fixes 5 years ago
Xavier Arteaga 4c61ffd391 SRSENB: set UE common PHY configuration in RRC::UE constructor 5 years ago
Xavier Arteaga 5893f66364 SRSENB: fixes, srsUE attaches srsENB 5 years ago
Xavier Arteaga b45223c880 Fix minor MAC Clang warnings 5 years ago
Xavier Arteaga f35ed14f76 SRSENB: refactored PHY common UE database 5 years ago
Xavier Arteaga 2fc0832f05 Addition of DL HARQ-ACK generation procedure for eNb DL and minor aesthetic changes 5 years ago
Andre Puschmann dc8c5687c6 fix rwlock in PDCP
we've used a rdlock but since the users struct is modified, we should be
really using a rwlock
5 years ago
Andre Puschmann 9e113f8b27 pdcp: allow to configure security for rx/tx seperately
previously PDCP security (integrity and ciphering) could only
be enabled for both Rx and Tx at the same time.

this, however, caused an issue during the conformance testing in which,
in TC_8_2_1_1() for example, the eNB sends a SecModeCommand and a
RRC Reconfiguration in the same MAC TB. In this case, the eNB
needs to be able to enable DL security right after sending the SecModeCmd
in order to send the RRCReconfig encrypted. However, enabling UL security needs
to be postponed until after the SecModeComplete is received.

This patch allows to enable PDCP security for rx/tx independently if
that is needed. The default way is like before, enabling it for tx/rx at
the same time.
5 years ago
Francisco Paisana ac52208409 removed most of clang-tidy warnings, introduced logmap in asn1, fixed info object naming in s1ap and ngap for successful and unsuccessful outcomes 5 years ago
Francisco Paisana e859d622c7 added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas 5 years ago
Francisco Paisana b8b8740258 fix wraparound in si proc and error in scell parsing 5 years ago
Francisco Paisana 052892916e fix mme/enb id assignment. Also, now using the macro for invalid rnti and a boolean flag for the uninitialized mme s1ap id 5 years ago
Francisco Paisana 2f57db5352 changed invalid rnti to 0 5 years ago
Francisco Paisana 7557ef45c8 changed the s1ap to allow the insertion of users without rnti 5 years ago
Francisco Paisana c29f08d8d5 refactored si acquisition procedure to use stack timers. Also created an interface that is going to be used for the task/timer handling 5 years ago
Ismael Gomez a5b7dcdf16
Remove boost string (#936)
* Remove boost string

* Make sure that int/enc algos can be specified in capital case in the MME.

* Use == instead of compare for comparing strings with const chars

Co-authored-by: Pedro Alvarez <pedro.alvarez@softwareradiosystems.com>
5 years ago
Francisco Paisana 42449b079a now the scell_activation CE is only for 1 octet. The 4 octet one is not yet supported. 5 years ago
Francisco Paisana d831522692 addition of SCell Activation CE Cmd to scheduler and MAC 5 years ago
Francisco Paisana 838053e8f2 added SCell Activation CE to scheduler. Handling this CE in the MAC is still missing 5 years ago
Francisco Paisana a0407dd6f7 created a lock guard for pthread rwlocks. This will avoid using gotos in many cases, and the RAII technique avoids many accidents. 5 years ago
Xavier Arteaga 385102fa2d SRSENB: minor format, renaming and interface changes 5 years ago
Xavier Arteaga bf4ecc8064 Fix srsenb PHY and unit/component tests 5 years ago
Xavier Arteaga f9c3dd2748 more fixes in the srsenb 5 years ago
Xavier Arteaga 5dbc96458a Sets PUCCH decode threshold as macro 5 years ago
Xavier Arteaga 231431f569 SRSENB: enabled CA PUCCH decode in eNb 5 years ago
Xavier Arteaga 73c63b10f2 Fix compilation of dummy classes 5 years ago
Xavier Arteaga db9cd1683a SRSENB: improved phy test 5 years ago
Xavier Arteaga fd29944bf9 [Temporal] Disabled by default enb phy test 5 years ago
Xavier Arteaga 3f5c270fce SRSENB: added initial component PHY test 5 years ago
Xavier Arteaga 40772eae19 SRSENB: UE PHY dedicated takes a flat configuration structure 5 years ago
Xavier Arteaga 35f4e5d69a Initial PUCCH 1B with channel selection 5 years ago
Francisco Paisana c9ac42f11d renamed rlc pdu / mac sdu allocate functions, and added some comments describing what these functions do 5 years ago
Francisco Paisana 87038375d5 fixed the building of MAC SDUs in the scheduler. Now, we ensure there is always space for the MAC subheader and RLC header. The MAC subheader is correctly discounted from the remaining bytes in a TB. 5 years ago
Francisco Paisana 089f72d573 ensure minimum tbs. If it cant do it, increase mcs until it can. 5 years ago
Andre Puschmann cccabdaf4f removing unneeded install targets for static libs (reported by Filipe) 5 years ago
Francisco Paisana c8fc0d91b3 changed the supported cc list to a vector of structs 5 years ago
Francisco Paisana 42b15c7bed use common ue_cfg interface to set the ue antenna info 5 years ago
Francisco Paisana 5f557700f2 changed the sched::ue_cfg(...) function to allow diff configurations. The RRC now activates all carriers after rrc reconf complete 5 years ago
Francisco Paisana b66bc3a6b0 create a sched_interface struct for antenna info dedicated. This way we remove the asn1 as a dependency in the scheduler 5 years ago
Francisco Paisana 88a22e7dbf support cc cfg from rrc 5 years ago
Francisco Paisana 095d0cda5a fix regs leak 5 years ago
Francisco Paisana e86862611c update the scheduler interfaces to accommodate the configuration of multiple carriers 5 years ago
Francisco Paisana 73c528793f add interface changes to dummy classes and scheduler test 5 years ago
Francisco Paisana 2dc31ea440 added interface to configure multiple cells from the RRC 5 years ago
Pau Espin Pedrol 4949df257e Proper shutdown on SIGHUP
If a process exits and has a controlling terminal, everything under
it gets a SIGHUP by the kernel. That's the case for instance when
running a srsUE over ssh with some specific parameters. As a result,
when the ssh client is killed, SIGHUP is sent to srsUE, which will be
killed immediatelly without proper release, which means in turn that log
buffers are not flushed.
Let's do proper shutdown when SIGHUP is received so that everyone can
get log files.
5 years ago
Andre Puschmann ed179fd311 timers: rename value() to time_elapsed()
this seems to be better readable than value() since
we've sometimes confused it with the timeout value
5 years ago
Andre Puschmann 926f256afa fix RLC dummy class that was missing suspend/resume 5 years ago
Andre Puschmann a32d4ebf59 move PRACH config check into cfg parser 5 years ago
Andre Puschmann 179fd394b2 enb: add SRB2+DRB1 to scheduler AFTER receiving Reconfig Complete
this commit fixes and issue where, after receiving paging and the resulting
PRACH from the UE, the eNB would create DRB1 and already schedule DL traffic
on this bearer. However, since the UE has not received the reconfig message
yet, the DL traffic is dropped since DRB1 isn't set up yet.

the commit also does not reset the BSR state of the bearer inside MAC since
this caused to a stall of the received DL PDU. The value would initially be set to
a non-zero value (after receiving the DL PDU from EPC). But when the bearer
was (re-)introduced to MAC, it would reset the BSR to zero, and, since
MAC never polls RLC, the PDU wasn't sent down until the next PDU arrives
and sets the BSR to a non-zero value again.
5 years ago
Andre Puschmann d3cb2eac83 add RLC suspend/resume to eNB interface 5 years ago
Andre Puschmann 369592544c store last RRC Connection Reconfig with transaction identifier 5 years ago
Andre Puschmann f999e256f9 add error handling for RRC msg packing in eNB 5 years ago
Andre Puschmann ad304207b3 patch PRACH offset parameter for 6 PRB
the 6 PRB eNB requires a different PRACH offset than the default
value of 2 in the SIB1 example. In order to avoid having
to use a separate SIB config with just a single different value,
the patch patches the value to the only right configuration, if it's wrong.
It continues operation but still issues a warning so the user
can change it in the config.
5 years ago
Francisco Paisana c19d033dbc set SIB scheduling to debug mode 5 years ago
Francisco Paisana c8cd12ac53 updated the test logging utils 5 years ago
Francisco Paisana daf471be1f moved test of pdsch collisions for separate test file 5 years ago
Francisco Paisana c537d38650 separated sched tests based on output into a separate file. Added scheduler random tester to unit tests 5 years ago
Francisco Paisana af0b80b0a7 fix test for prb==6 and accidental adaptive retx in UL 5 years ago
Francisco Paisana a9b8c3fd55 fix msg3 prb limit for prb==6. It has to collide with PUCCH 5 years ago
Francisco Paisana 39fff9ed68 fix potential bug with grouping of RARs with same RA-RNTI but different prach_tti. The scheduler might not clear the old tti on time before the grouping. 5 years ago
Francisco Paisana de195e9521 changed the RAR schedule to support the allocation of nof_grants lower than the current nof_grants in the queue with same ra-rnti 5 years ago
Francisco Paisana e9ca6e3d52 fix rar size 5 years ago
Francisco Paisana a74dcd947f changed rar/msg3 scheduling to accommodate multiple rars per TTI 5 years ago
Francisco Paisana dc782e514b change the naming from tti --> sf for scheduling operations specific to a subframe 5 years ago
Xavier Arteaga a6105a3020 SRSENB: made possible custom UL/DL frequencies for each carrier 5 years ago
Xavier Arteaga 604e61810e SRSENB: moved set tx/rx frequency to txrx class 5 years ago
Xavier Arteaga c5dcc5e95b SRSENB: moved backwards compatibility enb conf check 5 years ago