discard packets for which UE context is not found
authorNicola Baldo <nbaldo@cttc.es>
Tue, 18 Dec 2012 18:23:50 +0100
changeset 9583 2ffd086b410c
parent 9582 7951c152af07
child 9584 5378482e811e
discard packets for which UE context is not found
src/lte/model/epc-enb-application.cc
--- a/src/lte/model/epc-enb-application.cc	Tue Dec 18 17:26:59 2012 +0100
+++ b/src/lte/model/epc-enb-application.cc	Tue Dec 18 18:23:50 2012 +0100
@@ -254,11 +254,17 @@
   uint8_t bid = tag.GetBid ();
   NS_LOG_LOGIC ("received packet with RNTI=" << (uint32_t) rnti << ", BID=" << (uint32_t)  bid);
   std::map<uint16_t, std::map<uint8_t, uint32_t> >::iterator rntiIt = m_rbidTeidMap.find (rnti);
-  NS_ASSERT (rntiIt != m_rbidTeidMap.end ());
-  std::map<uint8_t, uint32_t>::iterator bidIt = rntiIt->second.find (bid);
-  NS_ASSERT (bidIt != rntiIt->second.end ());
-  uint32_t teid = bidIt->second;
-  SendToS1uSocket (packet, teid);
+  if (rntiIt == m_rbidTeidMap.end ())
+    {
+      NS_LOG_WARN ("UE context not found, discarding packet");
+    }
+  else
+    {
+      std::map<uint8_t, uint32_t>::iterator bidIt = rntiIt->second.find (bid);
+      NS_ASSERT (bidIt != rntiIt->second.end ());
+      uint32_t teid = bidIt->second;
+      SendToS1uSocket (packet, teid);
+    }
 }
 
 void