From ce9b1a836daba844bcaf20443dd37c823824f53d Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Mon, 20 Feb 2012 18:16:12 +0000 Subject: [PATCH] Bug 1179 - Add LTE trace hooks for supporting visualizer --- src/visualizer/model/pyviz.cc | 20 ++++++++++++++++++++ src/visualizer/model/pyviz.h | 3 +++ src/visualizer/visualizer/base.py | 3 +++ 3 files changed, 26 insertions(+) diff --git a/src/visualizer/model/pyviz.cc b/src/visualizer/model/pyviz.cc index f0acb0f58..1e500b21d 100644 --- a/src/visualizer/model/pyviz.cc +++ b/src/visualizer/model/pyviz.cc @@ -153,12 +153,19 @@ PyViz::PyViz () Config::Connect ("/NodeList/*/DeviceList/*/$ns3::PointToPointNetDevice/MacRx", MakeCallback (&PyViz::TraceNetDevRxPointToPoint, this)); + // WiMax Config::Connect ("/NodeList/*/DeviceList/*/$ns3::WimaxNetDevice/Tx", MakeCallback (&PyViz::TraceNetDevTxWimax, this)); Config::Connect ("/NodeList/*/DeviceList/*/$ns3::WimaxNetDevice/Rx", MakeCallback (&PyViz::TraceNetDevRxWimax, this)); + // LTE + Config::Connect ("/NodeList/*/DeviceList/*/$ns3::LteNetDevice/Tx", + MakeCallback (&PyViz::TraceNetDevTxLte, this)); + + Config::Connect ("/NodeList/*/DeviceList/*/$ns3::LteNetDevice/Rx", + MakeCallback (&PyViz::TraceNetDevRxLte, this)); } void @@ -820,6 +827,19 @@ PyViz::TraceNetDevRxWimax (std::string context, Ptr packet, Mac48A TraceNetDevRxCommon (context, packet, source); } +void +PyViz::TraceNetDevTxLte (std::string context, Ptr packet, Mac48Address const &destination) +{ + NS_LOG_FUNCTION (context); + TraceNetDevTxCommon (context, packet, destination); +} + +void +PyViz::TraceNetDevRxLte (std::string context, Ptr packet, Mac48Address const &source) +{ + NS_LOG_FUNCTION (context); + TraceNetDevRxCommon (context, packet, source); +} // --------------------- diff --git a/src/visualizer/model/pyviz.h b/src/visualizer/model/pyviz.h index fb65f9032..1d2785ec5 100644 --- a/src/visualizer/model/pyviz.h +++ b/src/visualizer/model/pyviz.h @@ -212,6 +212,9 @@ private: void TraceNetDevTxWimax (std::string context, Ptr packet, Mac48Address const &destination); void TraceNetDevRxWimax (std::string context, Ptr packet, Mac48Address const &source); + void TraceNetDevTxLte (std::string context, Ptr packet, Mac48Address const &destination); + void TraceNetDevRxLte (std::string context, Ptr packet, Mac48Address const &source); + inline NetDeviceStatistics & FindNetDeviceStatistics (int node, int interface); void DoPause (std::string const &message); diff --git a/src/visualizer/visualizer/base.py b/src/visualizer/visualizer/base.py index 9e81ebdbd..21a45b6bb 100644 --- a/src/visualizer/visualizer/base.py +++ b/src/visualizer/visualizer/base.py @@ -6,6 +6,7 @@ import ns.internet import ns.mesh import ns.wimax import ns.wimax +import ns.lte import gobject import os.path @@ -42,6 +43,8 @@ netdevice_traits = { ns.mesh.MeshPointDevice: NetDeviceTraits(is_virtual=True), ns.wimax.SubscriberStationNetDevice: NetDeviceTraits(is_wireless=True), ns.wimax.BaseStationNetDevice: NetDeviceTraits(is_wireless=True), + ns.lte.UeNetDevice: NetDeviceTraits(is_wireless=True), + ns.lte.EnbNetDevice: NetDeviceTraits(is_wireless=True), } def lookup_netdevice_traits(class_type):