diff options
| author | nordmark <none@none> | 2007-05-31 15:57:38 -0700 |
|---|---|---|
| committer | nordmark <none@none> | 2007-05-31 15:57:38 -0700 |
| commit | 27c48ed935c6a5f6015c6534b98e3090b1ddfdb6 (patch) | |
| tree | b7b1abf7e23d309956de3613f99f14129b531e2e /usr/src | |
| parent | 2b8ca27429f242f019c4ba7d20bc2f9e90ef3655 (diff) | |
| download | illumos-joyent-27c48ed935c6a5f6015c6534b98e3090b1ddfdb6.tar.gz | |
6526073 In kstat, UDP HC counters roll over after 4 billion
6539005 Comment changes required in source files.
6539382 arp.c holds lock across putnext
6561971 TX check missing in IPv4 default route case
Diffstat (limited to 'usr/src')
| -rw-r--r-- | usr/src/uts/common/inet/arp/arp.c | 2 | ||||
| -rw-r--r-- | usr/src/uts/common/inet/ip/ip.c | 3 | ||||
| -rw-r--r-- | usr/src/uts/common/inet/ip/ip6.c | 3 | ||||
| -rw-r--r-- | usr/src/uts/common/inet/ip/ip6_asp.c | 2 | ||||
| -rw-r--r-- | usr/src/uts/common/inet/ip/ip_ftable.c | 11 | ||||
| -rw-r--r-- | usr/src/uts/common/inet/ip/rts.c | 2 | ||||
| -rw-r--r-- | usr/src/uts/common/inet/udp/udp.c | 4 |
7 files changed, 12 insertions, 15 deletions
diff --git a/usr/src/uts/common/inet/arp/arp.c b/usr/src/uts/common/inet/arp/arp.c index 604dd381c0..f285e654a4 100644 --- a/usr/src/uts/common/inet/arp/arp.c +++ b/usr/src/uts/common/inet/arp/arp.c @@ -3671,6 +3671,7 @@ ar_slifname(queue_t *q, mblk_t *mp_orig) rw_enter(&as->as_arl_lock, RW_WRITER); arl->arl_next = as->as_arl_head; as->as_arl_head = arl; + rw_exit(&as->as_arl_lock); DTRACE_PROBE1(slifname_set, arl_t *, arl); /* @@ -3684,7 +3685,6 @@ ar_slifname(queue_t *q, mblk_t *mp_orig) iocp->ioc_count = msgsize(ioccpy->b_cont); ioccpy->b_wptr = (uchar_t *)(iocp + 1); putnext(arl->arl_wq, ioccpy); - rw_exit(&as->as_arl_lock); return (0); } diff --git a/usr/src/uts/common/inet/ip/ip.c b/usr/src/uts/common/inet/ip/ip.c index 9666ebb193..b60bdc5660 100644 --- a/usr/src/uts/common/inet/ip/ip.c +++ b/usr/src/uts/common/inet/ip/ip.c @@ -8230,8 +8230,7 @@ ip_newroute(queue_t *q, mblk_t *mp, ipaddr_t dst, ill_t *in_ill, conn_t *connp, * Increment the ire_ob_pkt_count field for ire if it is an * INTERFACE (IF_RESOLVER or IF_NORESOLVER) IRE type, and * increment the same for the parent IRE, sire, if it is some - * sort of prefix IRE (which includes DEFAULT, PREFIX, HOST - * and HOST_REDIRECT). + * sort of prefix IRE (which includes DEFAULT, PREFIX, and HOST) */ if ((ire->ire_type & IRE_INTERFACE) != 0) { UPDATE_OB_PKT_COUNT(ire); diff --git a/usr/src/uts/common/inet/ip/ip6.c b/usr/src/uts/common/inet/ip/ip6.c index 60242e80e7..f5d339c081 100644 --- a/usr/src/uts/common/inet/ip/ip6.c +++ b/usr/src/uts/common/inet/ip/ip6.c @@ -4629,8 +4629,7 @@ ip_newroute_v6(queue_t *q, mblk_t *mp, const in6_addr_t *v6dstp, * Increment the ire_ob_pkt_count field for ire if it is an * INTERFACE (IF_RESOLVER or IF_NORESOLVER) IRE type, and * increment the same for the parent IRE, sire, if it is some - * sort of prefix IRE (which includes DEFAULT, PREFIX, HOST - * and HOST_REDIRECT). + * sort of prefix IRE (which includes DEFAULT, PREFIX, and HOST) */ if ((ire->ire_type & IRE_INTERFACE) != 0) { UPDATE_OB_PKT_COUNT(ire); diff --git a/usr/src/uts/common/inet/ip/ip6_asp.c b/usr/src/uts/common/inet/ip/ip6_asp.c index ee5e163960..d54e821359 100644 --- a/usr/src/uts/common/inet/ip/ip6_asp.c +++ b/usr/src/uts/common/inet/ip/ip6_asp.c @@ -418,7 +418,7 @@ ip6_asp_replace(mblk_t *mp, ip6_asp_t *new_table, size_t new_size, /* * The user has changed the address selection policy table. IPv6 * source address selection for existing IRE_CACHE and - * IRE_HOST_REDIRECT entries used the old table, so we need to + * RTF_DYNAMIC entries used the old table, so we need to * clear the cache. */ ire_walk_v6(ire_delete_cache_v6, NULL, ALL_ZONES, ipst); diff --git a/usr/src/uts/common/inet/ip/ip_ftable.c b/usr/src/uts/common/inet/ip/ip_ftable.c index 98cba3393e..8a837008d3 100644 --- a/usr/src/uts/common/inet/ip/ip_ftable.c +++ b/usr/src/uts/common/inet/ip/ip_ftable.c @@ -893,8 +893,7 @@ create_irecache: * Increment the ire_ob_pkt_count field for ire if it is an * INTERFACE (IF_RESOLVER or IF_NORESOLVER) IRE type, and * increment the same for the parent IRE, sire, if it is some - * sort of prefix IRE (which includes DEFAULT, PREFIX, HOST - * and HOST_REDIRECT). + * sort of prefix IRE (which includes DEFAULT, PREFIX, and HOST). */ if ((ire->ire_type & IRE_INTERFACE) != 0) { UPDATE_OB_PKT_COUNT(ire); @@ -1689,7 +1688,7 @@ ire_round_robin(irb_t *irb_ptr, zoneid_t zoneid, ire_ftable_args_t *margs, */ ire = ire_origin; while (ire != NULL) { - int match_flags = 0; + int match_flags = MATCH_IRE_TYPE | MATCH_IRE_SECATTR; ire_t *rire; if (ire->ire_marks & IRE_MARK_CONDEMNED) @@ -1717,15 +1716,15 @@ ire_round_robin(irb_t *irb_ptr, zoneid_t zoneid, ire_ftable_args_t *margs, return (ire); } /* - * When we're in a local zone, we're only + * When we're in a non-global zone, we're only * interested in routers that are * reachable through ipifs within our zone. */ if (ire->ire_ipif != NULL) { match_flags |= MATCH_IRE_ILL_GROUP; } - rire = ire_route_lookup(ire->ire_gateway_addr, - 0, 0, 0, ire->ire_ipif, NULL, zoneid, margs->ift_tsl, + rire = ire_route_lookup(ire->ire_gateway_addr, 0, 0, + IRE_INTERFACE, ire->ire_ipif, NULL, zoneid, margs->ift_tsl, match_flags, ipst); if (rire != NULL) { ire_refrele(rire); diff --git a/usr/src/uts/common/inet/ip/rts.c b/usr/src/uts/common/inet/ip/rts.c index c7a2d42eaa..f9c37a5421 100644 --- a/usr/src/uts/common/inet/ip/rts.c +++ b/usr/src/uts/common/inet/ip/rts.c @@ -66,7 +66,7 @@ * * Interfaces are brought up or down. * Addresses are assigned to interfaces. - * ICMP redirects are processed and a IRE_HOST_REDIRECT is installed. + * ICMP redirects are processed and a IRE_HOST/RTF_DYNAMIC is installed. * No route is found while sending a packet. * When TCP requests IP to remove an IRE_CACHE of a troubled destination. * diff --git a/usr/src/uts/common/inet/udp/udp.c b/usr/src/uts/common/inet/udp/udp.c index 319befbce6..87969c1887 100644 --- a/usr/src/uts/common/inet/udp/udp.c +++ b/usr/src/uts/common/inet/udp/udp.c @@ -8523,9 +8523,9 @@ udp_kstat_update(kstat_t *kp, int rw) } udpkp = (udp_named_kstat_t *)kp->ks_data; - udpkp->inDatagrams.value.ui32 = us->us_udp_mib.udpHCInDatagrams; + udpkp->inDatagrams.value.ui64 = us->us_udp_mib.udpHCInDatagrams; udpkp->inErrors.value.ui32 = us->us_udp_mib.udpInErrors; - udpkp->outDatagrams.value.ui32 = us->us_udp_mib.udpHCOutDatagrams; + udpkp->outDatagrams.value.ui64 = us->us_udp_mib.udpHCOutDatagrams; udpkp->outErrors.value.ui32 = us->us_udp_mib.udpOutErrors; netstack_rele(ns); return (0); |
