Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(11619)

Issue 5108041: LTE RRC Extension Review

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 7 months ago by pankaj
Modified:
12 years, 6 months ago
Reviewers:
Nicola Baldo, Piro Giuseppe, nbaldo
CC:
ns-3-reviews_googlegroups.com, pankaj, Tom Henderson, Lalith Suresh, f.capozzi_poliba.it
Visibility:
Public.

Patch Set 1 #

Total comments: 65
Unified diffs Side-by-side diffs Delta from patch set Stats (+1852 lines, -34 lines) Patch
M src/lte/model/enb-net-device.h View 3 chunks +10 lines, -0 lines 2 comments Download
M src/lte/model/enb-net-device.cc View 4 chunks +19 lines, -2 lines 0 comments Download
A src/lte/model/enb-rrc-entity.h View 1 chunk +147 lines, -0 lines 6 comments Download
A src/lte/model/enb-rrc-entity.cc View 1 chunk +225 lines, -0 lines 16 comments Download
M src/lte/model/ideal-control-messages.h View 1 chunk +14 lines, -2 lines 0 comments Download
M src/lte/model/lte-net-device.h View 2 chunks +2 lines, -3 lines 0 comments Download
M src/lte/model/lte-net-device.cc View 2 chunks +0 lines, -17 lines 0 comments Download
M src/lte/model/rrc-entity.h View 2 chunks +24 lines, -0 lines 0 comments Download
A src/lte/model/rrc-ideal-control-messages.h View 1 chunk +522 lines, -0 lines 10 comments Download
A src/lte/model/rrc-ideal-control-messages.cc View 1 chunk +233 lines, -0 lines 0 comments Download
M src/lte/model/ue-net-device.h View 3 chunks +10 lines, -1 line 2 comments Download
M src/lte/model/ue-net-device.cc View 4 chunks +21 lines, -2 lines 0 comments Download
M src/lte/model/ue-record.h View 3 chunks +36 lines, -1 line 2 comments Download
A src/lte/model/ue-rrc-entity.h View 1 chunk +174 lines, -0 lines 2 comments Download
A src/lte/model/ue-rrc-entity.cc View 1 chunk +213 lines, -0 lines 14 comments Download
A src/lte/test/lte-test-rrc-messages.cc View 1 chunk +193 lines, -0 lines 11 comments Download
M src/lte/wscript View 3 chunks +9 lines, -6 lines 0 comments Download

Messages

Total messages: 4
Piro Giuseppe
Hi Pankaj, I reviewed your code. It seems more well organized with respect to the ...
12 years, 7 months ago (2011-09-30 13:59:08 UTC) #1
Nicola Baldo
Please find some detailed comments on the code below. Note that some issues that I ...
12 years, 7 months ago (2011-10-03 15:27:50 UTC) #2
nbaldo_cttc.es
Hi Pankaj, On 10/03/2011 05:27 PM, nicobaldo@gmail.com wrote: > I also have some generic concerns ...
12 years, 6 months ago (2011-10-03 17:00:38 UTC) #3
pankaj
12 years, 6 months ago (2011-10-12 18:18:28 UTC) #4
Dear All,

Thanks for taking your time and effort in reviewing the code. 

I have updated the code and marked as done. However, there are certein issues
which have been raised in the reviews which need more discussion before things
to be close.
 
Please send your feedback and comments

Regards,
Pankaj k Gupta

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-net-device.h
File src/lte/model/enb-net-device.h (right):

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-net-device.h#n...
src/lte/model/enb-net-device.h:126: virtual void SetRrcEntity (Ptr<RrcEntity>
rrc) ;
removed as per the previous review comment.

http://codereview.appspot.com/4961075/diff/1/src/lte/model/enb-net-device.h

On 2011/10/03 15:27:50, Nicola Baldo wrote:
> doxygen missing

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.cc
File src/lte/model/enb-rrc-entity.cc (right):

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.cc#...
src/lte/model/enb-rrc-entity.cc:65: *m_rrcStateInfo = RRC_IDLE;
deleted.

