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>
@@ -778,13 +780,13 @@
ASSERT(ire != NULL);
if (rtc->rtc_ire != NULL)
ire_refrele(rtc->rtc_ire);
rtc->rtc_ire = ire;
rtc->rtc_ip6addr = nexthop;
- } else if (IN6_ARE_ADDR_EQUAL(&nexthop, &rtc->rtc_ip6addr)) {
+ } else if (IN6_ARE_ADDR_EQUAL(&nexthop, &rtc->rtc_ip6addr) &&
+ rtc->rtc_ire != NULL) {
/* Use the route cache */
- ASSERT(rtc->rtc_ire != NULL);
ire = rtc->rtc_ire;
} else {
/* Update the route cache */
if (IN6_IS_ADDR_MULTICAST(&nexthop)) {
ire = ire_multicast(ill);