Print this page
787 Kernel panic in ip_input.c
        
@@ -19,10 +19,12 @@
  * CDDL HEADER END
  */
 
 /*
  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
  */
 /* Copyright (c) 1990 Mentat Inc. */
 
 #include <sys/types.h>
 #include <sys/stream.h>
@@ -790,13 +792,12 @@
                 ASSERT(ire != NULL);
                 if (rtc->rtc_ire != NULL)
                         ire_refrele(rtc->rtc_ire);
                 rtc->rtc_ire = ire;
                 rtc->rtc_ipaddr = nexthop;
-        } else if (nexthop == rtc->rtc_ipaddr) {
+        } else if (nexthop == rtc->rtc_ipaddr && rtc->rtc_ire != NULL) {
                 /* Use the route cache */
-                ASSERT(rtc->rtc_ire != NULL);
                 ire = rtc->rtc_ire;
         } else {
                 /* Update the route cache */
                 if (CLASSD(nexthop)) {
                         ire = ire_multicast(ill);