From: Victor Miasnikov <[email protected]>

FEA fibconfig_entry_set_rtmv2.cc delete_entry XLOG_WARNING {-- XLOG_ASSERT(vifp 
!= NULL);

 No XLOG_ASSERT when "delete route for iface" , but XLOG_WARNING a-la 
fibconfig_entry_set_iphelper.cc
for prevent:
==
[ 2012/3/19 6:48:11.708000  FATAL ..\lib\xorp\sbin\xorp_fea.exe:304 FEA 
fea/data_plane/fibconfig/fibconfig_entry_set_rtmv2.cc:347 delete_entry ] vifp 
!= NULL
Assertion failed: 0, file 
fea/data_plane/fibconfig/fibconfig_entry_set_rtmv2.cc, line 347

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
==

Signed-off-by: Victor Miasnikov <[email protected]>
---
 .../fibconfig/fibconfig_entry_set_rtmv2.cc         |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/xorp/fea/data_plane/fibconfig/fibconfig_entry_set_rtmv2.cc 
b/xorp/fea/data_plane/fibconfig/fibconfig_entry_set_rtmv2.cc
index f24e8a4..432a8fe 100644
--- a/xorp/fea/data_plane/fibconfig/fibconfig_entry_set_rtmv2.cc
+++ b/xorp/fea/data_plane/fibconfig/fibconfig_entry_set_rtmv2.cc
@@ -344,6 +344,13 @@ FibConfigEntrySetRtmV2::delete_entry(const FteX& fte)
     // Copy the interface index.
     const IfTree& iftree = fibconfig().merged_config_iftree();
     const IfTreeVif* vifp = iftree.find_vif(fte.ifname(), fte.vifname());
+    if (!vifp) {
+ // Maybe VIF is already deleted or we are not configured to use it.
+ XLOG_WARNING("Trying to delete route for iface: %s on tree: %s, but cannot 
find iface.  Will continue.\n",
+       fte.ifname().c_str(), iftree.getName().c_str());
+ return XORP_OK;
+    }
+
     XLOG_ASSERT(vifp != NULL);
     rtm->rtm_index = vifp->pif_index();

-- 
1.7.9.msysgit.0


_______________________________________________
Xorp-hackers mailing list
[email protected]
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers

Reply via email to