Commit Graph
5927 Commits
Author SHA1 Message Date
Laurent Thomas 7c6ece0f51 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into new-gtpu 2021-04-09 12:39:36 +02:00
Laurent Thomas 307098da4a merge develop 2021-04-09 12:39:33 +02:00
Cedric Roux 1a5f10be90 bugfix: nr: free RA process when UE is removed
The bug was:
connect a phone, disconnect, repeat five times. The fifth time the phone
does not reconnect because there is no free RA process.

When an UE is removed, we have to free associated RA processes.
2021-04-06 10:40:37 +02:00
hardy dac2388ed1 Merge remote-tracking branch 'origin/fix-nr-rlc-range-nack' into integration_2021_wk14_a 2021-04-04 08:18:25 +02:00
hardy 02504ef747 Merge remote-tracking branch 'origin/fix-x2-without-gnb' into integration_2021_wk14_a 2021-04-04 08:18:04 +02:00
Cedric Roux 6c6b46985b x2: exit if connection between eNB and gNB breaks
Before this commit, when the gNB crashes, the eNB keeps running.
Same, if the eNB crashes, the gNB keeps running.

In a far past when this happened, the other program (the one not
crashing) was forced to exit.

Then this behavior was changed, for some reason.
But the code was not finished, so now we have a system in an inconsistent
state.

So either we accept that the connection between eNB and gNB can break,
that is one of the programs crashes, and we clean the state of the
program that keeps running. But this is a complex work and it will
surely not survive very long, because someone will change something
in the code later that will break this complex behavior.

Or, simpler, we go back to initial behavior, which is: the program that
did not crash does actually exit when the other crashes.

This commit provides the second solution.

It can easily be reverted whenever someone wants to implement the complex
solution.
2021-03-31 16:39:30 +02:00
Cedric Roux 46c1aff489 fix: do NR only if at least one gNB is connected to the eNB
We used to set 'does_nr' of an UE if we detect ENDC supported in the
UE capabilities.

Then we activate NR measurements if 'does_nr' is true.

The problem is that if the eNB is not connected to a gNB but the UE
reports some NR measurements (because a gNB is running somewhere near)
then the eNB will crash when starting the switch to NR.

A (quick) solution is to set 'does_nr' only if there is a gNB connected to
the eNB.

Maybe not the best solution. To be changed if needed.
2021-03-31 16:39:30 +02:00
hardy 4896e80e2c Merge remote-tracking branch 'origin/NR_MAC_SSB' into integration_2021_wk13_d 2021-03-31 13:47:58 +02:00
Cedric Roux fe4a9b005a nr: add some comments to pdcp nia2 integrity 2021-03-30 16:01:57 +02:00
francescomani 579f0290f6 Merge remote-tracking branch 'origin/develop' into NR_MAC_SSB 2021-03-30 15:10:28 +02:00
Cedric Roux 18cb68ecc2 nr pdcp: first draft of NIA2 integrity
This code has not been tested with a COTS UE. We need SRB1/2 (so we need SA)
to test.

The activation of security and integrity for SRB1 will need more code
(new functions) because it happens after some time, not at creation time
of the PDCP entity and there is no way to do this with current code.
2021-03-30 11:57:51 +02:00
Cedric Roux 14c823037f nr pdcp: bugfix: D/C bit set only for DRBs 2021-03-30 11:57:51 +02:00
francescomani d65af6d8ca Merge remote-tracking branch 'origin/develop' into NR_MAC_SSB 2021-03-30 09:35:18 +02:00
hardy ddf3f9e88c Merge remote-tracking branch 'origin/NR_FAPI_beamindex_SSB_RO' into integration_2021_wk13_a 2021-03-29 10:02:51 +02:00
hardy a84b1b4340 Merge remote-tracking branch 'origin/fix-quectel' into integration_2021_wk12_b 2021-03-28 21:36:45 +02:00
Cedric Roux 9d1c24d461 nr rlc: bugfix: fix NACK with range
We do some sanity checks for incoming rlc control packets. One of them
is to check that so_start is not > so_end when present.

But when 'range' is present and bigger than 1 it means that so_start refers
to one PDU and so_end to another one. So we may well have so_start > so_end.

This commit fixes that and reorganizes a bit the code to do the check before
processing and rejecting the PDU if the values are not correct. (Before this
commit we were NACKing the whole PDUs if so_start > so_end.)
2021-03-26 15:36:43 +01:00
Laurent THOMAS 1cb33aa7de code review fixes, merge latest develop 2021-03-22 09:46:24 +01:00
Thomas Schlichter bc041092c8 NR_UE: always break out of MAC PDU processing after pdu_len Bytes
In case of false positive PDSCH CRC check, a random MAC PDU is processed.
Currently pdu_len is unsigned 16 Bit, so we did break out of the processing loop only if we _exactly_ hit a residual pdu_len of 0, or we hit a LCID of DL_SCH_LCID_PADDING.
If we didn't hit either of these, pdu_len wrapped to a very positive value, and we continued processing the PDU even beyond its bounds!
This behavior was observed with SNR 1 dB and MCS 9.

