Bug 2161 - Error in removing a bearer in epc-mme class
Error in removing a bearer in epc-mme class
Status: NEW
Product: ns-3
Classification: Unclassified
Component: lte
Mac Intel Linux
: P5 minor
Assigned To: Biljana Bojović
Depends on:
  Show dependency treegraph
Reported: 2015-07-22 13:46 EDT by Michele Polese
Modified: 2016-02-25 04:30 EST (History)
2 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Michele Polese 2015-07-22 13:46:55 EDT
In the method void EpcMme::RemoveBearer (Ptr<UeInfo> ueInfo, uint8_t epsBearerId)
when the given epsBearerId is removed from the list of bearers obtained from ueInfo the number of bearers bearerCounter is not decreased. 
Therefore if a bearer is removed during the simulation with the method DoSendReleaseDataRadioBearer(imsi, rnti, bearerId) from LteEnbRrc class (actually invoked by a stub method which cycles on all the bearers and makes a call of the method for each bearerId) and then another one is added (for example by scheduling the execution of the classic instructions to add a bearer) then 

UeManager::SetupDataRadioBearer (EpsBearer bearer, uint8_t bearerId, uint32_t gtpTeid, Ipv4Address transportLayerAddress)
fails with the assert
assert failed. cond="bearerId == 0 || bid == bearerId", msg="bearer ID mismatch (1 != 2, the assumption that ID are allocated in the same way by MME and RRC is not valid any more", file=../src/lte/model/lte-enb-rrc.cc, line=345

since the MME thinks that there is already one bearer.