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
2020-03-05 20:46:14 +01:00
Francisco Paisana
43e67b8536
created a harq entity that handles all harq procs. This entity accepts as arg the number of harq procs.
2020-03-05 17:51:33 +00:00
Francisco Paisana
1c041b2c1d
created harq entity class
2020-03-05 17:51:33 +00:00
Francisco Paisana
9f266161cf
increase tbs until allocation is big enough to fit MAC subheader and RLC header
2020-03-05 12:47:43 +00:00
Ismael Gomez
1f3aee2fc0
Fix incorrect parameters
2020-03-05 13:26:16 +01:00
Francisco Paisana
7e840bde86
fix tb idx assignment in scheduler mac sdu alloc
2020-03-05 12:18:05 +00:00
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.
2020-03-05 00:04:21 +00:00
Francisco Paisana
bb38fa7119
fixed tti resetting after tti end
2020-03-05 00:04:21 +00:00
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
2020-03-05 00:04:21 +00:00
Francisco Paisana
8f7890c60a
store mask results in separate variables for testing, and reset sf_sched state at the end of the tti
2020-03-05 00:04:21 +00:00
Pedro Alvarez
afc209711c
Fix jump depending on uninitialized variable in srsenb::sched_ue::set_bearer_cfg_unlocked
2020-03-04 22:03:17 +01:00
Francisco Paisana
5bdc603113
added error macros
2020-03-03 21:26:17 +00:00
Francisco Paisana
b37d9b9930
fixed msg4 setting in sched tester
2020-03-03 21:26:17 +00:00
Francisco Paisana
3cc94c3694
simplified mutexing of the scheduler. One single mutex for everything, and removed rwlock
2020-03-03 21:26:17 +00:00
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
2020-03-03 21:03:37 +00:00
Francisco Paisana
fed06138b9
moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack
2020-03-03 21:03:21 +00:00
Francisco Paisana
d10e950650
fix ue streamid assignment in s1ap
2020-03-03 21:19:09 +01:00
Andre Puschmann
c79e202fd9
fix typo
2020-03-03 17:20:44 +01:00
Andre Puschmann
8b46f631c1
add basic TTI stats in stack
2020-03-03 16:22:04 +01:00
Francisco Paisana
ad9e126299
test for different enb_cc_idxs as pcell. Bug fixes
2020-03-02 16:33:31 +00:00
Francisco Paisana
0f3ef11f8b
now the scheduler only activates a scell after receiving a valid CQI for the SCell
2020-03-02 16:33:31 +00:00
Francisco Paisana
518f813f13
now the CA testing generation and simulation happen simultaneously. This way we can do more tti/event specific checks
2020-03-02 16:33:31 +00:00
Francisco Paisana
b319f8dfcd
created first version of CA test. Now we need to create actual asserts
2020-03-02 16:33:31 +00:00
Xavier Arteaga
2c534c9059
Correction of TX_DELAY and FDD_HARQ_DELAY_MS uses in srsenb PHY
2020-03-02 12:19:09 +01:00
Xavier Arteaga
9a54930430
Minor log messages and dynamic number of buffer allocation
2020-03-02 12:19:09 +01:00
Xavier Arteaga
2a6f54e13f
SRSENB: phy method cleanup and CLang tidy warning fixes
2020-03-02 12:19:09 +01:00
Xavier Arteaga
4c61ffd391
SRSENB: set UE common PHY configuration in RRC::UE constructor
2020-03-02 12:19:09 +01:00
Xavier Arteaga
5893f66364
SRSENB: fixes, srsUE attaches srsENB
2020-03-02 12:19:09 +01:00
Xavier Arteaga
b45223c880
Fix minor MAC Clang warnings
2020-03-02 12:19:09 +01:00
Xavier Arteaga
f35ed14f76
SRSENB: refactored PHY common UE database
2020-03-02 12:19:09 +01:00
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
2020-03-01 18:26:45 +01:00
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.
2020-03-01 18:26:45 +01:00
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
2020-02-28 18:03:29 +00:00
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
2020-02-28 11:33:26 +00:00
Francisco Paisana
b8b8740258
fix wraparound in si proc and error in scell parsing
2020-02-28 10:08:01 +01:00
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
2020-02-26 15:17:45 +00:00
Francisco Paisana
7557ef45c8
changed the s1ap to allow the insertion of users without rnti
2020-02-26 15:17:45 +00:00
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>
2020-02-16 21:32:49 +01:00
Francisco Paisana
42449b079a
now the scell_activation CE is only for 1 octet. The 4 octet one is not yet supported.
2020-02-14 21:49:01 +00:00
Francisco Paisana
d831522692
addition of SCell Activation CE Cmd to scheduler and MAC
2020-02-14 21:49:01 +00:00
Francisco Paisana
838053e8f2
added SCell Activation CE to scheduler. Handling this CE in the MAC is still missing
2020-02-14 21:49:01 +00:00
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.
2020-02-14 14:53:57 +00:00
Xavier Arteaga
385102fa2d
SRSENB: minor format, renaming and interface changes
2020-02-13 10:29:00 +01:00
Xavier Arteaga
bf4ecc8064
Fix srsenb PHY and unit/component tests
2020-02-13 10:29:00 +01:00
Xavier Arteaga
f9c3dd2748
more fixes in the srsenb
2020-02-13 10:29:00 +01:00
Xavier Arteaga
5dbc96458a
Sets PUCCH decode threshold as macro
2020-02-13 10:29:00 +01:00
Xavier Arteaga
231431f569
SRSENB: enabled CA PUCCH decode in eNb
2020-02-13 10:29:00 +01:00
Xavier Arteaga
40772eae19
SRSENB: UE PHY dedicated takes a flat configuration structure
2020-02-13 10:29:00 +01:00
Xavier Arteaga
35f4e5d69a
Initial PUCCH 1B with channel selection
2020-02-13 10:29:00 +01:00
Francisco Paisana
c9ac42f11d
renamed rlc pdu / mac sdu allocate functions, and added some comments describing what these functions do
2020-02-10 16:55:18 +00:00
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.
2020-02-10 16:55:18 +00:00
Francisco Paisana
089f72d573
ensure minimum tbs. If it cant do it, increase mcs until it can.
2020-02-10 16:55:18 +00:00
Andre Puschmann
cccabdaf4f
removing unneeded install targets for static libs (reported by Filipe)
2020-02-10 17:38:42 +01:00
Francisco Paisana
c8fc0d91b3
changed the supported cc list to a vector of structs
2020-02-07 15:06:46 +00:00
Francisco Paisana
42b15c7bed
use common ue_cfg interface to set the ue antenna info
2020-02-07 15:06:46 +00:00
Francisco Paisana
5f557700f2
changed the sched::ue_cfg(...) function to allow diff configurations. The RRC now activates all carriers after rrc reconf complete
2020-02-07 15:06:46 +00:00
Francisco Paisana
b66bc3a6b0
create a sched_interface struct for antenna info dedicated. This way we remove the asn1 as a dependency in the scheduler
2020-02-07 15:06:46 +00:00
Francisco Paisana
88a22e7dbf
support cc cfg from rrc
2020-02-07 15:06:46 +00:00
Francisco Paisana
e86862611c
update the scheduler interfaces to accommodate the configuration of multiple carriers
2020-02-07 15:06:46 +00:00
Francisco Paisana
2dc31ea440
added interface to configure multiple cells from the RRC
2020-02-07 15:06:46 +00:00
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.
2020-02-06 16:19:40 +01:00
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
2020-02-06 14:40:47 +01:00
Andre Puschmann
a32d4ebf59
move PRACH config check into cfg parser
2020-02-03 16:26:15 +01:00
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.
2020-02-03 16:26:15 +01:00
Andre Puschmann
d3cb2eac83
add RLC suspend/resume to eNB interface
2020-02-03 16:26:15 +01:00
Andre Puschmann
369592544c
store last RRC Connection Reconfig with transaction identifier
2020-02-03 16:26:15 +01:00
Andre Puschmann
f999e256f9
add error handling for RRC msg packing in eNB
2020-02-03 16:26:15 +01:00
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.
2020-02-03 16:26:15 +01:00
Francisco Paisana
c19d033dbc
set SIB scheduling to debug mode
2020-01-29 17:38:46 +00:00
Francisco Paisana
af0b80b0a7
fix test for prb==6 and accidental adaptive retx in UL
2020-01-28 17:15:23 +00:00
Francisco Paisana
a9b8c3fd55
fix msg3 prb limit for prb==6. It has to collide with PUCCH
2020-01-28 17:15:23 +00:00
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.
2020-01-28 17:15:23 +00:00
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
2020-01-28 17:15:23 +00:00
Francisco Paisana
e9ca6e3d52
fix rar size
2020-01-28 17:15:23 +00:00
Francisco Paisana
a74dcd947f
changed rar/msg3 scheduling to accommodate multiple rars per TTI
2020-01-28 17:15:23 +00:00
Francisco Paisana
dc782e514b
change the naming from tti --> sf for scheduling operations specific to a subframe
2020-01-28 17:15:23 +00:00
Xavier Arteaga
a6105a3020
SRSENB: made possible custom UL/DL frequencies for each carrier
2020-01-28 11:22:50 +01:00
Xavier Arteaga
604e61810e
SRSENB: moved set tx/rx frequency to txrx class
2020-01-28 11:22:50 +01:00
Xavier Arteaga
c5dcc5e95b
SRSENB: moved backwards compatibility enb conf check
2020-01-28 11:22:50 +01:00
Xavier Arteaga
c2b23d273b
SRSENB: keep backwards compatibility of enb.conf
2020-01-28 11:22:50 +01:00
Xavier Arteaga
5dcb6b5960
SRSENB: Set default PRACH sequence root index in SIB2
2020-01-28 11:22:50 +01:00
Xavier Arteaga
31dffb785f
SRSENB: fix segmentation fault
2020-01-28 11:22:50 +01:00
Xavier Arteaga
9a853d8692
SRSUE: fix compilation
2020-01-28 11:22:50 +01:00
Xavier Arteaga
922481659b
SRSENB: minor corrections
2020-01-28 11:22:50 +01:00
Xavier Arteaga
b08c1f003e
SRSENB: enabled multiple cells from rr.cfg
2020-01-28 11:22:50 +01:00
Francisco Paisana
5ae3afd2b8
created cbit_ref for unpacking const buffers
2020-01-23 12:22:19 +00:00
Francisco Paisana
5468189cd9
fix some variables' naming (e.g. x2_ap -> x2ap, e_rab -> erab)
2020-01-21 00:58:19 +00:00
Francisco Paisana
2a83eee0ee
fix security key setup
2020-01-21 00:58:19 +00:00
Francisco Paisana
83758e4f55
fix integrity/ciphering bit setting
2020-01-21 00:58:19 +00:00
Francisco Paisana
ee24b59924
converted s1ap to new s1ap asn1 lib. Cleaned up bitstring packing/unpacking and bitstring types
2020-01-21 00:58:19 +00:00
Francisco Paisana
25bb36cdc3
converted ho preparation to new s1ap asn1 lib. Extended s1ap test
2020-01-21 00:58:19 +00:00
Francisco Paisana
6d1172de71
converted enbstatustransfer and ulnastransport to the new s1ap asn1 lib
2020-01-21 00:58:19 +00:00
Francisco Paisana
40baed0b3e
converted uecontextmodificationresponse, initial setup request, and s1setup request to the new s1ap asn1 lib
2020-01-21 00:58:19 +00:00
Francisco Paisana
b1c5bf7185
reverse addrv4 packing in s1ap
2020-01-21 00:58:19 +00:00
Francisco Paisana
a740fcb954
bug - wrong ue context release cmd
2020-01-21 00:58:19 +00:00
Francisco Paisana
3066b404ac
fix integer ext asn1 generation
2020-01-21 00:58:19 +00:00
Francisco Paisana
b6c53d786b
updated s1ap rrc interface with new asn1 lib types
2020-01-21 00:58:19 +00:00
Andre Puschmann
fef6893ce4
make user activity handling independent of system time
...
this commit removes the getsystime() call from the activity handling.
it uses a single timer per UE to handle its activity.
three different timer values exist. one for the Msg3 reception. This
is like before and is quite low to quickly remove fake UEs from the
RRC. The second is a generic value (set to 1s for now) that covers
the entire UE configuration phase where multiple messages are sent
back and forth until the UE is fully set up and the default
bearer runs. From there on, the UE inactivity timer is used which
may be much bigger than 1s.
2020-01-14 20:52:09 +01:00
Andre Puschmann
e5ed6ac870
fix tiny memleak by not joining input thread
2020-01-14 20:52:09 +01:00
Andre Puschmann
13bc9196b0
fix uninit memory in metrics processing
2020-01-14 20:52:09 +01:00
Andre Puschmann
b0bfc7956d
use const& in metrics interface
2020-01-14 20:52:09 +01:00
yagoda
2db90c5dd3
allowing TA CE commands in Msg4
2020-01-14 16:53:57 +01:00
Francisco Paisana
f280720564
this fix was detected by Syed in the mailing list
2020-01-08 13:45:26 +01:00
Andre Puschmann
be4ba504bd
fix another bunch of uninit memory in tests, and one in srsENB
2020-01-07 11:12:34 +01:00
Andre Puschmann
6ec573987a
remove default value for 'blocking' param from pdcp::write_sdu()
...
there were two defaults and one was shadowing the other. This
commit removes both defaults and uses blocking-mode for RRC
calls to PDCP in the UE. The eNB write_sdu() uses the non-blocking
mode by default. We have to review the eNB's RRC perhaps and use blocking
there too and non-blocking only for data plane
2019-12-29 23:45:37 +01:00
Xavier Arteaga
11eafa8ab4
srsLTE: FFTW wisdom gets loaded and saved by default
2019-12-23 22:57:37 +01:00
Francisco Paisana
2eb6145b99
reset carriers on each set_cfg call
2019-12-18 16:06:21 +01:00
Andre Puschmann
75672324b9
fix RRC connection reconfig for new bearer
...
this fixes the packing of a RRC connection reconfig after creating
a new ERAB
it also adds a PDCP config factory based on the received request
2019-12-18 15:27:42 +01:00
yagoda
845c0fc2c0
fixing lcid issue with eMBMS, adding MRNTI user to stdout metrics
2019-12-18 12:18:58 +01:00
Andre Puschmann
476f970ee1
replace FIXME with TODO
2019-12-18 11:25:56 +01:00
Andre Puschmann
705cd3c211
fix typos spotted by aleksander0m
2019-12-17 16:54:02 +01:00
Pedro Alvarez
c5979f59eb
Clang format UE, eNB and lib ( #850 )
...
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
2019-12-16 16:04:22 +01:00
Andre Puschmann
c7ee887170
add factory function for creating PDCP config
2019-12-16 14:06:26 +01:00
Andre Puschmann
8a064cd3a6
pass msg_type from caller when logging RRC message
...
before the type of some message wasn't displayed correctly,
like SIBs, for example because the logger didn't
know the filed to retrieve the type string
2019-12-16 12:49:07 +01:00
Andre Puschmann
60d07f1656
assign msg-type to temp variable before logging ASN1 message in RRC
2019-12-16 12:49:07 +01:00
Francisco Paisana
d59016ae68
use of srslte::log* type for ASN1 logging. Initialization of the asn1 and rrc_asn1 loggers done now in both the ue and enb
2019-12-12 15:45:24 +00:00
Andre Puschmann
c379ef6cb1
fix uninit var
2019-12-12 16:29:04 +01:00
Francisco Paisana
d270518d69
updated rrc to new srsasn1 version
2019-12-11 19:58:20 +00:00
Francisco Paisana
1212d403c6
added {} in if condition
2019-12-11 17:41:49 +00:00
Francisco Paisana
6b4488d5c1
added sending of enb status transfer from SeNB
2019-12-11 17:41:49 +00:00
Francisco Paisana
c7f11e5690
fixed issue with the liblte_s1ap transparent container packing
2019-12-11 17:41:49 +00:00
Francisco Paisana
39fcf25e0d
added extra tests for handover. Did a some refactoring to move boilerplate out of the test mobility function
2019-12-06 11:49:01 +00:00
Francisco Paisana
a18a7e307e
moved all the parsing of the libconfig files to separate functions that can be called from individual tests. Created several stack layer dummy classes for testing. Extended the rrc_mobility test to check correctness of RRC HOPreparation struct
2019-12-06 10:21:41 +00:00
Francisco Paisana
b792a3158c
removed magic numbers for s1ap timers, and handled the error in the s1 ho cmd
2019-12-05 17:36:15 +00:00
Francisco Paisana
524c80a804
added handling of ho command
2019-12-05 17:36:15 +00:00
Pedro Alvarez
e1cdd51eba
Clang-formated before pull request
2019-12-04 18:21:14 +01:00
Pedro Alvarez
e68956bcf6
Adding discard timer timeout to PDCP config.
2019-12-04 18:21:14 +01:00
Pedro Alvarez
a049ec6b82
Finished to add boiler plate code to support PDCP discard notifications to RLC.
2019-12-04 18:21:14 +01:00
Pedro Alvarez
2e7ddef038
Continue to add discard_sdu to RLC interfaces.
2019-12-04 18:21:14 +01:00
Francisco Paisana
ab3d7dd413
updated sched interface for multiple carriers
2019-12-03 15:46:22 +00:00
Francisco Paisana
1da86df597
added map between cc_idx and enb cell specifier
2019-12-03 10:04:11 +00:00
Francisco Paisana
eeb47f8fa4
fixed issue regarding repetition of ConRes tx
2019-12-03 10:04:11 +00:00
Francisco Paisana
e94e0a8641
changed the logic associated with the tx of the conres CE
2019-12-03 10:04:11 +00:00
Francisco Paisana
3159a5b84a
added cc_idx to dl_rach_info
2019-12-02 12:36:27 +00:00
Francisco Paisana
01847c5f5d
phy_config_enabled is general to all the carriers of the ue
2019-12-02 12:36:27 +00:00
Francisco Paisana
cab9327b1a
updated scheduler interfaces to accommodate multiple carriers
2019-12-02 12:36:27 +00:00
Xavier Arteaga
8dd1c59e18
Added amplitude and power conversions to dB and viceversa
2019-12-02 09:47:22 +01:00
Francisco Paisana
6d4f746a61
moved tti_sched_result out of carrier_sched. Removed interdependencies between the two classes. Simplified ra_sched and bc_sched initialization
2019-11-28 20:22:40 +00:00
Francisco Paisana
7990e2f563
use of a common tti_params struct to store all values derived from tti_rx
2019-11-28 20:22:40 +00:00
Francisco Paisana
36c45c7d64
added the changes in the enb stack from next
2019-11-28 11:57:41 +00:00
Francisco Paisana
54992e72f1
fixed and simplified multiqueue task api to avoid dangling pointers.
2019-11-28 11:57:41 +00:00
Francisco Paisana
ac4d3b9624
std::functions do not accept move-only captures. So I had to create a wrapper earlier. In this PR, I cleaned a bit the previous API for the code to be a bit more readable
2019-11-28 11:57:41 +00:00
Francisco Paisana
011b2168a6
grouped different sched params/args/derived params into a single struct to simplify the ctor api of different sched sub components
2019-11-27 15:20:55 +00:00
Andre Puschmann
6f72cbffab
fix snprintf of uint64 for ARM
2019-11-24 14:59:54 +01:00
Pedro Alvarez
d4fb4d8c86
Fixup clang-format in pdcp before PR.
2019-11-21 13:18:30 +01:00
Pedro Alvarez
15613465cf
Moving some initialization from init function to constructor in the PDCP entities.
2019-11-21 13:18:30 +01:00
Francisco Paisana
0f01b0acc2
clean paging_opportunity function
2019-11-20 15:52:21 +00:00
Francisco Paisana
77f63f7bcd
removed gtpu mutex
2019-11-20 15:52:21 +00:00
Francisco Paisana
73e06a0858
removed threads from eNB MAC
2019-11-20 15:52:21 +00:00
Francisco Paisana
151159e2c6
avoid passing stack vars by reference in callbacks
2019-11-20 10:34:35 +00:00
Francisco Paisana
e8487211e4
changed the naming of mch to m1u in the gtpu class
2019-11-20 10:34:35 +00:00
Francisco Paisana
2512e0fd79
removed thread from GTPU MCH
2019-11-20 10:34:35 +00:00
Francisco Paisana
1400777639
removed 1st thread from GTPU
2019-11-20 10:34:35 +00:00
Francisco Paisana
a9a33256e9
fixed some of the net utils functions
2019-11-15 17:57:36 +00:00
Francisco Paisana
546ee98879
fixed small issue that was causing compilation errors
2019-11-15 17:57:36 +00:00
Francisco Paisana
2de0eee9c7
clean up some comments
2019-11-15 17:57:36 +00:00
Francisco Paisana
76673d2d40
cleaned up socket util methods, and made the S1AP non-blocking.
2019-11-15 17:57:36 +00:00
Andre Puschmann
30aac5a89a
fix wrong c-type cast accessing UE database and uninit mem
2019-11-15 17:20:51 +01:00
Aleksander Morgado
ed6044eb54
enb,rrc: always print full RRC message contents
...
Do not limit them to 1024 chars.
2019-11-15 16:34:10 +01:00
Francisco Paisana
177e880293
removed extra threads from enb rrc
2019-11-11 15:20:10 +00:00
Francisco Paisana
33aa858118
rr.conf.example fix
2019-11-11 14:48:33 +00:00
Francisco Paisana
ff62ae6ad0
created the method chain in RRC to receive and handle the response to a S1AP HORequired
2019-11-10 22:06:31 +00:00
Francisco Paisana
50ed2ccfec
added the handling of ho preparation failure and an ue class to s1ap
2019-11-10 22:06:31 +00:00
Francisco Paisana
57cd40ca31
added an ho required message send from SeNB to MME
2019-11-10 22:06:31 +00:00
Xavier Arteaga
2b7ef9b4a8
SRSENB: Fixed rr.conf cell list example parsing errors and segfault
2019-11-08 17:33:35 +00:00
Francisco Paisana
56fdf047e6
added default cell_list config to the rr.conf, but commented
2019-11-08 17:33:35 +00:00
Francisco Paisana
37a9501db3
added scell parsing to the rr.conf
2019-11-08 17:33:35 +00:00
Francisco Paisana
c8e50c1e19
DL/UL sched are called in a round-robin fashion
2019-11-08 16:02:27 +00:00
Francisco Paisana
690a9850e7
cleaned up some old patterns and run clang-format in RRC and scheduler
2019-11-08 13:59:38 +00:00
Francisco Paisana
ee209fc0a2
added a stack thread to the eNB and move the tti_clock() method to this thread to avoid race conditions
2019-11-07 20:43:06 +01:00
Xavier Arteaga
2e1479e9d6
SRSENB: Added PHY CA PRACH workers
2019-11-07 16:01:01 +01:00
Andre Puschmann
2f00fd62ec
fix PDCP config in TTCN3 SS
2019-11-07 14:12:08 +01:00
Pedro Alvarez
b7fdcaabc5
Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing.
2019-11-07 14:12:08 +01:00
Francisco Paisana
35c9f02579
added quant cfg parsing and addition to measCfg
2019-11-01 15:48:47 +00:00
Francisco Paisana
b6b1dd1814
extended mobility test
2019-11-01 15:48:47 +00:00
Francisco Paisana
427fdb83fe
using std::make_tuple now to support old compilers. Move operator== definitions for meascfg types to rrc_asn1_types
2019-11-01 15:48:47 +00:00
Francisco Paisana
200e18ee3a
added diff computation for reportconfig and measid. Tests passing
2019-11-01 15:48:47 +00:00
Francisco Paisana
1524e28c3a
finished the function to compute diffs between cells/measObjs of two var_meas_cfg objects. Added tests for this. Now the update of a UE's var_meas_cfg is made via a shared pointer.
2019-11-01 15:48:47 +00:00
Francisco Paisana
b7559171b7
added logic to insert cells from conf file into var_meas_cfg and calculate diffs between meas_objs
2019-11-01 15:48:47 +00:00
Francisco Paisana
b88b8fde7b
moved the carrier scheduler and tti_result_t classes out of the main sched class. Now it is possible to instantiate more than one carrier_sched per sched
2019-10-31 16:01:04 +00:00
Francisco Paisana
2019fec37a
moved dl/ul scheduling to the a separate class carrier_sched
2019-10-31 16:01:04 +00:00
Francisco Paisana
00d24872d9
clang-format on all the scheduler files
2019-10-31 16:01:04 +00:00
Francisco Paisana
c1f9d8768c
started to implement separate SIB scheduler, and its tests. This is particualrly important for CA
2019-10-31 16:01:04 +00:00
Francisco Paisana
22f2781f28
fixed bug associated with the initialization of srsenb::rrc::ue. Disabled std::map::operator[] as a result
2019-10-30 14:27:37 +01:00
Francisco Paisana
7e62d6d1f9
added parser for rrc_cnfg section of rr.conf file, and dummy rrc_mobility class
2019-10-29 15:27:09 +00:00
Francisco Paisana
b0d2584795
Merge pull request #735 from softwareradiosystems/pr_sched_changes
...
Scheduler changes
2019-10-23 20:40:38 +01:00
Francisco Paisana
8440126d35
removal of srslte::timers class
2019-10-23 19:33:25 +01:00
Francisco Paisana
d2c56caf7e
applied new timer class to the whole code base
2019-10-23 19:33:25 +01:00
Francisco Paisana
6aec98e140
cleanup of some type names, and other minor changes
2019-10-23 18:47:37 +01:00
Francisco Paisana
c19e0d9423
moved the RAR/Msg3 scheduling to a separate class
2019-10-23 18:46:26 +01:00
Francisco Paisana
388776d1fa
provided a general way to access ue_db from the scheduler - part2
2019-10-23 18:07:42 +01:00
Francisco Paisana
e0b8be61e5
provided a general way to access ue_db from the scheduler
2019-10-23 18:07:42 +01:00
Francisco Paisana
d79e49ed4c
moved the BC scheduling to a separate class/file
2019-10-23 18:06:32 +01:00
Francisco Paisana
837c16557f
started to implement separate SIB scheduler, and its tests. This is particualrly important for CA
2019-10-23 17:48:47 +01:00
Francisco Paisana
84ac16826f
modernized the scheduler code, and removed some clang-tidy warnings
2019-10-23 17:48:47 +01:00
Ismael Gomez
3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
...
* Added channel emulator to srsENB. Added support for fixed delay
* Bug in OFDM when using nonguru mode
* A few changes and refactor in eNodeB
2019-10-23 11:09:39 -05:00
Xavier Arteaga
73517f981e
Minor fixes
2019-10-21 16:17:37 +02:00
Xavier Arteaga
423475173d
Refactored magnitude and argument extraction from sf_worker
2019-10-21 16:17:37 +02:00
Xavier Arteaga
f9a795e985
SRSENB: cleanup and mutex rearange
2019-10-21 16:17:37 +02:00
Xavier Arteaga
8e92baf401
SRSENB: quitsafter entering 'q\n'
2019-10-21 16:17:37 +02:00
Xavier Arteaga
10480f62b3
SRSENB: Split sf_worker and cc_worker
2019-10-21 16:17:37 +02:00
Xavier Arteaga
4238c045a4
fix unitialised value
2019-10-14 14:43:59 +02:00
Xavier Arteaga
ce9bcc1033
fix unitialised value
2019-10-14 14:42:34 +02:00
Ismael Gomez
1d83bb08e2
Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO
2019-10-14 11:20:35 +02:00
Francisco Paisana
a2f1998350
fix issue with thread pool shut down
2019-10-04 10:24:21 +02:00
Francisco Paisana
6db0e474be
moved RA waiting procedure to a background task of the stack thread pool
2019-10-02 11:04:47 +02:00
Xavier Arteaga
b3e8c4ae6a
SRSENB: Schedule RI reporting
2019-09-30 15:15:18 +02:00
Andre Puschmann
a2ab043c0d
fix memleaks and uninitialized vars found by cppcheck
2019-09-20 10:55:29 +02:00
Ismael Gomez
6bb0790cf1
Fix coverty issues ( #652 )
2019-09-13 15:06:20 +02:00
Pedro Alvarez
004db4a067
Applied clang-format to zuc_support PR.
2019-09-10 13:46:21 +02:00
Pedro Alvarez
1ae8ccda8c
Added EIA3 and EEA3 to default UE capabilities to srsUE. Added parsers for EEA3/EIA3 config options in srsENB and srsEPC
2019-09-10 13:46:21 +02:00
Andre Puschmann
49279c89d8
send DL-DCCH on SRB2 after it has been established
2019-09-09 17:16:22 +02:00
Harald Welte
2e426948fe
[ENB] Add CFSB support
...
This commit introduces CSFB (circuit switched fall-back) capabilities to
srsLTE. Actually, all the eNB has to do is to send a
RrcConnectionRelease with the RedirectedCarrierInfo IE.
The MME triggers this by the S1AP CS Fallback Indicator IE, which may
be present either in the Initial Context Setup Requst or in the
UE Context Modification Request.
As srsLTE has no support for the UE Context Modification Request at all
yet (!), basic support for this message is introduced in this patch.
Both Mobile Originated and Mobile Terminated CSFB with a coupel of
different UE models have been verified using this patch in a setup
consisting of srsENB attached to an undisclosed EPC connected via SGsAP
to a complete Osmocom 2G network.
Closes : #358
Closes : #363
2019-09-09 16:59:00 +02:00
Ismael Gomez
c92c61d560
Optimized front-end logging processing ( #641 )
...
Avoid memory allocation and stringstream in log frontend calls (executed from worker threads). Uses a buffer pool of fixed buffer and vsnprintf
2019-09-04 15:32:29 +02:00
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
2019-09-04 15:28:09 +02:00
Francisco Paisana
116dc0a57b
fixed group extensions, removed extra presence flag for copy_ptr<T> types as it was just a source of bugs.
2019-09-02 20:21:54 +02:00
Harald Welte
756374419f
SRSENB: Add SIB7 (GERAN neighbor) support
...
This adds the required missing bits to the eNB config file parser
to enable minimalistic support of parsing SIB7 configuration.
SIB7 contains GERAN (GSM) neighbor cell information, which is important
if you are operating a combined 2G+4G netowrk and want to assist the UEs
to reselect GSM cells once they move out of LTE coverage.
An example SIB7 section looks as follows:
sib7 = {
t_resel_geran = 1;
carrier_freqs_info_list =
(
{
cell_resel_prio = 0;
ncc_permitted = 255;
q_rx_lev_min = 0;
thresh_x_high = 7;
thresh_x_low = 7;
start_arfcn = 871;
band_ind = "dcs1800";
explicit_list_of_arfcns = ( 873, 875, 877 );
}
);
};
Closes : #357
2019-08-29 20:47:02 +02:00
Andre Puschmann
343c30be4a
fix RF metrics/logging in eNB
2019-08-07 14:12:57 +02:00
Harald Welte
d01dd7fb91
[ENB] Fix builds with #define WRITE_SIB_PCAP
...
Building with WRITE_SIB_PCAP was broken in April 2019 in commit
7780b1aba5
. Let's make it work again.
2019-08-05 11:24:48 +02:00
Harald Welte
844994f2cd
[ENB] Fix enabling of MAC pcap file
...
when using
[pcap]
enable = true
filename = /tmp/enb.pcap
in enb.conf, there is no pcap file created.
The problem is somewhere in the way how arguments are handled.
pcap.enable is properly parsed into args.pcap. However, later on,
lte_stack->init(args.stack, rrc_cfg, lte_phy.get()) only passes
args.stack down the road, not args.pcap. enb_stack_lte::init() then
basically uses args.stack.pcap and not args.pcap, and the latter appears
always false.
Let's remove pcap_args_t from all_args and only use the instance in
stack_args_t.
Closes : #359
2019-08-05 11:24:41 +02:00
Pedro Alvarez
6efa944b5e
Removed srslte prefix from pdcp_config_t
2019-07-30 15:01:50 +02:00
Pedro Alvarez
494be243c0
Changed security direction to use an enum.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
964db869a6
Fix mistake in configuring SRB1's PDCP.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
d3b6828082
Changed PDCP configuration to explicitly have tx and rx direction. Decrypt on PDCP NR seems fine.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
73e30743d1
Added enum to PDCP config to replace two bools.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
457f35699d
Reverted back to a single config structure between PDCP NR and PDCP LTE.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
005d03cb1a
Starting to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr to support NR PDCP
2019-07-30 15:01:50 +02:00
Andre Puschmann
e0bd7f156d
replace remaining warning macros with pragma message
2019-07-23 15:38:21 +02:00
Andre Puschmann
09610ce788
add type setter to sch_subh and use it for MCH PDUs
2019-07-23 15:38:21 +02:00
Andre Puschmann
e60a4490d2
streamline embms parameters and fix MCS selection
2019-07-21 22:27:17 +02:00
yagoda
408400bee6
adding fixes and tests for eMBMS
2019-07-21 22:27:17 +02:00
Francisco Paisana
424876c5e4
added DL TTI mask for MBMS
2019-07-21 22:27:17 +02:00
Ismael Gomez
0dac2ef59b
Update SIB2 also when forcing p_b
2019-07-17 17:35:36 +02:00
Ismael Gomez
feafec2725
Fix srsENB PHY log and reorganized expert args
2019-07-17 12:40:57 +02:00
Andre Puschmann
62eba8f3d8
fix default radio, channel and rx antenna setting in eNB ( #594 )
2019-07-16 14:32:02 +02:00
Xavier Arteaga
5e49aca835
Merge pull request #570 from softwareradiosystems/feature_256qam_fix
...
Resource allocation extended tables and PDSCH table 2 for 256QAM
2019-07-12 12:32:47 -04:00
Andre Puschmann
4e86b2f6b2
introduce layerd architecture we use for UE to eNB
...
- this allows flexible use of different PHYs and radios
- use common radio_multi (moved to lib)
2019-07-12 04:17:56 +02:00
Ismael Gomez
d595c4d882
Fixes issue #545 and unlocking of tti_sync condvar before closing causing deadlock at stop
2019-07-11 14:55:35 +02:00
Andre Puschmann
5faa819dcd
fixing uninitialized class members found by coverity
2019-07-08 11:12:46 +01:00
Andre Puschmann
92f0d58856
mac: move further init/config into ctor to allow early logging, etc.
2019-07-05 17:24:06 +02:00
Andre Puschmann
6a11030ae1
enb: fix race condition in workers overwriting the DL tx buffer
...
this adds a own tx buffer for each HARQ PID
2019-07-05 10:48:30 +02:00
Francisco Paisana
58e2e51044
removed rlc_interfaces. The rlc_cnfg types are now part of the rrc_interface_types. Removed implicit RB initialization in the RLC.
2019-07-05 10:44:15 +02:00
Francisco Paisana
b936629221
removed rrc asn1 header from bcd_helpers, from rlc_interface, and rlc tests
2019-07-05 10:44:15 +02:00
Guillem Foreman
535325bc37
srsLTE: added resource allocation extended tables for 256QAM and integration with PDSCH test
2019-07-04 15:49:43 +02:00
Andre Puschmann
62a4fa1c93
fix various potential buffer overruns
...
this is based on suggested fixes by Dirk Grabinski and David who
have fuzzed various parts of srsLTE using afl
2019-07-04 14:43:59 +02:00
Francisco Paisana
34fde16b40
change scheduler mutex to std::mutex ( #546 )
...
* change scheduler mutex to std::mutex
* rename lck to lock
2019-07-01 11:38:37 +02:00
Pedro Alvarez
498f1b8e4b
Small PDCP fixes:
...
- Moved most the initialization of the pdcp_entity to the header.
- Initilize some variables in gtpu_ntoa.
- Removed debug print.
- Format eNB GTP-u debugging code.
2019-06-27 17:09:52 +02:00
Pedro Alvarez
5d8dcbe4cb
Make sure that PDCP SN is initialized properly in the eNB. UE attaches again when using encription.
2019-06-27 17:09:52 +02:00
Pedro Alvarez
b97d1191f4
Added more debug info at eNB GTP-U. Changed the pdcp_entity to follow the standard more strictly for RLC AM DRBs.
2019-06-27 17:09:52 +02:00
Pedro Alvarez
09144a2c5f
Added check of IP version to the eNB GTP-u. Helpfull for debug.
2019-06-27 17:09:52 +02:00
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.
2019-06-27 14:51:33 +02:00
Andre Puschmann
da35f41dd5
rework MAC logical channel prioritization
2019-06-26 17:57:25 +02:00
Andre Puschmann
e0a28cf4c0
simplify PDCP init and also bypass it for SRB0 on eNB
2019-06-21 15:49:46 +02:00
Francisco Paisana
415d3418b6
reorganized enb to mirror ue director/class structure with a stack class
2019-06-07 15:41:56 +02:00
Andre Puschmann
e47010130f
extend thread class to set unique thread name in ctor
...
this will also extend all classes that use srslte::thread
to specify the name of the thread in the ctor as well
as to set the name of the worker threads in the thread pool
the thread name will be displayed in gdb.
2019-06-03 15:03:20 +02:00
Xavier Arteaga
1f52c32b84
SRSENB: Fixed CLang Tidy in enb.cc
2019-05-27 12:21:57 +02:00
Xavier Arteaga
080b4a327c
SRSUE: Refactored asynchronous cell and ue_radio. CA Fixed.
2019-05-17 18:13:51 +02:00
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
2019-05-17 17:46:28 +02:00
Francisco Paisana
0e3baa0f2f
Renamed the reset() method of byte_buffer_t to clear()
2019-05-16 12:35:01 +02:00
Francisco Paisana
3bedc93ba5
added _t to unique_byte_buffer type
2019-05-16 12:35:01 +02:00
Francisco Paisana
f469e2178b
replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use
2019-05-16 12:35:01 +02:00
Francisco Paisana
0976ea6f27
created a unique byte buffer that automatically deallocates
2019-05-16 12:35:01 +02:00
Francisco Paisana
7be183c223
rework scheduler
2019-05-14 22:34:50 +02:00
Francisco Paisana
b04cb0deb9
using the new choice set api in UE and eNB RRC
2019-05-10 11:59:34 +02:00
yagoda
c25f3b0acf
increasing rlc UM window size for eMBMS, small adjustment to eMBMS PHY common
2019-05-06 17:06:25 +02:00
Pedro Alvarez
d4d7691fab
Catch exception by reference to avoid compiler warning.
2019-05-02 11:41:59 +02:00
Ismael Gomez
5e5e797cb9
Adjust 75 PRB radio offset and clean log
2019-05-01 07:40:53 +02:00
Francisco Paisana
a0235ccafe
better error messages
2019-04-29 21:05:13 +02:00
Francisco Paisana
e70e88b8b4
revert prach freq offset auto change
2019-04-29 21:05:13 +02:00
Francisco Paisana
82a0145593
added extra tests in the unpacking of rrc asn1
2019-04-29 17:33:08 +02:00
Francisco Paisana
1674c8939f
automatically resolve invalid prach_offset for prb6
2019-04-29 15:53:59 +02:00
Andre Puschmann
e4ea96aa79
add check for return value for RRC unpacking
...
- handle error cases accordingly
2019-04-29 12:39:02 +02:00
yagoda
3842beab0f
- fixing pmch file test for standard LTE rates
...
- adding special value for MTCH stop
- adding error messages for config values incompatible with MBMS
2019-04-29 12:04:42 +02:00
Andre Puschmann
4b01a2e4a0
update copyright notice
2019-04-29 09:20:02 +02:00
Andre Puschmann
205db6f229
add missing license headers
2019-04-26 21:20:12 +02:00
Francisco Paisana
4ba1993815
fixed some race conditions in the scheduler ( #411 )
2019-04-26 15:52:06 +02:00
Pedro Alvarez
c51a8bfe9d
Fix compilation error when using GCC 8, C++11 and C complex functions.
2019-04-26 13:57:31 +02:00
Andre Puschmann
45de6c3305
fix selection for EEA0 and disallow EIA0
2019-04-26 12:10:40 +02:00
Ismael Gomez
7780b1aba5
add tdd/ca support
2019-04-25 20:57:58 +02:00
Andre Puschmann
bdfb408857
fix uninitialized loop counter
2019-04-22 11:33:20 +02:00
Pedro Alvarez
435d63b871
Making sure errors in the enb.conf is handled gracefully
2019-04-12 16:24:57 +02:00
David Rupprecht
39c49ab1ef
Configurable sec algo preference list
2019-04-11 21:38:01 +02:00
David Rupprecht
fd34e22c84
Started with local preference selection algorithm
2019-04-11 21:38:01 +02:00
David Rupprecht
735f97ceb6
Fixed Bearer ID for data Bearer and changed debug type for enc data pdus
2019-04-11 21:38:01 +02:00
David Rupprecht
b84e49310e
Enable encryption in reconfiguration and after security mode command (NOT TEST)
2019-04-11 21:38:01 +02:00
David Rupprecht
eb3a83ac45
User Plane key in configuration interface
2019-04-11 21:38:01 +02:00
Francisco Paisana
185242d5f5
default release for ack_nack_repeat
2019-04-11 09:44:20 +01:00
Francisco Paisana
8a0ae614c2
added default value to ack_nack_repeat
2019-04-02 11:03:37 +02:00
Francisco Paisana
f778c6ca8d
make mcch check
2019-04-02 11:03:37 +02:00
Francisco Paisana
41338293ea
added a default radioframe alloc
2019-04-02 11:03:37 +02:00
Francisco Paisana
dc0b903130
added default enum inits
2019-04-02 11:03:37 +02:00
Pedro Alvarez
aa3a2a3dba
Fix compilation issue with GCC 8.x using complex numbers.
2019-03-13 13:18:17 +01:00
Andre Puschmann
3702a6660e
fix compilation for gcc 4.x
2019-03-11 14:39:47 +01:00
Andre Puschmann
8e38ef2ee4
print PDU length when logging RRC message
2019-03-07 21:25:10 +01:00
Francisco Paisana
75acb046d9
small p_a initialization fix
2019-02-20 16:14:58 +01:00
Andre Puschmann
6b04435edc
move setting of EARFCNs straight into parse_args function
2019-02-20 16:14:53 +01:00
Andre Puschmann
4204321fde
fix uninitialised variables in enb during startup
2019-02-20 16:14:42 +01:00
Francisco Paisana
43a8a8e195
checking the number of prbs available for DL requires an additional check for the prb=6 ( #322 )
2019-02-05 11:50:33 +01:00
Francisco Paisana
15abb2b020
set the correct size of the buffer for paging
2019-02-04 15:01:44 +00:00
Andre Puschmann
a436baed39
fix build string for builds without valid .git folder
2019-01-22 12:09:52 +01:00
Francisco Paisana
be06f260db
fixed issues in the parsing of sibs
2019-01-21 16:39:00 +00:00
Pedro Alvarez
c5dad67a16
Adding catch to boost program options parser.
2019-01-18 12:38:56 +00:00
Francisco Paisana
0204db2e12
new asn1 rrc library
2019-01-17 17:43:13 +01:00
Andre Puschmann
df7ab7ffe8
Merge branch 'master' into next
2018-12-14 16:54:46 +01:00
Igor Kim
9def82d15b
add error handling on binding s1c socket ( #267 )
2018-12-14 12:02:25 +01:00
Andre Puschmann
d52ea8b602
decrease threshold for DL scheduler to allocate SDU
...
since the RLC buffer state now returns the actual number of
bytes, which may be as low as 2B for a single RLC AM status PDU waiting
to be transmitted, the current DL scheduler wasn't allocating the
PDU even though it was given a grant
2018-12-10 17:48:52 +01:00
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
2018-12-10 17:48:52 +01:00
Andre Puschmann
df40259c26
fix issue in PDCP when bearer ID for DRBs was not starting with 1
2018-12-10 16:58:08 +01:00
Andre Puschmann
4867b16e38
move config file parsing in enb to beginning of init
...
- this waits with initializing the radio until after the configs have been read
- in case the config files contain any mistake, the enb shuts down gracefully
2018-12-10 10:39:42 +01:00
rubund
b801c3dd4e
Fix some spelling errors detected by lintian ( #271 )
2018-12-03 10:36:15 +01:00
Andre Puschmann
c60f7e9013
remove "disconnected" from enb console trace
2018-12-03 09:46:44 +01:00
Pedro Alvarez
548808ecee
Changing RRC key logging from debug to info. Small readability fix.
2018-11-30 21:42:43 +01:00
Pedro Alvarez
645bd60d75
More debug prints
2018-11-30 21:42:43 +01:00
Andre Puschmann
05abdc9516
remove printf from eNB RRC
2018-11-20 18:36:00 +01:00
Andre Puschmann
db910cb84b
add CSV metrics for eNB
2018-11-20 12:15:04 +01:00
Andre Puschmann
8a1368c8d6
send connection reject if MME isn't connected
2018-11-16 14:56:39 +01:00
Andre Puschmann
c35b467d57
suppress scheduler warning for failed PUCCH allocation for 6 PRBs
2018-10-05 15:12:06 +02:00
Andre Puschmann
5a3fa7c305
fix scheduler issues for 6 PRBs
2018-10-05 15:00:49 +02:00
Francisco Paisana
d234f4a614
fix MCS assignment for 6 PRBs
...
- cherry-picked and resolved conflicts from 0960ef5c6dcd2f9b96169b3f4c266197b922c46e
2018-10-05 15:00:49 +02:00
Francisco Paisana
bbfd09b62e
add the prach fit checks for PRB=6
2018-10-05 15:00:49 +02:00
Andre Puschmann
15d439761a
log build info in eNB/EPC logs
2018-10-05 14:58:09 +02:00
Pedro Alvarez
a42c71f8ee
Added some debug logs to the eNB GTPU.
2018-10-04 14:44:26 +02:00
Pedro Alvarez
2c761069d4
Adding m1u config to enb.conf.example.
2018-10-04 14:44:26 +02:00
Pedro Alvarez
de75a74932
Fixed some compilation issues.
2018-10-04 14:44:26 +02:00
Pedro Alvarez
796e3fd707
Adding M1-U options to eNB config
2018-10-04 14:44:26 +02:00
Pedro Alvarez
d443604661
Merge next into gtp_cleanup_sn. Fixed some conflicts.
2018-10-04 12:09:13 +01:00
Andre Puschmann
c56fa3b46c
only enable eMBMS if both the sib config is present and its enabled in enb config
2018-10-02 10:52:43 +02:00
Paul Sutton
0e4ab77fb0
GTPU cleanup, adding support for GTPU echo response ( #265 )
2018-10-01 22:18:11 +02:00
Andre Puschmann
0380c83175
remove RF device calibration settings from UE/eNB config
...
- this remove RF calibration parameters that were an extra
section in the eNB/UE config but were hardly used (only old bladeRF)
- a better way to pass those parameter would be through the
device args in the normal rf config section
2018-10-01 21:59:07 +02:00
Andre Puschmann
af5a329fec
print build-info during enb startup
2018-10-01 21:43:42 +02:00
Pedro Alvarez
e925ef0a42
Added some more debug infor to error prints. Making sure that packet is not sent from the eNB if there is an error in the GTP-U header packing. Fixed error in checking msg_type.
2018-10-01 17:34:02 +01:00
Pedro Alvarez
c1f633c5c7
Dropping bitfields for now. Using #defines and uint8_t for the flags.
2018-10-01 15:17:26 +01:00
Pedro Alvarez
7b4bc6f132
Integrity fail after service request ( #268 )
...
* Adding some debug prints to confirm the issue.
* Cleanup whitespaces.
* More debug prints
* Adding boolean to whether it is actually necessary to send NAS message in RRC reconfiguration.
* Deleting debug prints.
2018-09-28 21:04:01 +02:00
Pedro Alvarez
e320c33aef
Fixed last compilation issues.
2018-09-28 15:42:28 +01:00
Pedro Alvarez
ee04639337
Changed gtpu header flags to use a bitfield. Fixing compilation issues.
2018-09-28 13:46:13 +01:00
Ismael Gomez
42e46bc599
Fix MBSFN section optional and default PRACH configuration for MBSFN example
2018-09-27 18:10:35 +02:00
Andre Puschmann
b603125dea
Revert "fix eNB config parsing issue causing eMBMS to be always disabled"
...
This reverts commit 09a47b51b2
.
Causes issues when receiving PRACH from UE.
2018-09-26 17:56:37 +02:00
Andre Puschmann
09a47b51b2
fix eNB config parsing issue causing eMBMS to be always disabled
2018-09-26 11:29:36 +02:00
Paul Sutton
569a7cbc94
GTPU cleanup, adding support for GTPU echo response
2018-09-25 15:17:39 +01:00
Andre Puschmann
10a43f04ba
Merge branch 'master' into next
2018-09-25 15:10:48 +02:00
Andre Puschmann
b27ff06e79
Merge remote-tracking branch 'origin/issue_178' into next
2018-09-25 15:10:38 +02:00
Joseph Giovatto
dc3e88079a
moved earb_info from parent to be unique per ue to avoid overwrites ( #234 )
...
consult integrity check result before proceeding
2018-09-25 14:18:24 +02:00
Andre Puschmann
22599bffda
fix bug in PUSCH decoding when multiple UEs provide HARQ feedback
2018-09-24 15:48:38 +02:00
Ismael Gomez
6f0c554445
TA estimate correction factor calibrated for all bandwidths
2018-09-24 15:39:14 +02:00
Pedro Alvarez
49c44a2bd4
Moved int_helpers to lib so that the EPC can use those functions too.
2018-09-24 14:08:00 +01:00
Ismael Gomez
13cba873d5
Make SIB2 mbsfn settings optional
2018-09-24 11:27:22 +02:00
Andre Puschmann
d981f129e0
Merge branch 'master' into next
2018-09-20 12:54:05 +02:00
Ismael Gomez
dabfbfb75a
Fixes #250
2018-09-19 17:37:23 +02:00
Igor Kim
8d48613c38
fix typo in metrics rssi CMA calculation ( #230 )
2018-09-17 09:43:14 +02:00
Ismael Gomez
6a791f1416
Change TX mutex to semaphores (mutex implementation was violating lock ownership requirement)
2018-09-06 15:22:37 +02:00
Ismael Gomez
bc9d342959
New optimization on the PHY for both UE and eNodeB ( #251 )
...
* New parallel Turbodecoder implementation in SSE/AVX 16-bit and 8-bit
* Optimised UL Interleaver
* Include TB CRC calculation in FEC encoder
* New threading priorities
2018-09-04 17:51:35 +02:00
Andre Puschmann
4da8bf26f8
use non-blocking PDCP write in GW
2018-07-24 15:50:14 +02:00
Andre Puschmann
27d3d697df
refactor RLC part#2
...
- move metrics into entities
- make configure interface return true/false on success/failure
- add own srslte mode type
2018-07-23 17:30:32 +02:00
Andre Puschmann
edfc9df77d
Merge branch 'master' into next
2018-07-17 17:50:38 +02:00
yagoda
a0fa2d5b01
small fix in eMBMS MAC
2018-07-17 17:04:12 +02:00
Andre Puschmann
47a8b1343f
add rwlock to PDCP
2018-07-17 15:27:04 +02:00
Andre Puschmann
be3b2fbc08
Merge pull request #239 from softwareradiosystems/epc_stacktrace
...
Epc stacktrace
2018-07-13 14:28:13 +02:00
Pedro Alvarez
597cf18b9d
Changing common/debug.h to crash_handler.h
2018-07-13 11:57:15 +01:00
Ismael Gomez
2d5cdc4f35
Add log to pool deallocate
2018-07-12 18:13:27 +02:00
Ismael Gomez
5474f6d55f
Add log to pool deallocate
2018-07-12 18:13:19 +02:00
Pedro Alvarez
c3ef88e112
Fixing conflicts with next.
2018-07-12 15:43:27 +01:00
Ismael Gomez
685b368df2
Fix compilation error in previous commit
2018-07-12 11:50:56 +02:00
Ismael Gomez
7df91e1283
Fix compilation error in previous commit
2018-07-12 11:49:56 +02:00
Ismael Gomez
08f7dda0f3
Consider the case of calling gtpu::add_bearer() before initialization
2018-07-12 11:32:38 +02:00
Ismael Gomez
d57bf0f786
Consider the case of calling gtpu::add_bearer() before initialization
2018-07-12 11:32:26 +02:00
Ismael Gomez
30dd539220
Add rwlock to sched class
2018-07-12 11:17:57 +02:00
Ismael Gomez
d95d0e2e7a
Fix issue #179 in master
2018-07-12 11:17:39 +02:00
Ismael Gomez
75e8df2e9f
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
2018-07-11 15:33:22 +02:00
Andre Puschmann
55b3b61ec1
Merge branch 'master' into next
2018-07-11 13:00:47 +02:00
Pedro Alvarez
7aaa9a1789
Moved srslte_debug_handle_crash to common/debug.c
2018-07-09 14:33:50 +01:00
Björn
23cc0ab011
enb: add bind address for s1ap connection ( #128 )
...
add s1c_bind_addr config option to specify the local bind address used for S1AP connections instead of using the GTP address.
This allows operation on setups with split S1U and S1C networks.
2018-07-09 11:52:17 +02:00
Ismael Gomez
881e278a10
Add rwlock to sched class
2018-07-07 12:17:55 +02:00
Ismael Gomez
7c7eed3ad1
Fix issue #179 in master
2018-07-07 11:12:28 +02:00
Ismael Gomez
1aa9951a04
Increased default inactivity timer to 60s
2018-07-06 16:28:54 +02:00
Ismael Gomez
2da9787907
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
2018-07-06 15:31:29 +02:00
Ismael Gomez
f394dc7aa6
Fix deadlock issue in rach_detect
2018-07-06 15:31:18 +02:00
Ismael Gomez
a2615628aa
Increase buffer pool size for enb
2018-07-06 15:30:51 +02:00
Ismael Gomez
efea8f4436
Set Dropped to debug level and reduce eNodeB RLC TX size
2018-07-06 15:30:26 +02:00
Pedro Alvarez
b460ece601
Merge branch 'mbms_tun' into next
2018-07-06 13:01:14 +01:00
Ismael Gomez
19ac35d933
Increased RLC UL buffer size
2018-07-05 18:11:47 +02:00
Ismael Gomez
cf5a6f0580
Increased PUCCH RLF threshold and default number of errors
2018-07-05 14:09:46 +02:00
Ismael Gomez
589e569ce9
Changes on srsENB mutexing logic to fix general race condition and deadlock issues ( #229 )
...
* fixed some issues with the UL scheduling
* Hack to fix UL scheduler
* minor fix
* Cleaned up code and fixed issue with the update_allocation function
* fixed the console printing in the enb
* log/console fix
* fixed the log print
* added a normalization factor
* RLC: entity uses dynamic instances. Simplified stop/reset/reestablish procedure. Added non-blocking interface
* Limit decimals in metrics stdout
* Changed mutexes to rwlock in RLC/RRC/MAC/PDCP to fix race conditions when removing users
* Fix deadlock bug for MIMO
* Remove headers
* Fix missing unlock causing overflows
* Do not decrease CQI when PUCCH (this is a temporal fix, requires to reduce the maximum MCS)
* Fix mutex unlock in worker
* Configurable RLC tx buffer. Default to 512 for enodeb
* Check NULL SDU in write_sdu()
* Protect RLC objects and tx_queue from being destroyed while using it
* Remove superfluous code
* Disable SIB logging
* Fix block_queue for enb
2018-07-05 11:00:19 +02:00
Ismael Gomez
c32ee8944f
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
2018-07-03 18:57:32 +02:00
Ismael Gomez
a8f6081837
Minor changes in scheduler logs and style
2018-07-03 18:23:46 +02:00
Xavier Arteaga
92954c1aa4
Fixed UCI decoder defect in eNb. Improved PUSCH Unit Test. PUSCH CQI is printed like UE.
2018-07-03 17:29:22 +02:00
Pedro Alvarez
0e135adc6f
Starting to change gtpu_read_header and gtpu_write_header to lib.
2018-07-03 14:30:20 +01:00
Pedro Alvarez
27dbbcca02
Stripping GTPU in eNB's M1-U.
2018-07-03 12:48:25 +01:00
jctallon
50589108c6
Mbms fixes ( #225 )
...
* fixing the threading structure for mbms in the gtpu
fixing some leaks in pmch tests
fixing stack overflow caused by radio objext
* adding sib.conf.mbsfn.example
* creating a different thread_mch object for the gtpu
* Make mch_thread an isolated class
* excluding mbsfn subframes from noise estimation and cfo estimation
* fixing pdsch ue plotting to only show pmch constellation when mbsfn is activated.
2018-07-02 17:51:09 +02:00
Ismael Gomez
115244657f
Set GTPU socket to non-blocking
2018-06-29 16:58:38 +02:00
Ismael Gomez
8c92f3fddc
Improvements and fixes on srsENB scheduler ( #228 )
2018-06-29 11:25:22 +02:00
Andre Puschmann
91e1b27219
Merge branch 'master' into next
2018-06-27 11:43:01 +02:00
Andre Puschmann
492958fdba
Merge pull request #209 from softwareradiosystems/minor_fix
...
some allocated buffers in the s1ap were not being correctly deallocated
2018-06-26 12:37:58 +02:00
Andre Puschmann
90bdb730ee
Merge branch 'est_cause' into next
2018-06-26 10:41:41 +02:00
Andre Puschmann
319f4f4ff2
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
2018-06-26 10:41:07 +02:00
Ismael Gomez
9d18349a08
Reduced uhd timeout
2018-06-26 10:27:39 +02:00
Andre Puschmann
064d7bd2dc
use original UE establishment cause in S1AP initial UE message
2018-06-25 18:19:57 +02:00
Andre Puschmann
b551c82f7b
fix bug in packing s1ap
2018-06-25 16:45:32 +02:00
yagoda
cca8362a69
adding mbsfn conditional to gtpu to create mch thread only if mbsfn is enabled
2018-06-14 11:33:43 +02:00
Ismael Gomez
3c276e7ae3
Wait to stop ENB/PHY worker
2018-06-13 16:59:19 +02:00
Ismael Gomez
56d3b9297e
Fix previous commit
2018-06-13 10:49:28 +02:00