summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/inet/ip/ip6_input.c6
-rw-r--r--usr/src/uts/common/inet/ip/ip_input.c5
2 files changed, 7 insertions, 4 deletions
diff --git a/usr/src/uts/common/inet/ip/ip6_input.c b/usr/src/uts/common/inet/ip/ip6_input.c
index 8a718dbc11..c7c241f944 100644
--- a/usr/src/uts/common/inet/ip/ip6_input.c
+++ b/usr/src/uts/common/inet/ip/ip6_input.c
@@ -21,6 +21,8 @@
/*
* 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. */
@@ -780,9 +782,9 @@ ill_input_short_v6(mblk_t *mp, void *iph_arg, void *nexthop_arg,
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 */
diff --git a/usr/src/uts/common/inet/ip/ip_input.c b/usr/src/uts/common/inet/ip/ip_input.c
index 933bafd11a..6aa70b014a 100644
--- a/usr/src/uts/common/inet/ip/ip_input.c
+++ b/usr/src/uts/common/inet/ip/ip_input.c
@@ -21,6 +21,8 @@
/*
* 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. */
@@ -792,9 +794,8 @@ after_ilb:
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 */