Skip to content
Snippets Groups Projects
Forked from oai / openairinterface5G
15033 commits behind the upstream repository.
  • Cédric Roux's avatar
    e3782b5c
    bugfix: fix PDCP sequence management (plus some cleanup) · e3782b5c
    Cédric Roux authored
    With the introduction of X2AP into develop, the UEs now have to regularly
    send measurement reports.
    
    In the logs of the eNB, we see:
    
    [OSA]   Mismatch found in integrity for algorithm 2,
            got e0.a0.c2.66, expecting a5.9c.cb.57
    [PDCP]   [OSA][RB 1] eNB failed to validate MAC-I of incoming PDU
    
    This is a bug in the PDCP layer that uses wrong parameters to compute the
    integrity.
    
    This commit fixes this bug.
    
    The function pdcp_is_rx_seq_number_valid was removed. Its processing
    has been directly integrated into the function pdcp_data_ind.
    
    The function pdcp_mark_current_pdu_as_received is not called anymore.
    Its processing was not used later on, so as of today, not calling it does
    not introduce any functional change.
    
    The function pdcp_validate_security takes now as parameters both
    SN and HFN. Same for the function pdcp_get_next_count_rx.
    
    Useless constants PDCP_SN_5BIT, PDCP_SN_7BIT and PDCP_SN_12BIT have been
    removed.
    
    The compilation option ENABLE_SECURITY has been removed. It's now always
    on. (This may impact some use cases.)
    
    The PDCP for DRB using RLC AM is not correct. It was not correct before
    this commit (apart from the integrity bug). We should deal with a list
    of PDUs and transmit packets to upper layers as detailed in the specs.
    Today we transmit the PDU as soon as we get it. We don't care about
    duplicates, in-order delivery, timeouts.
    
    Also, we don't deal with "PDCP re-establishment". Not sure how that impacts
    the software.
    
    And, last but not least, there is still no ROHC.
    e3782b5c
    History
    bugfix: fix PDCP sequence management (plus some cleanup)
    Cédric Roux authored
    With the introduction of X2AP into develop, the UEs now have to regularly
    send measurement reports.
    
    In the logs of the eNB, we see:
    
    [OSA]   Mismatch found in integrity for algorithm 2,
            got e0.a0.c2.66, expecting a5.9c.cb.57
    [PDCP]   [OSA][RB 1] eNB failed to validate MAC-I of incoming PDU
    
    This is a bug in the PDCP layer that uses wrong parameters to compute the
    integrity.
    
    This commit fixes this bug.
    
    The function pdcp_is_rx_seq_number_valid was removed. Its processing
    has been directly integrated into the function pdcp_data_ind.
    
    The function pdcp_mark_current_pdu_as_received is not called anymore.
    Its processing was not used later on, so as of today, not calling it does
    not introduce any functional change.
    
    The function pdcp_validate_security takes now as parameters both
    SN and HFN. Same for the function pdcp_get_next_count_rx.
    
    Useless constants PDCP_SN_5BIT, PDCP_SN_7BIT and PDCP_SN_12BIT have been
    removed.
    
    The compilation option ENABLE_SECURITY has been removed. It's now always
    on. (This may impact some use cases.)
    
    The PDCP for DRB using RLC AM is not correct. It was not correct before
    this commit (apart from the integrity bug). We should deal with a list
    of PDUs and transmit packets to upper layers as detailed in the specs.
    Today we transmit the PDU as soon as we get it. We don't care about
    duplicates, in-order delivery, timeouts.
    
    Also, we don't deal with "PDCP re-establishment". Not sure how that impacts
    the software.
    
    And, last but not least, there is still no ROHC.
CMakeLists.template 1.64 KiB
cmake_minimum_required(VERSION 2.8)

set (  CMAKE_BUILD_TYPE "RelWithDebInfo" )
set (  ASN_DEBUG False)
set (  DEBUG_OMG False )
set (  DISABLE_XER_PRINT False )
set (  DRIVER2013 True )
set (  EMIT_ASN_DEBUG False )
set (  ENABLE_ITTI True )
set (  ENABLE_NAS_UE_LOGGING True )
set (  ENABLE_NEW_MULTICAST True )
set (  ENABLE_STANDALONE_EPC False)
set (  ENABLE_USE_CPU_EXECUTION_TIME True )
set (  ENABLE_USE_MME True )
set (  ENABLE_USE_RAW_SOCKET_FOR_SGI True)
set (  ENABLE_VCD_FIFO False )
set (  ENB_MODE True )
set (  EXMIMO_IOT True )
set (  JUMBO_FRAME True )
set (  LARGE_SCALE False )
set (  LINK_ENB_PDCP_TO_GTPV1U True)
set (  LINUX_LIST False )
set (  LINUX True )
set (  LOCALIZATION False )
set (  LOG_NO_THREAD True )
set (  DEADLINE_SCHEDULER False )
set (  MAC_CONTEXT 1 )
set (  MAX_NUM_CCs 1 )
set (  MESSAGE_CHART_GENERATOR False)
set (  MSG_PRINT False )
set (  MU_RECEIVER False )
set (  NAS_ADDRESS_FIX False )
set (  NAS_BUILT_IN_UE True)
set (  NAS_MME False )
set (  NAS_UE True )
set (  NB_ANTENNAS_RX "2" )
set (  NB_ANTENNAS_TX "2" )
set (  NO_RRM True )
set (  OAISIM False )
set (  OAI_NW_DRIVER_TYPE_ETHERNET False )
set (  OAI_NW_DRIVER_USE_NETLINK True )
set (  OPENAIR2 True )
set (  OPENAIR_LTE True )
set (  PACKAGE_NAME "epc_test" )
set (  PDCP_USE_NETLINK True )
set (  PDCP_MSG_PRINT False )
set (  PHY_CONTEXT False )
set (  PHY_EMUL False )
set (  PHYSIM True )
set (  RF_BOARD "False" )
set (  RLC_STOP_ON_LOST_PDU False )
set (  RRC_ASN1_VERSION "Rel10" )
set (  RRC_DEFAULT_RAB_IS_AM True)
set (  RRC_MSG_PRINT False )
set (  SECU False )
set (  SMBV False )
set (  TEST_OMG False )
set (  USE_MME "R10" )
set (  XER_PRINT True )