161 Commits (9d7836817c8dae8560a3ed55d72399c067f74039)

Author SHA1 Message Date
Codebot 9d7836817c Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srsran/common/signal_handler.h
3 years ago
Bedran Karakoc 0507d9df2b nas,nr: Fix ciphering and sequence numbers in NAS 3 years ago
Alejandro Leal Conejos 1a64c6adad Enum fixes so clang 12 can build the repo 3 years ago
David Rupprecht 5c44d774d0 Added 5G Metrics 3 years ago
David Rupprecht 59e847ba08 Added NAS 5G args 3 years ago
David Rupprecht 5910d8847a Split NAS security ctxt 3 years ago
Bedran Karakoc 1e1e1420b1 Return AUTS in authentication failure for case AUTH_SYNCH_FAILURE 3 years ago
Bedran Karakoc de750fad09 Added helper function for replayed security capabilities 3 years ago
Bedran Karakoc 193ec4abfa Trigger switch_off in NAS 3 years ago
Bedran Karakoc 441251bdd1 Remove unused parameter 3 years ago
Bedran Karakoc a4cc9b6ca0 Fix handle_authentication_request and add handler for authentication reject 3 years ago
Bedran Karakoc e8bcc0a61e Added handler for identity request and sender for identity response 3 years ago
Bedran Karakoc 850606f20b Added deregistration (UE terminating) 3 years ago
Codebot 8c3332f894 Merge branch 'next' into agpl_next
# Conflicts:
#	srsenb/hdr/stack/upper/pdcp_nr.h
#	srsenb/hdr/stack/upper/rlc_nr.h
#	srsenb/src/stack/upper/pdcp_nr.cc
#	srsenb/src/stack/upper/rlc_nr.cc
3 years ago
Bedran Karakoc 43915550cc NGAP GTP Bearer Establishment 3 years ago
David Rupprecht 3712983308 Added PDU Session est request 3 years ago
David Rupprecht c670383ae9 Added NAS 5G functions incoming msg and reg proc 3 years ago
faluco 55f5f74ff3 Fixed case where calling gw::setup_if_addr after ue attachment would spawn a new thread without closing the current one.
This would end up being a resource leak as the number of threads grow forever until the application crashes.
3 years ago
Codebot b87b760326 Merge branch 'next' into agpl_next 3 years ago
David Rupprecht e8a464228d Cleaned string helpers 3 years ago
Codebot 958542dc2b Merge branch 'next' into agpl_next 3 years ago
David Rupprecht a9a23214b0 Added more 5G security kdfs
Added new 5G SIM functions

Added const parameters for security functions
3 years ago
David Rupprecht a645d74eaf USIM functions for res star
Added gen_res_star in security.h

Added USIM interfaces for res star

Added RES star test case
3 years ago
Codebot de59c88954 Merge branch 'next' into agpl_next
# Conflicts:
#	srsue/hdr/stack/bearer_manager.h
#	srsue/src/stack/bearer_manager.cc
3 years ago
Andre Puschmann 79cdc28015 nas_test_common: call NAS layer from stack thread context
since NAS layers insn't thread safe, all calls must come from
the same thread
3 years ago
Andre Puschmann 78d60bc138 nas: remove all uses of atomic from 4G and 5G classes
the NAS classes aren't thread safe and thread-safety shouldn't be
pretended by using atomics. Remove them and add explicit notice.
3 years ago
Codebot 83f103fe4b Merge branch 'next' into agpl_next 3 years ago
David Rupprecht 3217c00cfc Adjusting NAS base security function to 5G 3 years ago
Codebot 635d0bc6e9 Merge branch 'next' into agpl_next 3 years ago
Andre Puschmann 99dc94ab38 nas: make state variables atomics
NAS states and substates maybe be requested from other threads so
they need to be protected.

