diff --git a/model/ccnx-face.cc b/model/ccnx-face.cc
index 86daa26..3c18af0 100644
--- a/model/ccnx-face.cc
+++ b/model/ccnx-face.cc
@@ -38,6 +38,8 @@
 
 namespace ns3 {
 
+NS_OBJECT_ENSURE_REGISTERED (CcnxFace);
+
 TypeId
 CcnxFace::GetTypeId ()
 {
@@ -63,6 +65,13 @@
     //                BooleanValue (false),
     //                MakeBooleanAccessor (&CcnxFace::m_enableMetricTagging),
     //                MakeBooleanChecker ())
+
+    .AddTraceSource ("CcnxTx", "Transmitted packet trace",
+                     MakeTraceSourceAccessor (&CcnxFace::m_ccnxTxTrace))
+    .AddTraceSource ("CcnxRx", "Received packet trace",
+                     MakeTraceSourceAccessor (&CcnxFace::m_ccnxRxTrace))
+    .AddTraceSource ("CcnxDrop", "Dropped packet trace",
+                     MakeTraceSourceAccessor (&CcnxFace::m_ccnxDropTrace))
     ;
   return tid;
 }
@@ -82,7 +91,7 @@
   , m_id ((uint32_t)-1)
   , m_lastLeakTime (0)
   , m_metric (0)
-  , m_enableMetricTagging (false)
+  // , m_enableMetricTagging (false)
 {
   NS_LOG_FUNCTION (this);
 
@@ -152,10 +161,11 @@
   NS_LOG_FUNCTION (boost::cref (*this) << packet << packet->GetSize ());
   NS_LOG_DEBUG (*packet);
 
-  /// \todo Implement tracing, if requested
-
   if (!IsUp ())
-    return false;
+    {
+      m_ccnxDropTrace (packet);
+      return false;
+    }
 
   // if (m_enableMetricTagging)
   //   {
@@ -174,7 +184,8 @@
   //     tag->AddPathInfo (m_node, GetMetric ());
   //     packet->AddPacketTag (tag);
   //   }
-  
+
+  m_ccnxTxTrace (packet);
   SendImpl (packet);
   return true;
 }
@@ -184,11 +195,13 @@
 {
   NS_LOG_FUNCTION (boost::cref (*this) << packet << packet->GetSize ());
 
-  /// \todo Implement tracing, if requested
-
   if (!IsUp ())
-    return false;
+    {
+      // no tracing here. If we were off while receiving, we shouldn't even know that something was there
+      return false;
+    }
 
+  m_ccnxRxTrace (packet);
   m_protocolHandler (this, packet);
   
   return true;
