summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/inet/ip
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/inet/ip')
-rw-r--r--usr/src/uts/common/inet/ip/conn_opt.c2
-rw-r--r--usr/src/uts/common/inet/ip/icmp.c2
-rw-r--r--usr/src/uts/common/inet/ip/ip.c12
-rw-r--r--usr/src/uts/common/inet/ip/ip2mac.c4
-rw-r--r--usr/src/uts/common/inet/ip/ip6.c2
-rw-r--r--usr/src/uts/common/inet/ip/ip6_input.c2
-rw-r--r--usr/src/uts/common/inet/ip/ip6_output.c6
-rw-r--r--usr/src/uts/common/inet/ip/ip_dce.c13
-rw-r--r--usr/src/uts/common/inet/ip/ip_ftable.c2
-rw-r--r--usr/src/uts/common/inet/ip/ip_if.c12
-rw-r--r--usr/src/uts/common/inet/ip/ip_input.c2
-rw-r--r--usr/src/uts/common/inet/ip/ip_ire.c4
-rw-r--r--usr/src/uts/common/inet/ip/ip_ndp.c10
-rw-r--r--usr/src/uts/common/inet/ip/ip_output.c12
-rw-r--r--usr/src/uts/common/inet/ip/ip_squeue.c2
15 files changed, 48 insertions, 39 deletions
diff --git a/usr/src/uts/common/inet/ip/conn_opt.c b/usr/src/uts/common/inet/ip/conn_opt.c
index a46d7c4cd0..8820f6d2ab 100644
--- a/usr/src/uts/common/inet/ip/conn_opt.c
+++ b/usr/src/uts/common/inet/ip/conn_opt.c
@@ -2881,7 +2881,7 @@ conn_inherit_parent(conn_t *lconnp, conn_t *econnp)
econnp->conn_cred = credp = lconnp->conn_cred;
crhold(credp);
econnp->conn_cpid = lconnp->conn_cpid;
- econnp->conn_open_time = lbolt64;
+ econnp->conn_open_time = ddi_get_lbolt64();
/*
* Cache things in the ixa without any refhold.
diff --git a/usr/src/uts/common/inet/ip/icmp.c b/usr/src/uts/common/inet/ip/icmp.c
index 8222c866d0..a070f1de35 100644
--- a/usr/src/uts/common/inet/ip/icmp.c
+++ b/usr/src/uts/common/inet/ip/icmp.c
@@ -1714,7 +1714,7 @@ rawip_do_open(int family, cred_t *credp, int *err, int flags)
crhold(credp);
connp->conn_cred = credp;
connp->conn_cpid = curproc->p_pid;
- connp->conn_open_time = lbolt64;
+ connp->conn_open_time = ddi_get_lbolt64();
/* Cache things in ixa without an extra refhold */
connp->conn_ixa->ixa_cred = connp->conn_cred;
connp->conn_ixa->ixa_cpid = connp->conn_cpid;
diff --git a/usr/src/uts/common/inet/ip/ip.c b/usr/src/uts/common/inet/ip/ip.c
index b59087e9b1..240d054d73 100644
--- a/usr/src/uts/common/inet/ip/ip.c
+++ b/usr/src/uts/common/inet/ip/ip.c
@@ -2130,7 +2130,7 @@ icmp_inbound_too_big_v4(icmph_t *icmph, ip_recv_attr_t *ira)
/* We now have a PMTU for sure */
dce->dce_flags |= DCEF_PMTU;
- dce->dce_last_change_time = TICK_TO_SEC(lbolt64);
+ dce->dce_last_change_time = TICK_TO_SEC(ddi_get_lbolt64());
mutex_exit(&dce->dce_lock);
/*
* After dropping the lock the new value is visible to everyone.
@@ -3083,7 +3083,7 @@ icmp_pkt(mblk_t *mp, void *stuff, size_t len, ip_recv_attr_t *ira)
boolean_t
icmp_err_rate_limit(ip_stack_t *ipst)
{
- clock_t now = TICK_TO_MSEC(lbolt);
+ clock_t now = TICK_TO_MSEC(ddi_get_lbolt());
uint_t refilled; /* Number of packets refilled in tbf since last */
/* Guard against changes by loading into local variable */
uint_t err_interval = ipst->ips_ip_icmp_err_interval;
@@ -3893,14 +3893,14 @@ ip_get_pmtu(ip_xmit_attr_t *ixa)
/* Check if the PMTU is to old before we use it */
if ((dce->dce_flags & DCEF_PMTU) &&
- TICK_TO_SEC(lbolt64) - dce->dce_last_change_time >
+ TICK_TO_SEC(ddi_get_lbolt64()) - dce->dce_last_change_time >
ipst->ips_ip_pathmtu_interval) {
/*
* Older than 20 minutes. Drop the path MTU information.
*/
mutex_enter(&dce->dce_lock);
dce->dce_flags &= ~(DCEF_PMTU|DCEF_TOO_SMALL_PMTU);
- dce->dce_last_change_time = TICK_TO_SEC(lbolt64);
+ dce->dce_last_change_time = TICK_TO_SEC(ddi_get_lbolt64());
mutex_exit(&dce->dce_lock);
dce_increment_generation(dce);
}
@@ -14773,7 +14773,7 @@ sendit:
* It should be o.k. to check the state without
* a lock here, at most we lose an advice.
*/
- ncec->ncec_last = TICK_TO_MSEC(lbolt64);
+ ncec->ncec_last = TICK_TO_MSEC(ddi_get_lbolt64());
if (ncec->ncec_state != ND_REACHABLE) {
mutex_enter(&ncec->ncec_lock);
ncec->ncec_state = ND_REACHABLE;
@@ -14792,7 +14792,7 @@ sendit:
return (0);
}
- delta = TICK_TO_MSEC(lbolt64) - ncec->ncec_last;
+ delta = TICK_TO_MSEC(ddi_get_lbolt64()) - ncec->ncec_last;
ip1dbg(("ip_xmit: delta = %" PRId64
" ill_reachable_time = %d \n", delta,
ill->ill_reachable_time));
diff --git a/usr/src/uts/common/inet/ip/ip2mac.c b/usr/src/uts/common/inet/ip/ip2mac.c
index 55a17f762a..7ee7504d28 100644
--- a/usr/src/uts/common/inet/ip/ip2mac.c
+++ b/usr/src/uts/common/inet/ip/ip2mac.c
@@ -238,7 +238,7 @@ ip2mac(uint_t op, ip2mac_t *ip2m, ip2mac_callback_t *cb, void *cbarg,
goto done;
}
ncec = nce->nce_common;
- delta = TICK_TO_MSEC(lbolt64) - ncec->ncec_last;
+ delta = TICK_TO_MSEC(ddi_get_lbolt64()) - ncec->ncec_last;
mutex_enter(&ncec->ncec_lock);
if (NCE_ISREACHABLE(ncec) &&
delta < (uint64_t)ill->ill_reachable_time) {
@@ -256,7 +256,7 @@ ip2mac(uint_t op, ip2mac_t *ip2m, ip2mac_callback_t *cb, void *cbarg,
}
}
ncec = nce->nce_common;
- delta = TICK_TO_MSEC(lbolt64) - ncec->ncec_last;
+ delta = TICK_TO_MSEC(ddi_get_lbolt64()) - ncec->ncec_last;
mutex_enter(&ncec->ncec_lock);
if (NCE_ISCONDEMNED(ncec)) {
ip2m->ip2mac_err = ESRCH;
diff --git a/usr/src/uts/common/inet/ip/ip6.c b/usr/src/uts/common/inet/ip/ip6.c
index ed54c08884..2794716bcd 100644
--- a/usr/src/uts/common/inet/ip/ip6.c
+++ b/usr/src/uts/common/inet/ip/ip6.c
@@ -739,7 +739,7 @@ icmp_inbound_too_big_v6(icmp6_t *icmp6, ip_recv_attr_t *ira)
}
/* We now have a PMTU for sure */
dce->dce_flags |= DCEF_PMTU;
- dce->dce_last_change_time = TICK_TO_SEC(lbolt64);
+ dce->dce_last_change_time = TICK_TO_SEC(ddi_get_lbolt64());
mutex_exit(&dce->dce_lock);
/*
* After dropping the lock the new value is visible to everyone.
diff --git a/usr/src/uts/common/inet/ip/ip6_input.c b/usr/src/uts/common/inet/ip/ip6_input.c
index cee5344bf6..bda97c602b 100644
--- a/usr/src/uts/common/inet/ip/ip6_input.c
+++ b/usr/src/uts/common/inet/ip/ip6_input.c
@@ -1437,7 +1437,7 @@ ire_recv_local_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
ill_t *ire_ill = ire->ire_ill;
/* Make a note for DAD that this address is in use */
- ire->ire_last_used_time = lbolt;
+ ire->ire_last_used_time = ddi_get_lbolt();
/* Only target the IRE_LOCAL with the right zoneid. */
ira->ira_zoneid = ire->ire_zoneid;
diff --git a/usr/src/uts/common/inet/ip/ip6_output.c b/usr/src/uts/common/inet/ip/ip6_output.c
index 3e06050781..31b7a54868 100644
--- a/usr/src/uts/common/inet/ip/ip6_output.c
+++ b/usr/src/uts/common/inet/ip/ip6_output.c
@@ -118,6 +118,7 @@ ip_output_simple_v6(mblk_t *mp, ip_xmit_attr_t *ixa)
boolean_t repeat = B_FALSE;
boolean_t multirt = B_FALSE;
uint_t ifindex;
+ int64_t now;
ip6h = (ip6_t *)mp->b_rptr;
ASSERT(IPH_HDR_VERSION(ip6h) == IPV6_VERSION);
@@ -237,14 +238,15 @@ repeat_ire:
* To avoid a periodic timer to increase the path MTU we
* look at dce_last_change_time each time we send a packet.
*/
- if (TICK_TO_SEC(lbolt64) - dce->dce_last_change_time >
+ now = ddi_get_lbolt64();
+ if (TICK_TO_SEC(now) - dce->dce_last_change_time >
ipst->ips_ip_pathmtu_interval) {
/*
* Older than 20 minutes. Drop the path MTU information.
*/
mutex_enter(&dce->dce_lock);
dce->dce_flags &= ~(DCEF_PMTU|DCEF_TOO_SMALL_PMTU);
- dce->dce_last_change_time = TICK_TO_SEC(lbolt64);
+ dce->dce_last_change_time = TICK_TO_SEC(now);
mutex_exit(&dce->dce_lock);
dce_increment_generation(dce);
ixa->ixa_fragsize = ip_get_base_mtu(nce->nce_ill, ire);
diff --git a/usr/src/uts/common/inet/ip/ip_dce.c b/usr/src/uts/common/inet/ip/ip_dce.c
index 839c5ae0d0..b7d7e38022 100644
--- a/usr/src/uts/common/inet/ip/ip_dce.c
+++ b/usr/src/uts/common/inet/ip/ip_dce.c
@@ -125,7 +125,7 @@ dcb_reclaim(dcb_t *dcb, ip_stack_t *ipst, uint_t fraction)
/* Clear DCEF_PMTU if the pmtu is too old */
mutex_enter(&dce->dce_lock);
if ((dce->dce_flags & DCEF_PMTU) &&
- TICK_TO_SEC(lbolt64) - dce->dce_last_change_time >
+ TICK_TO_SEC(ddi_get_lbolt64()) - dce->dce_last_change_time >
ipst->ips_ip_pathmtu_interval) {
dce->dce_flags &= ~DCEF_PMTU;
mutex_exit(&dce->dce_lock);
@@ -220,7 +220,8 @@ dce_stack_init(ip_stack_t *ipst)
bzero(ipst->ips_dce_default, sizeof (dce_t));
ipst->ips_dce_default->dce_flags = DCEF_DEFAULT;
ipst->ips_dce_default->dce_generation = DCE_GENERATION_INITIAL;
- ipst->ips_dce_default->dce_last_change_time = TICK_TO_SEC(lbolt64);
+ ipst->ips_dce_default->dce_last_change_time =
+ TICK_TO_SEC(ddi_get_lbolt64());
ipst->ips_dce_default->dce_refcnt = 1; /* Should never go away */
ipst->ips_dce_default->dce_ipst = ipst;
@@ -428,7 +429,7 @@ dce_lookup_and_add_v4(ipaddr_t dst, ip_stack_t *ipst)
dce->dce_v4addr = dst;
dce->dce_generation = DCE_GENERATION_INITIAL;
dce->dce_ipversion = IPV4_VERSION;
- dce->dce_last_change_time = TICK_TO_SEC(lbolt64);
+ dce->dce_last_change_time = TICK_TO_SEC(ddi_get_lbolt64());
dce_refhold(dce); /* For the hash list */
/* Link into list */
@@ -493,7 +494,7 @@ dce_lookup_and_add_v6(const in6_addr_t *dst, uint_t ifindex, ip_stack_t *ipst)
dce->dce_ifindex = ifindex;
dce->dce_generation = DCE_GENERATION_INITIAL;
dce->dce_ipversion = IPV6_VERSION;
- dce->dce_last_change_time = TICK_TO_SEC(lbolt64);
+ dce->dce_last_change_time = TICK_TO_SEC(ddi_get_lbolt64());
dce_refhold(dce); /* For the hash list */
/* Link into list */
@@ -560,7 +561,7 @@ dce_setuinfo(dce_t *dce, iulp_t *uinfo)
dce->dce_pmtu = MIN(uinfo->iulp_mtu, IP_MAXPACKET);
dce->dce_flags |= DCEF_PMTU;
}
- dce->dce_last_change_time = TICK_TO_SEC(lbolt64);
+ dce->dce_last_change_time = TICK_TO_SEC(ddi_get_lbolt64());
}
if (uinfo->iulp_ssthresh != 0) {
if (dce->dce_uinfo.iulp_ssthresh != 0)
@@ -756,7 +757,7 @@ ip_snmp_get_mib2_ip_dce(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
int i;
uint64_t current_time;
- current_time = TICK_TO_SEC(lbolt64);
+ current_time = TICK_TO_SEC(ddi_get_lbolt64());
/*
* make a copy of the original message
diff --git a/usr/src/uts/common/inet/ip/ip_ftable.c b/usr/src/uts/common/inet/ip/ip_ftable.c
index 771dd9f62f..7dd350a42a 100644
--- a/usr/src/uts/common/inet/ip/ip_ftable.c
+++ b/usr/src/uts/common/inet/ip/ip_ftable.c
@@ -892,7 +892,7 @@ ire_round_robin(irb_t *irb_ptr, ire_ftable_args_t *margs, uint_t hash,
mutex_enter(&ire->ire_lock);
/* Look for stale ire_badcnt and clear */
if (ire->ire_badcnt != 0 &&
- (TICK_TO_SEC(lbolt64) - ire->ire_last_badcnt >
+ (TICK_TO_SEC(ddi_get_lbolt64()) - ire->ire_last_badcnt >
ipst->ips_ip_ire_badcnt_lifetime))
ire->ire_badcnt = 0;
mutex_exit(&ire->ire_lock);
diff --git a/usr/src/uts/common/inet/ip/ip_if.c b/usr/src/uts/common/inet/ip/ip_if.c
index 6066da35b4..cd5a98b7b5 100644
--- a/usr/src/uts/common/inet/ip/ip_if.c
+++ b/usr/src/uts/common/inet/ip/ip_if.c
@@ -2426,6 +2426,7 @@ ill_frag_prune(ill_t *ill, uint_t max_count)
ipfb_t *ipfb;
ipf_t *ipf;
size_t count;
+ clock_t now;
/*
* If we are here within ip_min_frag_prune_time msecs remove
@@ -2433,7 +2434,8 @@ ill_frag_prune(ill_t *ill, uint_t max_count)
* ill_frag_free_num_pkts.
*/
mutex_enter(&ill->ill_lock);
- if (TICK_TO_MSEC(lbolt - ill->ill_last_frag_clean_time) <=
+ now = ddi_get_lbolt();
+ if (TICK_TO_MSEC(now - ill->ill_last_frag_clean_time) <=
(ip_min_frag_prune_time != 0 ?
ip_min_frag_prune_time : msec_per_tick)) {
@@ -2442,7 +2444,7 @@ ill_frag_prune(ill_t *ill, uint_t max_count)
} else {
ill->ill_frag_free_num_pkts = 0;
}
- ill->ill_last_frag_clean_time = lbolt;
+ ill->ill_last_frag_clean_time = now;
mutex_exit(&ill->ill_lock);
/*
@@ -4994,7 +4996,7 @@ th_trace_rrecord(th_trace_t *th_trace)
lastref = 0;
th_trace->th_trace_lastref = lastref;
tr_buf = &th_trace->th_trbuf[lastref];
- tr_buf->tr_time = lbolt;
+ tr_buf->tr_time = ddi_get_lbolt();
tr_buf->tr_depth = getpcstack(tr_buf->tr_stack, TR_STACK_DEPTH);
}
@@ -6528,8 +6530,8 @@ ipsq_enter(ill_t *ill, boolean_t force, int type)
} else {
mutex_exit(&ipx->ipx_lock);
mutex_exit(&ipsq->ipsq_lock);
- (void) cv_timedwait(&ill->ill_cv,
- &ill->ill_lock, lbolt + ENTER_SQ_WAIT_TICKS);
+ (void) cv_reltimedwait(&ill->ill_cv,
+ &ill->ill_lock, ENTER_SQ_WAIT_TICKS, TR_CLOCK_TICK);
waited_enough = B_TRUE;
}
mutex_exit(&ill->ill_lock);
diff --git a/usr/src/uts/common/inet/ip/ip_input.c b/usr/src/uts/common/inet/ip/ip_input.c
index d47670f85d..e9850f220c 100644
--- a/usr/src/uts/common/inet/ip/ip_input.c
+++ b/usr/src/uts/common/inet/ip/ip_input.c
@@ -1679,7 +1679,7 @@ ire_recv_local_v4(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
ill_t *ire_ill = ire->ire_ill;
/* Make a note for DAD that this address is in use */
- ire->ire_last_used_time = lbolt;
+ ire->ire_last_used_time = ddi_get_lbolt();
/* Only target the IRE_LOCAL with the right zoneid. */
ira->ira_zoneid = ire->ire_zoneid;
diff --git a/usr/src/uts/common/inet/ip/ip_ire.c b/usr/src/uts/common/inet/ip/ip_ire.c
index be0017cb62..c204870e60 100644
--- a/usr/src/uts/common/inet/ip/ip_ire.c
+++ b/usr/src/uts/common/inet/ip/ip_ire.c
@@ -2140,7 +2140,7 @@ ire_delete_reclaim(ire_t *ire, char *arg)
(ire->ire_type & IRE_IF_CLONE)) {
/* Pick a random number */
- rand = (uint_t)lbolt +
+ rand = (uint_t)ddi_get_lbolt() +
IRE_ADDR_HASH_V6(ire->ire_addr_v6, 256);
/* Use truncation */
@@ -3092,7 +3092,7 @@ ire_no_good(ire_t *ire)
*/
mutex_enter(&ire->ire_lock);
ire->ire_badcnt++;
- ire->ire_last_badcnt = TICK_TO_SEC(lbolt64);
+ ire->ire_last_badcnt = TICK_TO_SEC(ddi_get_lbolt64());
nce = ire->ire_nce_cache;
if (nce != NULL && nce->nce_is_condemned &&
nce->nce_common->ncec_state == ND_UNREACHABLE)
diff --git a/usr/src/uts/common/inet/ip/ip_ndp.c b/usr/src/uts/common/inet/ip/ip_ndp.c
index 97096bea99..76d84761f2 100644
--- a/usr/src/uts/common/inet/ip/ip_ndp.c
+++ b/usr/src/uts/common/inet/ip/ip_ndp.c
@@ -2677,7 +2677,7 @@ nce_update(ncec_t *ncec, uint16_t new_state, uchar_t *new_ll_addr)
ASSERT((int16_t)new_state <= ND_STATE_VALID_MAX);
need_stop_timer = B_TRUE;
if (new_state == ND_REACHABLE)
- ncec->ncec_last = TICK_TO_MSEC(lbolt64);
+ ncec->ncec_last = TICK_TO_MSEC(ddi_get_lbolt64());
else {
/* We force NUD in this case */
ncec->ncec_last = 0;
@@ -3392,7 +3392,7 @@ ncec_cache_reclaim(ncec_t *ncec, char *arg)
return;
}
- rand = (uint_t)lbolt +
+ rand = (uint_t)ddi_get_lbolt() +
NCE_ADDR_HASH_V6(ncec->ncec_addr, NCE_TABLE_SIZE);
if ((rand/fraction)*fraction == rand) {
IP_STAT(ipst, ip_nce_reclaim_deleted);
@@ -4557,12 +4557,12 @@ nce_add_common(ill_t *ill, uchar_t *hw_addr, uint_t hw_addr_len,
ncec->ncec_state = state;
if (state == ND_REACHABLE) {
- ncec->ncec_last = TICK_TO_MSEC(lbolt64);
- ncec->ncec_init_time = TICK_TO_MSEC(lbolt64);
+ ncec->ncec_last = ncec->ncec_init_time =
+ TICK_TO_MSEC(ddi_get_lbolt64());
} else {
ncec->ncec_last = 0;
if (state == ND_INITIAL)
- ncec->ncec_init_time = TICK_TO_MSEC(lbolt64);
+ ncec->ncec_init_time = TICK_TO_MSEC(ddi_get_lbolt64());
}
list_create(&ncec->ncec_cb, sizeof (ncec_cb_t),
offsetof(ncec_cb_t, ncec_cb_node));
diff --git a/usr/src/uts/common/inet/ip/ip_output.c b/usr/src/uts/common/inet/ip/ip_output.c
index a4940fd3e8..5196fdfe3a 100644
--- a/usr/src/uts/common/inet/ip/ip_output.c
+++ b/usr/src/uts/common/inet/ip/ip_output.c
@@ -140,6 +140,7 @@ conn_ip_output(mblk_t *mp, ip_xmit_attr_t *ixa)
ill_t *ill;
ip_stack_t *ipst = ixa->ixa_ipst;
int error;
+ int64_t now;
/* We defer ipIfStatsHCOutRequests until an error or we have an ill */
@@ -285,8 +286,9 @@ conn_ip_output(mblk_t *mp, ip_xmit_attr_t *ixa)
* To avoid a periodic timer to increase the path MTU we
* look at dce_last_change_time each time we send a packet.
*/
+ now = ddi_get_lbolt64();
if ((dce->dce_flags & DCEF_PMTU) &&
- (TICK_TO_SEC(lbolt64) - dce->dce_last_change_time >
+ (TICK_TO_SEC(now) - dce->dce_last_change_time >
ipst->ips_ip_pathmtu_interval)) {
/*
* Older than 20 minutes. Drop the path MTU information.
@@ -296,7 +298,7 @@ conn_ip_output(mblk_t *mp, ip_xmit_attr_t *ixa)
*/
mutex_enter(&dce->dce_lock);
dce->dce_flags &= ~(DCEF_PMTU|DCEF_TOO_SMALL_PMTU);
- dce->dce_last_change_time = TICK_TO_SEC(lbolt64);
+ dce->dce_last_change_time = TICK_TO_SEC(now);
mutex_exit(&dce->dce_lock);
dce_increment_generation(dce);
}
@@ -810,6 +812,7 @@ ip_output_simple_v4(mblk_t *mp, ip_xmit_attr_t *ixa)
ip_stack_t *ipst = ixa->ixa_ipst;
boolean_t repeat = B_FALSE;
boolean_t multirt = B_FALSE;
+ int64_t now;
ipha = (ipha_t *)mp->b_rptr;
ASSERT(IPH_HDR_VERSION(ipha) == IPV4_VERSION);
@@ -928,14 +931,15 @@ repeat_ire:
* To avoid a periodic timer to increase the path MTU we
* look at dce_last_change_time each time we send a packet.
*/
- if (TICK_TO_SEC(lbolt64) - dce->dce_last_change_time >
+ now = ddi_get_lbolt64();
+ if (TICK_TO_SEC(now) - dce->dce_last_change_time >
ipst->ips_ip_pathmtu_interval) {
/*
* Older than 20 minutes. Drop the path MTU information.
*/
mutex_enter(&dce->dce_lock);
dce->dce_flags &= ~(DCEF_PMTU|DCEF_TOO_SMALL_PMTU);
- dce->dce_last_change_time = TICK_TO_SEC(lbolt64);
+ dce->dce_last_change_time = TICK_TO_SEC(now);
mutex_exit(&dce->dce_lock);
dce_increment_generation(dce);
ixa->ixa_fragsize = ip_get_base_mtu(nce->nce_ill, ire);
diff --git a/usr/src/uts/common/inet/ip/ip_squeue.c b/usr/src/uts/common/inet/ip/ip_squeue.c
index 0955bfd3f2..33a2fa5935 100644
--- a/usr/src/uts/common/inet/ip/ip_squeue.c
+++ b/usr/src/uts/common/inet/ip/ip_squeue.c
@@ -686,7 +686,7 @@ ip_squeue_get(ill_rx_ring_t *ill_rx_ring)
squeue_t *sqp;
if ((ill_rx_ring == NULL) || ((sqp = ill_rx_ring->rr_sqp) == NULL))
- return (IP_SQUEUE_GET(lbolt));
+ return (IP_SQUEUE_GET(CPU_PSEUDO_RANDOM()));
return (sqp);
}