So better make pdu_len signed and break out of the loop after processing at max. pdu_len Bytes!
2021-03-19 17:45:14 +01:00
Thomas Schlichter 14f3d6a77a gNB: fix memory allocations in fix_scc() and prepare_scd()
issues found by valgrind
2021-03-19 11:40:21 +01:00
Thomas Schlichter dade64ea43 Merge remote-tracking branch 'develop' into NR_DL_MIMO 2021-03-19 11:18:02 +01:00
francescomani f659a76f43 Merge remote-tracking branch 'origin/develop' into NR_FAPI_beamindex_SSB_RO 2021-03-19 10:06:20 +01:00
francescomani f0d6298475 new attempt at improving call to RC L1 config 2021-03-19 09:55:18 +01:00
francescomani a1f1d53cb5 another tentative fix for gnb initialization crashes 2021-03-18 13:09:36 +01:00
francescomani d30b8c69ae fix dlsim crashes (wrong detection of dci for ul) 2021-03-17 18:45:56 +01:00
hardy 9abc8a6425 Merge remote-tracking branch 'origin/ptrs_rrc_config' into integration_2021_wk11 2021-03-16 16:28:31 +01:00
hardy d12aaf98e8 Merge remote-tracking branch 'origin/NR_10MHz' into integration_2021_wk11 2021-03-16 16:27:42 +01:00
hardy dc60f04a46 Merge remote-tracking branch 'origin/NR_MAC_TCI_UCI_GlobalEdge' into integration_2021_wk11 2021-03-16 16:26:41 +01:00
Thomas Schlichter b7ef903cb4 Merge remote-tracking branch 'develop' into NR_10MHz 2021-03-16 16:13:17 +01:00
Thomas Schlichter 8768deaf74 Merge remote-tracking branch 'develop' into ptrs_rrc_config 2021-03-16 14:01:32 +01:00
Thomas Schlichter 3152df445e Merge remote-tracking branch 'develop' into NR_DL_MIMO 2021-03-16 13:37:07 +01:00
hardy ee398c7610 solved merge conflicts related to CI scripts 2021-03-16 11:55:23 +01:00
francescomani 5eb86207db Merge remote-tracking branch 'origin/develop' into NR_MAC_TCI_UCI_GlobalEdge 2021-03-16 08:49:54 +01:00
Robert Schmidt 8307d79929 Make RRC buffer sufficiently large 2021-03-15 15:00:34 +01:00
guhan 92c9d80ce0 Reverted the changes as same as develop 2021-03-15 17:47:04 +05:30
francescomani 13a561104b Merge remote-tracking branch 'origin/develop' into NR_MAC_SSB 2021-03-15 10:23:06 +01:00
hardy ca3aaf700f Merge remote-tracking branch 'origin/fix-nr-pdcp-timer' into integration_2021_wk11 2021-03-15 09:31:40 +01:00
francescomani dd1b8b64cf tentative fix for RC.gNB[inst] allocation 2021-03-12 13:15:48 +01:00
Remi Hardy de9c8634ad Merge remote-tracking branch 'origin/s1_subnormal' into integration_2021_wk10 2021-03-12 11:08:09 +01:00
Remi Hardy c775073aad Merge remote-tracking branch 'origin/nr-pdcp-improvements' into integration_2021_wk10 2021-03-12 11:07:44 +01:00
Remi Hardy c12dd11d6e Merge remote-tracking branch 'origin/develop-SA-RA' into integration_2021_wk10 2021-03-12 11:07:25 +01:00
Robert Schmidt 43f6e2f0de Shorten RSRP meas print, avoid SIGFPE 2021-03-11 12:22:32 +01:00
Robert Schmidt 9e707bb2d6 Remove uselessly added code 2021-03-11 12:12:35 +01:00
Robert Schmidt 6274348dfb Remove redundant code 2021-03-11 12:12:35 +01:00
Shweta Shrivastava 95df7843f3 Fix issues with NSA mode 2021-03-11 00:11:16 -06:00
Shweta Shrivastava a0fa146e04 Merge branch 'ptrs_rrc_config' of https://gitlab.eurecom.fr/oai/openairinterface5g into ptrs_rrc_config 2021-03-10 22:58:06 -06:00
Shweta Shrivastava 7eec3e3bcc Merge branch 'develop' into ptrs_rrc_config 2021-03-10 22:37:44 -06:00
francescomani c05b62d620 including measured rsrp in mac stats 2021-03-10 15:05:26 +01:00
Cedric Roux 4ff8f8832e NR: fix: set PDCP discard timer to infinity
The discard timer is used by the PDCP layer to discard packets that were not
transmitted to RLC after some time.

We don't really need it for the moment, maybe never for the default
bearer which is a best-effort bearer passing all kind of IP traffic.
Maybe for voice over IP kind of traffic it's important, or realtime
applications.

I ran an iperf UDP uplink test and saw no error on the PHY layer but still
lots of packets lost in the iperf logs, which was very surprising. By
analyzing the logs in wireshark I saw that, with the current scheduler,
an IP packet sent by the UE took 40ms to be sent piece by piece to the
gNB, and then the next uplink IP packet was never sent at all because
the discard timer was expired, leading to the high count of packets lost
in the iperf logs.

So let's put infinity for the moment for the discard timer. From my
understanding of the moment it's not a problem. If for some reason we
should set it to some non-infinity value, then we can change later.
2021-03-10 10:30:23 +01:00
francescomani 35bbbe635f fixing a compilation error 2021-03-10 09:12:18 +01:00
francescomani 3cfc9ae93c fix in handling csi meas report on pucch 2021-03-09 14:32:40 +01:00