Lte packet go to wrong function(eNB)

89 views
Skip to first unread message

Yu-Xiang Huang

unread,
Aug 10, 2017, 1:13:06 AM8/10/17
to ns-3-users

Hi every one,

Because I want to simulate the MEC(mobile multi-access computing) to measure latency, I use a method(virtual tun net device) which connection type between S/P-GW and RemoteHost to apply eNBs to simulate MEC on eNB.

I add new variable tunDevice(enbVgsDevice) to "Epc-Enb-Application" and set the "SetSendCallBack"  in the  "pointer-to-point-epc-helper::AddEnb(...)" to create link .



This method which is imitated the connection type between S/P-GW and RemoteHost does not modify anything(changed just variable name).

In Epc-Enb-application, I add two function "SendToVgsSocket(..)" and "RecvFromEnbVgsDevice(...)" .

The "SendToVgsSocket(..)" is same the "epc-sgw-pgw-application::SendToTunDevice(...)" (But remove other useless parameters, just leave "->Receive(...)" to sned packet ) 
and in the "epc-enb-applicaiton::RecvFromLteSocket(...)" to forward packet to VM on the eNB(simulate MEC).

The "RecvFromEnbVgsDevice" is same the "epc-sgw-pgw-application::RecvFromTunDevice(...)" to receive the packet from VM on the eNB , and it is set the "SetSendCallBack" in "pointer-to-point-epc-helper".
(imitate the connection between S/P-GW  and RemoteHost)

A problem is UE packets are received by "Epc-Enb-application::RecvFromLteSocket(..)" first ,but UE packets will received by "Epc-Enb-application::RecvFromEnbVgsDevice(..)" first after I set "SetSendCallBack" for "RecvFromEnbVgsDevice(...)" .

Can any one tell me how to solve it?  Thank you!

Best regard
YX-H

IP :7.0.0.2 is UE, 192.168.10.2 is RemoteHost on the eNB(simulate MEC), I use the lena-simple-epc.cc to test it.

normal before set setSendCallBack:

unnormal after set setSendCallBack:

Packet will go "RecvFromEnbVgsDevice(..)" first.


Yu-Xiang Huang

unread,
Aug 30, 2017, 4:41:40 AM8/30/17
to ns-3-users
Hi every one,

Maybe I need to explain in detail and shortly.

Becasue I want to simulate the MEC(Multi-access edge computing) on eNBs,  
I imitate the relation between S/P-GW and remoteHost.

Fist, I add a variable "Ptr<VirtualNetDevice> enbVgsDevice" and two functions, "SendToVgsSocket" and "RecvFromEnbVgsDevice" in epc-enb-app.

Second, in "void PointToPointEpcHelper::AddEnb(...)" , to configure vgsDev's attribute, Mac, and use the "m_ueAddressHelper" to assign IP to it, 
and add "enbVgsDevice->SetSendCallback(MakeCallback(&EpcEnbApplication::RecvFromEnbVgsDevice,enbApp));".

Finally, I use the point-to-point-helper to connect the eNB and the remoteHost on the eNB.

Therefore , there will have the strange result which is the second picture above.
IP :7.0.0.2 is UE, 192.168.10.2 is the remoteHost on the eNB.
I use the example code to test it.(lena-simple-epc).

Thank you!

Yu-Xiang Huang於 2017年8月10日星期四 UTC+8下午1時13分06秒寫道:
Reply all
Reply to author
Forward
0 new messages