Networking: Clean up network status collection and presentation for IPv6
This commit is contained in:
parent
80c1704d85
commit
beaa7b74a6
@ -273,107 +273,184 @@ errout:
|
|||||||
#if defined(CONFIG_NET_STATISTICS) && !defined(CONFIG_NSH_DISABLE_IFCONFIG)
|
#if defined(CONFIG_NET_STATISTICS) && !defined(CONFIG_NSH_DISABLE_IFCONFIG)
|
||||||
static inline void net_statistics(FAR struct nsh_vtbl_s *vtbl)
|
static inline void net_statistics(FAR struct nsh_vtbl_s *vtbl)
|
||||||
{
|
{
|
||||||
nsh_output(vtbl, " IP ");
|
/* Headings */
|
||||||
|
|
||||||
|
nsh_output(vtbl, " ");
|
||||||
|
#ifdef CONFIG_NET_IPv4
|
||||||
|
nsh_output(vtbl, " IPv4");
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_IPv4
|
||||||
|
nsh_output(vtbl, " IPv6");
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_NET_TCP
|
#ifdef CONFIG_NET_TCP
|
||||||
nsh_output(vtbl, " TCP");
|
nsh_output(vtbl, " TCP");
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_UDP
|
#ifdef CONFIG_NET_UDP
|
||||||
nsh_output(vtbl, " UDP");
|
nsh_output(vtbl, " UDP");
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_ICMP
|
#ifdef CONFIG_NET_ICMP
|
||||||
nsh_output(vtbl, " ICMP");
|
nsh_output(vtbl, " ICMP");
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_ICMPv6
|
||||||
|
nsh_output(vtbl, " ICMP6");
|
||||||
#endif
|
#endif
|
||||||
nsh_output(vtbl, "\n");
|
nsh_output(vtbl, "\n");
|
||||||
|
|
||||||
/* Received packets */
|
/* Received packets */
|
||||||
|
|
||||||
nsh_output(vtbl, "Received %04x", g_netstats.ip.recv);
|
nsh_output(vtbl, "Received ");
|
||||||
|
#ifdef CONFIG_NET_IPv4
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.ipv4.recv);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_IPv6
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.ipv6.recv);
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_NET_TCP
|
#ifdef CONFIG_NET_TCP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.tcp.recv);
|
nsh_output(vtbl, " %04x", g_netstats.tcp.recv);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_UDP
|
#ifdef CONFIG_NET_UDP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.udp.recv);
|
nsh_output(vtbl, " %04x", g_netstats.udp.recv);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_ICMP
|
#ifdef CONFIG_NET_ICMP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.icmp.recv);
|
nsh_output(vtbl, " %04x", g_netstats.icmp.recv);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_ICMPv6
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.icmpv6.recv);
|
||||||
#endif
|
#endif
|
||||||
nsh_output(vtbl, "\n");
|
nsh_output(vtbl, "\n");
|
||||||
|
|
||||||
/* Dropped packets */
|
/* Dropped packets */
|
||||||
|
|
||||||
nsh_output(vtbl, "Dropped %04x", g_netstats.ip.drop);
|
nsh_output(vtbl, "Dropped ");
|
||||||
|
#ifdef CONFIG_NET_IPv4
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.ipv4.drop);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_IPv6
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.ipv6.drop);
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_NET_TCP
|
#ifdef CONFIG_NET_TCP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.tcp.drop);
|
nsh_output(vtbl, " %04x", g_netstats.tcp.drop);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_UDP
|
#ifdef CONFIG_NET_UDP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.udp.drop);
|
nsh_output(vtbl, " %04x", g_netstats.udp.drop);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_ICMP
|
#ifdef CONFIG_NET_ICMP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.icmp.drop);
|
nsh_output(vtbl, " %04x", g_netstats.icmp.drop);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_ICMPv6
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.icmpv6.drop);
|
||||||
#endif
|
#endif
|
||||||
nsh_output(vtbl, "\n");
|
nsh_output(vtbl, "\n");
|
||||||
|
|
||||||
nsh_output(vtbl, " IP VHL: %04x HBL: %04x\n",
|
/* Dropped IP packets */
|
||||||
g_netstats.ip.vhlerr, g_netstats.ip.hblenerr);
|
|
||||||
nsh_output(vtbl, " LBL: %04x Frg: %04x\n",
|
|
||||||
g_netstats.ip.lblenerr, g_netstats.ip.fragerr);
|
|
||||||
|
|
||||||
nsh_output(vtbl, " Checksum %04x",g_netstats.ip.chkerr);
|
#ifdef CONFIG_NET_IPv4
|
||||||
|
nsh_output(vtbl, " IPv4 VHL: %04x Frg: %04x\n",
|
||||||
|
g_netstats.ipv4.vhlerr, g_netstats.ipv4.fragerr);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_IPv6
|
||||||
|
nsh_output(vtbl, " IPv6 VHL: %04x\n",
|
||||||
|
g_netstats.ipv6.vhlerr);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Checksum errors */
|
||||||
|
|
||||||
|
nsh_output(vtbl, " Checksum ");
|
||||||
|
#ifdef CONFIG_NET_IPv4
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.ipv4.chkerr);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_IPv6
|
||||||
|
nsh_output(vtbl, " ----");
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_NET_TCP
|
#ifdef CONFIG_NET_TCP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.tcp.chkerr);
|
nsh_output(vtbl, " %04x", g_netstats.tcp.chkerr);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_UDP
|
#ifdef CONFIG_NET_UDP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.udp.chkerr);
|
nsh_output(vtbl, " %04x", g_netstats.udp.chkerr);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_ICMP
|
#ifdef CONFIG_NET_ICMP
|
||||||
nsh_output(vtbl, " ----");
|
nsh_output(vtbl, " ----");
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_ICMPv6
|
||||||
|
nsh_output(vtbl, " ----");
|
||||||
#endif
|
#endif
|
||||||
nsh_output(vtbl, "\n");
|
nsh_output(vtbl, "\n");
|
||||||
|
|
||||||
#ifdef CONFIG_NET_TCP
|
#ifdef CONFIG_NET_TCP
|
||||||
nsh_output(vtbl, " TCP ACK: %04x SYN: %04x\n",
|
nsh_output(vtbl, " TCP ACK: %04x SYN: %04x\n",
|
||||||
g_netstats.tcp.ackerr, g_netstats.tcp.syndrop);
|
g_netstats.tcp.ackerr, g_netstats.tcp.syndrop);
|
||||||
nsh_output(vtbl, " RST: %04x %04x\n",
|
nsh_output(vtbl, " RST: %04x %04x\n",
|
||||||
g_netstats.tcp.rst, g_netstats.tcp.synrst);
|
g_netstats.tcp.rst, g_netstats.tcp.synrst);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
nsh_output(vtbl, " Type %04x", g_netstats.ip.protoerr);
|
/* Prototype errors */
|
||||||
|
|
||||||
|
nsh_output(vtbl, " Type ");
|
||||||
|
#ifdef CONFIG_NET_IPv4
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.ipv4.protoerr);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_IPv6
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.ipv6.protoerr);
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_NET_TCP
|
#ifdef CONFIG_NET_TCP
|
||||||
nsh_output(vtbl, " ----");
|
nsh_output(vtbl, " ----");
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_UDP
|
#ifdef CONFIG_NET_UDP
|
||||||
nsh_output(vtbl, " ----");
|
nsh_output(vtbl, " ----");
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_ICMP
|
#ifdef CONFIG_NET_ICMP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.icmp.typeerr);
|
nsh_output(vtbl, " %04x", g_netstats.icmp.typeerr);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_ICMPv6
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.icmpv6.typeerr);
|
||||||
#endif
|
#endif
|
||||||
nsh_output(vtbl, "\n");
|
nsh_output(vtbl, "\n");
|
||||||
|
|
||||||
/* Sent packets */
|
/* Sent packets */
|
||||||
|
|
||||||
nsh_output(vtbl, "Sent ----", g_netstats.ip.sent);
|
nsh_output(vtbl, "Sent ");
|
||||||
|
#ifdef CONFIG_NET_IPv4
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.ipv4.sent);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_IPv6
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.ipv6.sent);
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_NET_TCP
|
#ifdef CONFIG_NET_TCP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.tcp.sent);
|
nsh_output(vtbl, " %04x", g_netstats.tcp.sent);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_UDP
|
#ifdef CONFIG_NET_UDP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.udp.sent);
|
nsh_output(vtbl, " %04x", g_netstats.udp.sent);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_ICMP
|
#ifdef CONFIG_NET_ICMP
|
||||||
nsh_output(vtbl, " %04x", g_netstats.icmp.sent);
|
nsh_output(vtbl, " %04x", g_netstats.icmp.sent);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_ICMPv6
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.icmpv6.sent);
|
||||||
#endif
|
#endif
|
||||||
nsh_output(vtbl, "\n");
|
nsh_output(vtbl, "\n");
|
||||||
|
|
||||||
|
/* TCP retransmissions */
|
||||||
|
|
||||||
#ifdef CONFIG_NET_TCP
|
#ifdef CONFIG_NET_TCP
|
||||||
nsh_output(vtbl, " Rexmit ---- %04x", g_netstats.tcp.rexmit);
|
nsh_output(vtbl, " Rexmit ");
|
||||||
|
#ifdef CONFIG_NET_IPv4
|
||||||
|
nsh_output(vtbl, " ----");
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET_IPv6
|
||||||
|
nsh_output(vtbl, " ----");
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_NET_UDP
|
#ifdef CONFIG_NET_UDP
|
||||||
nsh_output(vtbl, " ----");
|
nsh_output(vtbl, " ----");
|
||||||
#endif
|
#endif
|
||||||
|
nsh_output(vtbl, " %04x", g_netstats.tcp.rexmit);
|
||||||
#ifdef CONFIG_NET_ICMP
|
#ifdef CONFIG_NET_ICMP
|
||||||
nsh_output(vtbl, " ----");
|
nsh_output(vtbl, " ----");
|
||||||
#endif
|
#endif
|
||||||
nsh_output(vtbl, "\n");
|
#ifdef CONFIG_NET_ICMPv6
|
||||||
|
nsh_output(vtbl, " ----");
|
||||||
#endif
|
#endif
|
||||||
nsh_output(vtbl, "\n");
|
nsh_output(vtbl, "\n");
|
||||||
|
#endif /* CONFIG_NET_TCP */
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
# define net_statistics(vtbl)
|
# define net_statistics(vtbl)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user