version 1.7, 2003/06/03 02:56:13 |
version 1.8, 2005/03/25 17:01:04 |
|
|
return; |
return; |
} |
} |
|
|
kread(mrpaddr, (char *)&mrtproto, sizeof(mrtproto)); |
kread(mrpaddr, &mrtproto, sizeof(mrtproto)); |
switch (mrtproto) { |
switch (mrtproto) { |
|
|
case 0: |
case 0: |
|
|
saved_nflag = nflag; |
saved_nflag = nflag; |
nflag = 1; |
nflag = 1; |
|
|
kread(mifaddr, (char *)&mif6table, sizeof(mif6table)); |
kread(mifaddr, &mif6table, sizeof(mif6table)); |
banner_printed = 0; |
banner_printed = 0; |
for (mifi = 0, mifp = mif6table; mifi < MAXMIFS; ++mifi, ++mifp) { |
for (mifi = 0, mifp = mif6table; mifi < MAXMIFS; ++mifi, ++mifp) { |
struct ifnet ifnet; |
struct ifnet ifnet; |
|
|
if (mifp->m6_ifp == NULL) |
if (mifp->m6_ifp == NULL) |
continue; |
continue; |
|
|
kread((u_long)mifp->m6_ifp, (char *)&ifnet, sizeof(ifnet)); |
kread((u_long)mifp->m6_ifp, &ifnet, sizeof(ifnet)); |
maxmif = mifi; |
maxmif = mifi; |
if (!banner_printed) { |
if (!banner_printed) { |
printf("\nIPv6 Multicast Interface Table\n" |
printf("\nIPv6 Multicast Interface Table\n" |
|
|
if (!banner_printed) |
if (!banner_printed) |
printf("\nIPv6 Multicast Interface Table is empty\n"); |
printf("\nIPv6 Multicast Interface Table is empty\n"); |
|
|
kread(mfcaddr, (char *)&mf6ctable, sizeof(mf6ctable)); |
kread(mfcaddr, &mf6ctable, sizeof(mf6ctable)); |
banner_printed = 0; |
banner_printed = 0; |
for (i = 0; i < MF6CTBLSIZ; ++i) { |
for (i = 0; i < MF6CTBLSIZ; ++i) { |
mfcp = mf6ctable[i]; |
mfcp = mf6ctable[i]; |
while (mfcp) { |
while (mfcp) { |
kread((u_long)mfcp, (char *)&mfc, sizeof(mfc)); |
kread((u_long)mfcp, &mfc, sizeof(mfc)); |
if (!banner_printed) { |
if (!banner_printed) { |
printf ("\nIPv6 Multicast Forwarding Cache\n"); |
printf ("\nIPv6 Multicast Forwarding Cache\n"); |
printf(" %-*.*s %-*.*s %s", |
printf(" %-*.*s %-*.*s %s", |
|
|
|
|
for (waitings = 0, rtep = mfc.mf6c_stall; rtep; ) { |
for (waitings = 0, rtep = mfc.mf6c_stall; rtep; ) { |
waitings++; |
waitings++; |
kread((u_long)rtep, (char *)&rte, sizeof(rte)); |
kread((u_long)rtep, &rte, sizeof(rte)); |
rtep = rte.next; |
rtep = rte.next; |
} |
} |
printf(" %3d", waitings); |
printf(" %3d", waitings); |
|
|
return; |
return; |
} |
} |
|
|
kread(mrpaddr, (char *)&mrtproto, sizeof(mrtproto)); |
kread(mrpaddr, &mrtproto, sizeof(mrtproto)); |
switch (mrtproto) { |
switch (mrtproto) { |
case 0: |
case 0: |
printf("no IPv6 multicast routing compiled into this system\n"); |
printf("no IPv6 multicast routing compiled into this system\n"); |
|
|
return; |
return; |
} |
} |
|
|
kread(mstaddr, (char *)&mrtstat, sizeof(mrtstat)); |
kread(mstaddr, &mrtstat, sizeof(mrtstat)); |
printf("multicast forwarding:\n"); |
printf("multicast forwarding:\n"); |
printf(" %10qu multicast forwarding cache lookup%s\n", |
printf(" %10qu multicast forwarding cache lookup%s\n", |
mrtstat.mrt6s_mfc_lookups, plural(mrtstat.mrt6s_mfc_lookups)); |
mrtstat.mrt6s_mfc_lookups, plural(mrtstat.mrt6s_mfc_lookups)); |