664 Commits (abe2c8cba4ed2e26e03ea5b09aacc195bee37866)

Author SHA1 Message Date
faluco dacf40f63e Delete move constructor and move assignment operator explictly for mac_pcap_base and s1ap_pcap classes.
Move emergency handlers header file into the support folder.

Refactored signal handling:
- Remove the dependency with the running static variable in the header file.
- Move implementations down to cc files.
- Allow specifying a new signal handler that will be used to stop the applications.
- Move signal handling files to support.
3 years ago
faluco 9075251627 Move the cleanup code from the signal handlers down to the new emergency handlers for the ue, epc and enb. 3 years ago
Alejandro Leal Conejos 1a64c6adad Enum fixes so clang 12 can build the repo 3 years ago
Pedro Alvarez 9230bc3b23 Demoted GTP-C logging of recieving downlink notification ack/failure when paging is not peding from warning to info 3 years ago
Fabian Eckermann dd8db1a929 Replaced inet_addr() with inet_pton. 3 years ago
David Rupprecht e8a464228d Cleaned string helpers 3 years ago
David Rupprecht bce6b5cc0f Added kdf common
Use kdf functions in 5G KDF

Moved EPS KDF function to new KDF structure
3 years ago
Pedro Alvarez 1b676aa406 Moved lib GTPU to its own folder 4 years ago
Andre Puschmann 3e9678d496 srsepc: send detach accept when receiving detach request for non-switchoff 4 years ago
Andre Puschmann acf098be92 epc,s1ap: remove use of rand() 4 years ago
Andre Puschmann 598594c51a all: bunch of pass by const& changes suggested by LGTM 4 years ago
AlaiaL 5fd4f421e9 Fixes coverity 366610 4 years ago
Jan a786d1dda0 Update security algorithms in epc.conf
Added EEA3 and EIA3, since they were missing from the description completely.
I also included EIA0 with a remark, since my understanding is that the epc supports it, but most UEs reject it because it must only be used for unauthenticated emergency calls.
4 years ago
Matan Perelman ee997a4e4e NAS: Add configuration for full and short network names. 4 years ago
Francisco ff3fc0826b asn1 fixes and improvements
- use const char* instead of std::string in enumerated<>::to_string() to avoid mallocs.
- Remove the use of "typedef", and use "using" keyword instead.
- Fix rrc_nr::setup_release_c<>::to_string() broken linkage.
4 years ago
Andre Puschmann 1a42e0b1d1 epc,nas: add error handling for all make_byte_buffer() calls
not handling the case where allocation was failing was causing a
segfault. It seems that when doing high rate UDP iperf and
disconnecting the UE causes the buffer pool to become empty due
to the PDU buffering. Thus, causing a crash when attaching the UE again.
4 years ago
Andre Puschmann 1a0891df51 all: check return value of make_byte_buffer() and handle them safely 4 years ago
Codebot 4523ee6087 rename srsLTE to srsRAN 4 years ago
Francisco d01f6806f0 fix regression - set correctly log sink in epc 4 years ago
Francisco 3e9f93eb8a refactor - remove old log_filter and logmap libraries from the codebase 4 years ago
Francisco 4969c98665 gtpu,bugfix - fixed formatting of addresses in GTPU 4 years ago
Francisco 5a1bf28fe1 optimization - minimization of number of std::string allocations for logging 4 years ago
Pedro Alvarez 492ea2a5a8 Addressing reviewers comments to #2290.
Removing unecessary \n for logs and changed log of PDCP info queue
 capacity to debug to avoid log spam.
Changed log level for unhandled S1AP messages from error to warning
 in EPC to avoid failing tests because of error message.
Changed usage of allocate_unique_buffer to make_unique_buffer()
4 years ago
faluco 6359a2d948 - Upgrade the gtpu class in lib dir to srslog.
- Propagate old log elimination through all the dependencies of gtpu.
4 years ago
Andre Puschmann 7ac0c3a8e0 epc,s1ap: don't log error when receiving UE capability info from eNB
this fixes a warning that we had in the epc.log because we don't
explicitly handle the UE capability info message received over S1AP
from the eNB.