Note that the caller still needs to hold it's own mutex if different
actions are required based on the state.
3 years ago
David Rupprecht 04ef6e120d Added new SIM functions to get MCC, MNC and MSIN 3 years ago
Codebot 2dd440bb76 Adding AGPL copyright to new files 3 years ago
Codebot a8ef3ba6b2 Merge branch 'next' into agpl_next
# Conflicts:
#	srsenb/test/common/dummy_nr_classes.h
3 years ago
David Rupprecht 2563a78f34 Added basic 5G NAS metrics 4 years ago
David Rupprecht 9172059078 Supply ctor with logger instead of fetching 4 years ago
Codebot 3a5ee8d41a Adding AGPL copyright to new files 4 years ago
Codebot ccf8cfb65f Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srsran/common/basic_pnf.h
#	lib/include/srsran/common/basic_vnf.h
#	lib/include/srsran/common/basic_vnf_api.h
#	lib/src/common/basic_vnf.cc
#	lib/test/common/pnf_bridge.cc
#	lib/test/common/pnf_dummy.cc
#	srsenb/hdr/phy/vnf_phy_nr.h
#	srsenb/hdr/stack/mac/nr/sched_nr_common.h
#	srsenb/hdr/stack/mac/nr/sched_nr_phy_helpers.h
#	srsenb/src/phy/vnf_phy_nr.cc
#	srsenb/src/stack/mac/nr/sched_nr_common.cc
#	srsenb/src/stack/mac/nr/sched_nr_phy_helpers.cc
#	srsue/hdr/phy/vnf_phy_nr.h
#	srsue/src/phy/vnf_phy_nr.cc
4 years ago
David Rupprecht fb92118bb7 Add 5G NAS infrastructure 4 years ago
David Rupprecht 505225d845 Added ue nas base class with security functions 4 years ago
David Rupprecht 7fa85ab336 Added nas test common file 4 years ago
Codebot 585e3c51c1 Merge branch 'next' into agpl_next
# Conflicts:
#	srsenb/hdr/phy/nr/cc_worker.h
#	srsenb/hdr/phy/nr/sf_worker.h
#	srsenb/src/phy/nr/cc_worker.cc
#	srsenb/src/phy/nr/sf_worker.cc
#	test/phy/nr_phy_test.cc
4 years ago
Andre Puschmann 0a16f48869 gw: fix race condition
GW thread was checking the default_eps_bearer variable without
protection. RRC could update it when deleting DRB or receiving RRC
connection release.
4 years ago
Andre Puschmann 5313fb99d6 tft: add helper to delete all TFTs for EPS bearer
when a EPS bearer is removed, all associated TFTs need
to be removed as well.
4 years ago
Andre Puschmann 483a216bd5 ue,stack: refactor handling of radio bearears in UE stack
this is a rather large commit that is hard to split because
it touches quite a few components.

It's a preparation patch for adding NR split bearers in the next
step.

We realized that managing RLC and PDCP bearers for both NR and LTE
in the same entity doesn't work. This is because we use the LCID
as a key for all accesses. With NR dual connectivity however we
can have the same LCID active at the same time for both LTE and NR
carriers.

The patch solves that by creating a dedicated NR instance for RLC/PDCP
in the stack. But then the question arises for UL traffic on, e.g. LCID 4
what PDCP instance the GW should use for pushing SDUs. It doesnt' know
that. And in fact it doesn't need to. It just needs to know EPS
bearer IDs. So the next change was to remove the knowledge of what
LCIDs are from the GW. Make is agnostic and only work on EPS bearer IDs.

The handling and mapping between EPS bearer IDs and LCIDs for LTE
or NR (mainly PDCP for pushing data) is done in the Stack because
it has access to both.

The NAS also has a EPS bearer map but only knows about default and
dedicated bearers. It doesn't know on which logical channels they
are transmitted.
4 years ago
Codebot 5fe9a14aa5 Merge branch 'next' into agpl_next 4 years ago
David Rupprecht 8c194b887b Allow NAS init function to fail 4 years ago
David Rupprecht 617fb2ba7e Added default destructor for args 4 years ago
Codebot 0a15eeb57a Adding AGPL copyright to new files 4 years ago
Codebot c0282856d0 Merge branch 'next' into agpl_next
# Conflicts:
#	srsue/test/mac_nr/mac_nr_test.cc
4 years ago
David Rupprecht cc6d8128ad Added gw interface if it is running 4 years ago