]> git.saurik.com Git - apple/network_cmds.git/blobdiff - netstat.tproj/inet6.c
network_cmds-543.tar.gz
[apple/network_cmds.git] / netstat.tproj / inet6.c
index a741196571c1c58d8cc0c8d0ffd8dc657268c6cd..ae502787521959bcf53f7c437d47619d101f0e45 100644 (file)
@@ -364,8 +364,6 @@ static const char *srcrulenames[IP6S_SRCRULE_COUNT] = {
        "avoid deprecated addresses",   // IP6S_SRCRULE_3
        "prefer home addresses",        // IP6S_SRCRULE_4
        "prefer outgoing interface",    // IP6S_SRCRULE_5
        "avoid deprecated addresses",   // IP6S_SRCRULE_3
        "prefer home addresses",        // IP6S_SRCRULE_4
        "prefer outgoing interface",    // IP6S_SRCRULE_5
-       "prefer addresses in a prefix advertised by the next-hop",
-                                       // IP6S_SRCRULE_5_5
        "prefer matching label",        // IP6S_SRCRULE_6
        "prefer temporary addresses",   // IP6S_SRCRULE_7
        "prefer addresses on alive interfaces", // IP6S_SRCRULE_7x
        "prefer matching label",        // IP6S_SRCRULE_6
        "prefer temporary addresses",   // IP6S_SRCRULE_7
        "prefer addresses on alive interfaces", // IP6S_SRCRULE_7x
@@ -374,6 +372,7 @@ static const char *srcrulenames[IP6S_SRCRULE_COUNT] = {
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
+       NULL,
        NULL
 };
 
        NULL
 };
 
@@ -436,6 +435,7 @@ ip6_stats(uint32_t off __unused, char *name, int af __unused)
        p1a(ip6s_fragtimeout, "\t\t\t%llu dropped after timeout\n");
        p1a(ip6s_fragoverflow, "\t\t\t%llu exceeded limit\n");
        p1a(ip6s_reassembled, "\t\t\t%llu reassembled ok\n");
        p1a(ip6s_fragtimeout, "\t\t\t%llu dropped after timeout\n");
        p1a(ip6s_fragoverflow, "\t\t\t%llu exceeded limit\n");
        p1a(ip6s_reassembled, "\t\t\t%llu reassembled ok\n");
+       p1a(ip6s_atmfrag_rcvd, "\t\t\t%llu atomic fragments received\n");
        p(ip6s_delivered, "\t\t%llu packet%s for this host\n");
        p(ip6s_forward, "\t\t%llu packet%s forwarded\n");
        p(ip6s_cantforward, "\t\t%llu packet%s not forwardable\n");
        p(ip6s_delivered, "\t\t%llu packet%s for this host\n");
        p(ip6s_forward, "\t\t%llu packet%s forwarded\n");
        p(ip6s_cantforward, "\t\t%llu packet%s not forwardable\n");
@@ -484,6 +484,7 @@ ip6_stats(uint32_t off __unused, char *name, int af __unused)
        p(ip6s_ofragments, "\t\t%llu fragment%s created\n");
        p(ip6s_cantfrag, "\t\t%llu datagram%s that can't be fragmented\n");
        p(ip6s_badscope, "\t\t%llu packet%s that violated scope rules\n");
        p(ip6s_ofragments, "\t\t%llu fragment%s created\n");
        p(ip6s_cantfrag, "\t\t%llu datagram%s that can't be fragmented\n");
        p(ip6s_badscope, "\t\t%llu packet%s that violated scope rules\n");