Since we have a strict no-error policy in many PR tests, we can't log
an error here.
4 years ago
Francisco 798f1e57e6 fix byte buffer double free in EPC 4 years ago
Francisco 3265d940ec remove byte buffer pool cached member variables as they are unnecessary now. 4 years ago
Francisco 04ab4eefcd use new make_byte_buffer() helper method to create unique_byte_buffers 4 years ago
Francisco 8a9c326bcb remove old direct uses of byte_buffer_pool 4 years ago
Frederick Pelchat fa1f9594cb Fix Issue #615 Only first 8 bits of TAC passed by the ENB to the EPC 4 years ago
faluco c18e35bc93
Upgrade loggers in srsepc (#2167)
* Started logger replacement in epc main.

* Replaced loggers in nas and s1ap.

* Replace loggers in nas statics.

* Replaced loggers in s1ap ctx mngmt.

* Replace loggers in s1ap erab mngmt.

* Replaced loggers in s1ap mngmt proc.

* Replaced loggers in s1ap nas transport.

* Replaced loggers in s1ap paging.

* Replaced loggers in mme.

* Replaced loggers in mme gtpc.

* Started removing logger injection in init functions and cleaned up argument passing to nas statics.

* Remove logger injection from mme and s1ap.

* Replaced loggers in the hss class.

* Replaced loggers in gtpc.

* Replaced loggers in GTPU and SPGW.

* Replaced loggers in MBMS.
4 years ago
Ismael Gomez a6423442c2
Refactor NR RA files and fix header includes all over library (#2162)
* Refactor NR resource allocation classes. Use DCI instead of grant for dummy PDSCH UE/eNB test

* Minor refactors in NR workers and ue_dl

* Fix include issues

* fix compilation issues
4 years ago
Pedro Alvarez 0c20b7a455 Added support for S1AP modify bearer request support. This includes:
- Handle received E-RAB S1AP at s1ap.cc.
 - Added methods to rrc.cc, rrc_ue.cc and rrc_bearer_cfg.cc to handle erab modify request.
 - Made RLC add_bearer() function capable of re-creating the RLC entity.
 - Send RRC reconfiguration to the UE and reply to the EPC with S1AP
   modify bearer response.

This commit also adds support to srsEPC to send S1AP modify bearer request for
testing purposes.
4 years ago
Pedro Alvarez 7eebd71627 Added S1AP E-RAB release command/response handling to srsENB.
Added the ability to srsEPC to send the E-RAB release command.
4 years ago
Andre Puschmann 8c9643af80 epc,gtpu: log info when IPv6 packet is sent
we've logged in warning mode bc we don't support IPv6 but its
causing unwanted noise in the epc log file.

it's quite normal that the Linux network stack sends IPv6 router
solicitation packets, etc. So we just ignore them and that's it.
4 years ago
Andre Puschmann 00f3f21081 last set of license header changes 4 years ago
Andre Puschmann 9608236ce4 fix srsepc_if_masq.sh 4 years ago
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 4 years ago
Francisco Paisana 510959b50f update nr asn1 files, and asn1 tests 4 years ago
Dillon Amburgey 6fc2562ca1 Include current time in EMM information 4 years ago
faluco dfeed52514 - Rename out_stream function to console. 4 years ago
faluco 62faef7c71 - Replaced all uses of the log::console method. 4 years ago
faluco 0b127fa8c7 - Fixed several errors that could sent uninitialized data through the network. 4 years ago
faluco a4f0ecba36 - Fixed a heap corruption where recvfrom could write past the buffer end. 4 years ago
faluco 47953f4ef4 - Prefer addrlen initialization for each call to recvfrom. 4 years ago
faluco f604506858 - Fixed missing initialization issues in nas that caused several jumps in liblte_mme to use uninitialized memory.
- Fixed missing initialization in spgw that caused recvfrom to use an unitialized argument.
4 years ago
faluco 8d1705d6c6 - Fixed a leak in mme_gtpc where the singleton instance was not freed.
- Rewritten the class to be self manage its lifetime.
4 years ago
faluco b5b726ed48 - Fixed a memory leak in s1ap_paging. The static instance was not getting freed.
- Rewrite the singleton to self manage its lifetime.
4 years ago
Pedro Alvarez f85fe1c5ac Don't allow S1 setup with mis-matched TA codes between eNB and EPC. 4 years ago
Pedro Alvarez aafd2cd81c Fix order of discription in user_db.csv.example. 4 years ago