* Dump an in6_multi structure to the console. */
| 2865 | * Dump an in6_multi structure to the console. |
| 2866 | */ |
| 2867 | void |
| 2868 | in6m_print(const struct in6_multi *inm) |
| 2869 | { |
| 2870 | int t; |
| 2871 | char ip6tbuf[INET6_ADDRSTRLEN]; |
| 2872 | |
| 2873 | if ((ktr_mask & KTR_MLD) == 0) |
| 2874 | return; |
| 2875 | |
| 2876 | printf("%s: --- begin in6m %p ---\n", __func__, inm); |
| 2877 | printf("addr %s ifp %p(%s) ifma %p\n", |
| 2878 | ip6_sprintf(ip6tbuf, &inm->in6m_addr), |
| 2879 | inm->in6m_ifp, |
| 2880 | if_name(inm->in6m_ifp), |
| 2881 | inm->in6m_ifma); |
| 2882 | printf("timer %u state %s refcount %u scq.len %u\n", |
| 2883 | inm->in6m_timer, |
| 2884 | in6m_state_str(inm->in6m_state), |
| 2885 | inm->in6m_refcount, |
| 2886 | mbufq_len(&inm->in6m_scq)); |
| 2887 | printf("mli %p nsrc %lu sctimer %u scrv %u\n", |
| 2888 | inm->in6m_mli, |
| 2889 | inm->in6m_nsrc, |
| 2890 | inm->in6m_sctimer, |
| 2891 | inm->in6m_scrv); |
| 2892 | for (t = 0; t < 2; t++) { |
| 2893 | printf("t%d: fmode %s asm %u ex %u in %u rec %u\n", t, |
| 2894 | in6m_mode_str(inm->in6m_st[t].iss_fmode), |
| 2895 | inm->in6m_st[t].iss_asm, |
| 2896 | inm->in6m_st[t].iss_ex, |
| 2897 | inm->in6m_st[t].iss_in, |
| 2898 | inm->in6m_st[t].iss_rec); |
| 2899 | } |
| 2900 | printf("%s: --- end in6m %p ---\n", __func__, inm); |
| 2901 | } |
| 2902 | |
| 2903 | #else /* !KTR */ |
| 2904 |
no test coverage detected