+       p(ip6s_necp_policy_drop, "\t\t%llu packet%s dropped due to NECP policy\n");
 
 #define OUTPERFDIFF(f) (out_net_perf.f - pout_net_perf.f)
        if (OUTPERFDIFF(np_total_pkts) > 0 && out_net_perf.np_total_usecs > 0) {
 
 #define OUTPERFDIFF(f) (out_net_perf.f - pout_net_perf.f)
        if (OUTPERFDIFF(np_total_pkts) > 0 && out_net_perf.np_total_usecs > 0) {
@@ -616,7 +617,7 @@ ip6_stats(uint32_t off __unused, char *name, int af __unused)
        for (first = 1, i = 0; i < IP6S_SRCRULE_COUNT; i++) {
                if (IP6DIFF(ip6s_sources_rule[i]) || 1) {
                        if (first) {
        for (first = 1, i = 0; i < IP6S_SRCRULE_COUNT; i++) {
                if (IP6DIFF(ip6s_sources_rule[i]) || 1) {
                        if (first) {
-                               printf("\t\tsource addresse selection\n");
+                               printf("\t\tsource address selection\n");
                                first = 0;
                        }
                        PRINT_SRCRULESTAT(ip6s_sources_rule[i], i);
                                first = 0;
                        }
                        PRINT_SRCRULESTAT(ip6s_sources_rule[i], i);
@@ -624,8 +625,10 @@ ip6_stats(uint32_t off __unused, char *name, int af __unused)
        }
        
        p(ip6s_dad_collide, "\t\t%llu duplicate address detection collision%s\n");
        }
        
        p(ip6s_dad_collide, "\t\t%llu duplicate address detection collision%s\n");
+       
+       p(ip6s_dad_loopcount, "\t\t%llu duplicate address detection NS loop%s\n");
 
 
-       p(ip6s_sources_skip_expensive_secondary_if, "\t\t%llu times%s ignored source on secondary expensive I/F\n");
+       p(ip6s_sources_skip_expensive_secondary_if, "\t\t%llu time%s ignored source on secondary expensive I/F\n");
 
        if (interval > 0) {
                bcopy(&ip6stat, &pip6stat, len);
 
        if (interval > 0) {
                bcopy(&ip6stat, &pip6stat, len);
@@ -684,10 +687,15 @@ ip6_ifstats(char *ifname)
        p(ifs6_out_fragcreat, "\t%llu output datagram%s succeeded on fragment\n");
        p(ifs6_reass_reqd, "\t%llu incoming datagram%s fragmented\n");
        p(ifs6_reass_ok, "\t%llu datagram%s reassembled\n");
        p(ifs6_out_fragcreat, "\t%llu output datagram%s succeeded on fragment\n");
        p(ifs6_reass_reqd, "\t%llu incoming datagram%s fragmented\n");
        p(ifs6_reass_ok, "\t%llu datagram%s reassembled\n");
+       p(ifs6_atmfrag_rcvd, "\t%llu atomic fragments%s received\n");
        p(ifs6_reass_fail, "\t%llu datagram%s failed on reassembling\n");
        p(ifs6_in_mcast, "\t%llu multicast datagram%s received\n");
        p(ifs6_out_mcast, "\t%llu multicast datagram%s sent\n");
 
        p(ifs6_reass_fail, "\t%llu datagram%s failed on reassembling\n");
        p(ifs6_in_mcast, "\t%llu multicast datagram%s received\n");
        p(ifs6_out_mcast, "\t%llu multicast datagram%s sent\n");
 
+       p(ifs6_cantfoward_icmp6, "\t%llu ICMPv6 packet%s received for unreachable destination\n");
+       p(ifs6_addr_expiry_cnt, "\t%llu address expiry event%s reported\n");
+       p(ifs6_pfx_expiry_cnt, "\t%llu prefix expiry event%s reported\n");
+       p(ifs6_defrtr_expiry_cnt, "\t%llu default router expiry event%s reported\n");
   end:
        close(s);
 
   end:
        close(s);
 
@@ -1039,6 +1047,7 @@ icmp6_stats(uint32_t off __unused, char *name, int af __unused)
        p(icp6s_badra, "\t%qu bad router advertisement message%s\n");
        p(icp6s_badredirect, "\t%qu bad redirect message%s\n");
        p(icp6s_pmtuchg, "\t%llu path MTU change%s\n");
        p(icp6s_badra, "\t%qu bad router advertisement message%s\n");
        p(icp6s_badredirect, "\t%qu bad redirect message%s\n");
        p(icp6s_pmtuchg, "\t%llu path MTU change%s\n");
+       p(icp6s_rfc6980_drop, "\t%qu dropped fragmented NDP message%s\n");
 
        if (interval > 0)
                bcopy(&icmp6stat, &picmp6stat, len);
 
        if (interval > 0)
                bcopy(&icmp6stat, &picmp6stat, len);
@@ -1145,7 +1154,7 @@ rip6_stats(uint32_t off __unused, char *name, int af __unused)
 #define        p(f, m) if (RIP6DIFF(f) || sflag <= 1) \
     printf(m, (unsigned long long)RIP6DIFF(f), plural(RIP6DIFF(f)))
        p(rip6s_ipackets, "\t%llu message%s received\n");
 #define        p(f, m) if (RIP6DIFF(f) || sflag <= 1) \
     printf(m, (unsigned long long)RIP6DIFF(f), plural(RIP6DIFF(f)))
        p(rip6s_ipackets, "\t%llu message%s received\n");
-       p(rip6s_isum, "\t%llu checksum calcuration%s on inbound\n");
+       p(rip6s_isum, "\t%llu checksum calculation%s on inbound\n");
        p(rip6s_badsum, "\t%llu message%s with bad checksum\n");
        p(rip6s_nosock, "\t%llu message%s dropped due to no socket\n");
        p(rip6s_nosockmcast,
        p(rip6s_badsum, "\t%llu message%s with bad checksum\n");
        p(rip6s_nosock, "\t%llu message%s dropped due to no socket\n");
        p(rip6s_nosockmcast,
@@ -1208,7 +1217,7 @@ inet6print(struct in6_addr *in6, int port, char *proto, int numeric)
        if (!numeric && port)
                GETSERVBYPORT6(port, proto, sp);
        if (sp || port == 0)
        if (!numeric && port)
                GETSERVBYPORT6(port, proto, sp);
        if (sp || port == 0)
-               snprintf(cp, sizeof(line) - (cp - line), "%.8s", sp ? sp->s_name : "*");
+               snprintf(cp, sizeof(line) - (cp - line), "%.15s", sp ? sp->s_name : "*");
        else
                snprintf(cp, sizeof(line) - (cp - line), "%d", ntohs((u_short)port));
        width = lflag ? 45 : Aflag ? 18 : 22;
        else
                snprintf(cp, sizeof(line) - (cp - line), "%d", ntohs((u_short)port));
        width = lflag ? 45 : Aflag ? 18 : 22;