On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> Previous code are unnecessary. See the comment in the .h file. 
> 
> Otherwise, avoid to use the pointer.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.cc#...
src/lte/model/enb-rrc-entity.cc:74: {
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> Delete it. See the previous comment

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.cc#...
src/lte/model/enb-rrc-entity.cc:88: mibmsg->SetMessageType(
IdealControlMessage::SYSTEM_INFO_MIB);
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> The previous line is unnecessary because the message type is set into the
> constructor of such  message. 

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.cc#...
src/lte/model/enb-rrc-entity.cc:97: Ptr<IdealControlMessage> msg = new
IdealControlMessage();
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> msg is not necessary. delete its definition

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.cc#...
src/lte/model/enb-rrc-entity.cc:105: sibmsg->SetMessageType(
IdealControlMessage::SYSTEM_INFO_SIB);
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> The previous line is unnecessary because the message type is set into the
> constructor of such  message. 

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.cc#...
src/lte/model/enb-rrc-entity.cc:122: pagingmsg->SetMessageType(
IdealControlMessage::PAGING);
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> The previous line is unnecessary because the message type is set into the
> constructor of such  message. 

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.cc#...
src/lte/model/enb-rrc-entity.cc:178: //UeRecord* record;
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> delete commented code.

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.cc#...
src/lte/model/enb-rrc-entity.cc:194: void
EnbRrcEntity::ReceiveRrcIdealControlMessage(Ptr<IdealControlMessage> msg)
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> Regarding this method, I didn't understand why you have followed different
> approach for both enb and ue. 
> 
> For the ue, you identify the message type, convert the message definition and
> forward the pointer of such message to the proper procedure. 
> 
> For the enb, instead, you don't convert the definition of the message but
> forward the pointer to the IdealControlmessage. 
> 
> I suggest to use the same approach for both devices. Both of them are
correctly.
> It is just a way to have a uniform code :-) 

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.h
File src/lte/model/enb-rrc-entity.h (right):

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.h#n...
src/lte/model/enb-rrc-entity.h:56: enum RrcStates {
This enum is used in enb-rrc-entity class. It is better not to delete this.

On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> Why you have defined this variable for the eNB ? 
> In particular, what does "RRC_IDLE" mean ? What happen if you have more than
one
> active rrc connection ?  
> 
> Probably, for then moment we have to delete the variable describing the
status.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.h#n...
src/lte/model/enb-rrc-entity.h:68: RrcStates* GetRrcState();
As of now we are not using this function. So, we can delete this function.

On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> Maybe it should be deleted. 
> Furthermore, why you have defined the status as a pointer ? Please, don't use
> the pointer.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/enb-rrc-entity.h#n...
src/lte/model/enb-rrc-entity.h:141: RrcStates* m_rrcStateInfo;
deleted
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> I sugegst to delete this variable; otherwise, delete the pointer.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/rrc-ideal-control-...
File src/lte/model/rrc-ideal-control-messages.h (right):

http://codereview.appspot.com/5108041/diff/1/src/lte/model/rrc-ideal-control-...
src/lte/model/rrc-ideal-control-messages.h:32: * This procedure is done when UE
camp on to the network or it is coming
I understand the concern regarding how it is going to help in simulation. The
messages has been implemented using IdealControlMessages which limits the actual
radio resource usage. Project was aimed to provide all this. However, due to
limited time and resources we settled down to provide a basic framework for
signalling messages which was missing in the current simulator. For the
simulation purpose one can always update it as per the scenerio.

further discussion is required.

On 2011/10/03 15:27:50, Nicola Baldo wrote:
> how are these events modeled in the simulator?

http://codereview.appspot.com/5108041/diff/1/src/lte/model/rrc-ideal-control-...
src/lte/model/rrc-ideal-control-messages.h:33: * from idle-connected mode. In
this UE context (S-TMSI) is exchange
typo, it should be "RRC_IDLE to RRC_CONNECTED mode.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/rrc-ideal-control-...
src/lte/model/rrc-ideal-control-messages.h:82: SignallingBearer
m_signallingBearer;
yes, RRC connection always go on SRB0.
This is just to store the information.

It is not neccesary to keep this.

On 2011/10/03 15:27:50, Nicola Baldo wrote:
> why this? Aren't RRC connection requests always sent on SRB0?

http://codereview.appspot.com/5108041/diff/1/src/lte/model/rrc-ideal-control-...
src/lte/model/rrc-ideal-control-messages.h:98: void SetRrcConcReqParam(Direction
direction, SignallingBearer bearer ,
On 2011/10/03 15:27:50, Nicola Baldo wrote:
> "Conc"... a typo in the name of the method?

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/rrc-ideal-control-...
src/lte/model/rrc-ideal-control-messages.h:136: * \brief The Radio Resource
ReConfig message.
edited
On 2011/10/03 15:27:50, Nicola Baldo wrote:
> please in the doxygen use the correct naming according to 3GPP

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-net-device.h
File src/lte/model/ue-net-device.h (right):

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-net-device.h#ne...
src/lte/model/ue-net-device.h:115: virtual void SetRrcEntity (Ptr<RrcEntity>
rrc) ;
It has been removed as per the previous review comments.

http://codereview.appspot.com/4961075/diff/1/src/lte/model/ue-net-device.h
 
These functions are defined as pure virtual functions in LteNetDevice and hence
the doxygen is updated added. 




On 2011/10/03 15:27:50, Nicola Baldo wrote:
> doxygen missing

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-record.h
File src/lte/model/ue-record.h (right):

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-record.h#newcod...
src/lte/model/ue-record.h:144: UeRrcControlInfo m_uerrcControlInfo;
On 2011/10/03 15:27:50, Nicola Baldo wrote:
> should be m_ueRrcControlInfo

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-rrc-entity.cc
File src/lte/model/ue-rrc-entity.cc (right):

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-rrc-entity.cc#n...
src/lte/model/ue-rrc-entity.cc:63: m_UeControlInfo = new
UeRrcControlInformation();
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> Here you have to define the default value of each parameter of m_UeControlInfo

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-rrc-entity.cc#n...
src/lte/model/ue-rrc-entity.cc:95: UeRrcEntity::m_UeControlInfo->m_dlbandwidth =
MibRecord->m_DL_bandwidth;
Updated.

On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> The better way is to use the following code:
> 
> UeRrcControlInformation* info = GetUeControlInfo ();
> info->m_dlbandwidth = MibRecord->m_DL_bandwidth;
> 
> Use the same code for all the following methods.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-rrc-entity.cc#n...
src/lte/model/ue-rrc-entity.cc:134: reqmsg->SetMessageType(
IdealControlMessage::RRC_ESTABLISHMENT);
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> The previous line is unnecessary because the message type is set into the
> constructor of such  message. 

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-rrc-entity.cc#n...
src/lte/model/ue-rrc-entity.cc:137: UeRrcEntity::m_UeControlInfo->m_rrcState =
RRC_CONNECTED;
I agree with the comments. It needs changes in the existing code which includes
addition of more messages as mentioned RRC connection setup message.

On 2011/10/03 15:27:50, Nicola Baldo wrote:
> This issue was already raised in the previous review:
>
http://codereview.appspot.com/4961075/diff/1/src/lte/model/ue-rrc-entity.cc#n...
> 
> I don't see why you marked it as "done" in the previous review, the problem is
> still there: you should not change the state to RRC_CONNECTED upon just
sending
> the RRC connection request. You should do it when the UE receives a RRC
> connection setup message from the eNB.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-rrc-entity.cc#n...
src/lte/model/ue-rrc-entity.cc:152: rejmsg->SetMessageType(
IdealControlMessage::RRC_CONN_RELEASE);
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> The previous line is unnecessary because the message type is set into the
> constructor of such  message. 

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-rrc-entity.cc#n...
src/lte/model/ue-rrc-entity.cc:169: reconfigmsg->SetMessageType(
IdealControlMessage::RRC_CONN_RECONFIG);
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> The previous line is unnecessary because the message type is set into the
> constructor of such  message. 

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-rrc-entity.cc#n...
src/lte/model/ue-rrc-entity.cc:185: //for sending control message for different
procedures.
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> The previous declaration generate doubts. Clarify better the mean of this
> function. 

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-rrc-entity.h
File src/lte/model/ue-rrc-entity.h (right):

http://codereview.appspot.com/5108041/diff/1/src/lte/model/ue-rrc-entity.h#ne...
src/lte/model/ue-rrc-entity.h:61: enum RrcStates {
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> Why  do you use the term "States" instead of "State" ?  I think that the UE
can
> have only one RRC state at a time. 

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/test/lte-test-rrc-messag...
File src/lte/test/lte-test-rrc-messages.cc (right):

http://codereview.appspot.com/5108041/diff/1/src/lte/test/lte-test-rrc-messag...
src/lte/test/lte-test-rrc-messages.cc:75: //lte.EnableLogComponents ();
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> delete commented code

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/test/lte-test-rrc-messag...
src/lte/test/lte-test-rrc-messages.cc:111: //EnbNetDevice* enb;
On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> delete commented code

Done.

http://codereview.appspot.com/5108041/diff/1/src/lte/test/lte-test-rrc-messag...
src/lte/test/lte-test-rrc-messages.cc:116: Ptr<UeRrcEntity> ueRrc =
DynamicCast<UeRrcEntity> (uerrcEntity);
updated.

On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> previous 4 lines can be substituted with only two lines
> 
> For example:
> Ptr<UeRrcEntity> ueRrc = ue->GetRrcEntity()->GetObject<UeRrcEntity> ();

http://codereview.appspot.com/5108041/diff/1/src/lte/test/lte-test-rrc-messag...
src/lte/test/lte-test-rrc-messages.cc:126: 
I have used NS_TEST_ASSERT_MSG_EQ. Considering other points mentioned in the
email, i have updated the test cases. 

On 2011/09/30 13:59:13, Piro Giuseppe wrote:
> The previous code seems to be ok. In what follows, instead, you must rewrite
the
> core of this test. 
> 
> As Nicola suggested in his review, you should use test macros NS_TEST_ASSERT_*
> instead of printing output to stdout
> 
> For example, regarding the first check,
> you can write:
> 
> NS_TEST_ASSERT_MSG_EQ (ueRrc->GetUeControlInfo()->m_dlbandwidth,
> SystemInfoMIB::N6, "m_dlbandwidth hasn't been set correctly");
> 
> Note that the test will work correctly if you have set the default rrc
> parameters, as I have suggested to do.
>

http://codereview.appspot.com/5108041/diff/1/src/lte/test/lte-test-rrc-messag...
src/lte/test/lte-test-rrc-messages.cc:175: ueRrc->SendProcessRrcReConfig(ue ,
enb);
Earlier there is no parameter is send from the SendRRC... APIs so, i was not
checking the parameter updation. 

Now, i have modified the signature of send APIs for these three and added
validation test as i did in other messages.

On 2011/10/03 15:27:50, Nicola Baldo wrote:
> I agree with Giuseppe. Basically, all the RRC connection related messages are
> untested. This was already pointed out in the previous review.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b