diff options
Diffstat (limited to 'usr/src/uts/common/inet/ip/ip.c')
| -rw-r--r-- | usr/src/uts/common/inet/ip/ip.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/usr/src/uts/common/inet/ip/ip.c b/usr/src/uts/common/inet/ip/ip.c index 46272b2b22..3cfdbe73ff 100644 --- a/usr/src/uts/common/inet/ip/ip.c +++ b/usr/src/uts/common/inet/ip/ip.c @@ -9635,12 +9635,18 @@ ip_snmp_get(queue_t *q, mblk_t *mpctl, int level, boolean_t legacy_req) if ((mpctl = udp_snmp_get(q, mpctl, legacy_req)) == NULL) { return (1); } + if (level == MIB2_UDP) { + goto done; + } } if (level != MIB2_UDP) { if ((mpctl = tcp_snmp_get(q, mpctl, legacy_req)) == NULL) { return (1); } + if (level == MIB2_TCP) { + goto done; + } } if ((mpctl = ip_snmp_get_mib2_ip_traffic_stats(q, mpctl, @@ -9717,6 +9723,7 @@ ip_snmp_get(queue_t *q, mblk_t *mpctl, int level, boolean_t legacy_req) if ((mpctl = ip_snmp_get_mib2_ip_dce(q, mpctl, ipst)) == NULL) { return (1); } +done: freemsg(mpctl); return (1); } |
