Date: Mon, 27 Jul 2009 22:05:52 GMT From: Gabor Pali <pgj@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 166661 for review Message-ID: <200907272205.n6RM5qsv049673@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166661 Change 166661 by pgj@petymeg-current on 2009/07/27 22:05:13 Add support for PIM statistics. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#38 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#36 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_stat.c#6 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#42 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#38 (text+ko) ==== @@ -120,6 +120,7 @@ stat_CARP, stat_IP, stat_ICMP, + stat_PIM, stat_MAX, stat_Invalid, }; @@ -150,6 +151,7 @@ struct carp_stat; struct ip_stat; struct icmp_stat; +struct pim_stat; __BEGIN_DECLS const char *netstat_strerror(int); @@ -521,4 +523,18 @@ u_int64_t netstat_icmps_get_noroute(const struct icmp_stat *); const char *netstat_icmpname(int); int netstat_icmp_get_maskrepl(void *kvm_handle); + +const struct pim_stat *netstat_get_pimstats(const struct stat_type *); + +u_int64_t netstat_pims_get_rcv_total_msgs(const struct pim_stat *); +u_int64_t netstat_pims_get_rcv_total_bytes(const struct pim_stat *); +u_int64_t netstat_pims_get_rcv_tooshort(const struct pim_stat *); +u_int64_t netstat_pims_get_rcv_badsum(const struct pim_stat *); +u_int64_t netstat_pims_get_rcv_badversion(const struct pim_stat *); +u_int64_t netstat_pims_get_rcv_registers_msgs(const struct pim_stat *); +u_int64_t netstat_pims_get_rcv_registers_bytes(const struct pim_stat *); +u_int64_t netstat_pims_get_rcv_registers_wrongiif(const struct pim_stat *); +u_int64_t netstat_pims_get_rcv_badregisters(const struct pim_stat *); +u_int64_t netstat_pims_get_snd_registers_msgs(const struct pim_stat *); +u_int64_t netstat_pims_get_snd_registers_bytes(const struct pim_stat *); #endif /* !_NETSTAT_H_ */ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#36 (text+ko) ==== @@ -47,6 +47,7 @@ #include <netinet/ip_carp.h> #include <netinet/ip_icmp.h> #include <netinet/icmp_var.h> +#include <netinet/pim_var.h> #include "netstat.h" @@ -304,6 +305,10 @@ struct icmpstat s; }; +struct pim_stat { + struct pimstat s; +}; + int kread_data(kvm_t *kvm, u_long kvm_pointer, void *address, size_t size); int kread_string(kvm_t *kvm, u_long kvm_pointer, char *buffer, int buflen); ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_stat.c#6 (text+ko) ==== @@ -62,6 +62,7 @@ { CARPSTAT_VERSION, "net.inet.carp.stats", "_carpstats" }, { IPSTAT_VERSION, "net.inet.ip.stats", "_ipstat" }, { ICMPSTAT_VERSION, "net.inet.icmp.stats", "_icmpstat" }, + { PIMSTAT_VERSION, "net.inet.pim.stats", "_pimstat" }, }; int ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#42 (text+ko) ==== @@ -2278,6 +2278,80 @@ return (isp->s.icps_noroute); } +const struct pim_stat * +netstat_get_pimstats(const struct stat_type *sttp) +{ + if (sttp->stt_type == stat_PIM) { + return ((const struct pim_stat *) sttp->stt_data); + } + return (NULL); +} + +u_int64_t +netstat_pims_get_rcv_total_msgs(const struct pim_stat *psp) +{ + return (psp->s.pims_rcv_total_msgs); +} + +u_int64_t +netstat_pims_get_rcv_total_bytes(const struct pim_stat *psp) +{ + return (psp->s.pims_rcv_total_bytes); +} + +u_int64_t +netstat_pims_get_rcv_tooshort(const struct pim_stat *psp) +{ + return (psp->s.pims_rcv_tooshort); +} + +u_int64_t +netstat_pims_get_rcv_badsum(const struct pim_stat *psp) +{ + return (psp->s.pims_rcv_badsum); +} + +u_int64_t +netstat_pims_get_rcv_badversion(const struct pim_stat *psp) +{ + return (psp->s.pims_rcv_badversion); +} + +u_int64_t +netstat_pims_get_rcv_registers_msgs(const struct pim_stat *psp) +{ + return (psp->s.pims_rcv_registers_msgs); +} + +u_int64_t +netstat_pims_get_rcv_registers_bytes(const struct pim_stat *psp) +{ + return (psp->s.pims_rcv_registers_bytes); +} + +u_int64_t +netstat_pims_get_rcv_registers_wrongiif(const struct pim_stat *psp) +{ + return (psp->s.pims_rcv_registers_wrongiif); +} + +u_int64_t +netstat_pims_get_rcv_badregisters(const struct pim_stat *psp) +{ + return (psp->s.pims_rcv_badregisters); +} + +u_int64_t +netstat_pims_get_snd_registers_msgs(const struct pim_stat *psp) +{ + return (psp->s.pims_snd_registers_msgs); +} + +u_int64_t +netstat_pims_get_snd_registers_bytes(const struct pim_stat *psp) +{ + return (psp->s.pims_snd_registers_bytes); +} static const char *icmpnames[ICMP_MAXTYPE + 1] = {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907272205.n6RM5qsv049673>