diff options
| author | Darren Reed <Darren.Reed@Sun.COM> | 2008-12-28 18:54:41 -0800 |
|---|---|---|
| committer | Darren Reed <Darren.Reed@Sun.COM> | 2008-12-28 18:54:41 -0800 |
| commit | 43412a427a2387ef15ab084d8f30a56a13e32cf7 (patch) | |
| tree | e96801ee3ddd4330ecbc5113a9b9df67d67268b3 /usr/src/cmd/ipf | |
| parent | 7c2fbfb345896881c631598ee3852ce9ce33fb07 (diff) | |
| download | illumos-joyent-43412a427a2387ef15ab084d8f30a56a13e32cf7.tar.gz | |
6749429 printing out of fragment information is confused
6749445 ipfstat -f does not show ttl but rather expiration tick
6783820 IPF preauth crash
6730356 legacy test regressions: i2, i4, i11
Diffstat (limited to 'usr/src/cmd/ipf')
| -rw-r--r-- | usr/src/cmd/ipf/lib/common/printfraginfo.c | 4 | ||||
| -rw-r--r-- | usr/src/cmd/ipf/tools/ipfstat.c | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/usr/src/cmd/ipf/lib/common/printfraginfo.c b/usr/src/cmd/ipf/lib/common/printfraginfo.c index 557b031a6b..0dc5f56576 100644 --- a/usr/src/cmd/ipf/lib/common/printfraginfo.c +++ b/usr/src/cmd/ipf/lib/common/printfraginfo.c @@ -21,7 +21,7 @@ struct ipfr *ifr; sizeof(fr)) == -1) return; printf("%s id %d ttl %d pr %d seen0 %d ifp %p tos %#02x = %#x\n", - hostname(4, &ifr->ipfr_dst), ifr->ipfr_id, ifr->ipfr_seen0, - ifr->ipfr_ttl, ifr->ipfr_p, ifr->ipfr_ifp, ifr->ipfr_tos, + hostname(4, &ifr->ipfr_dst), ifr->ipfr_id, ifr->ipfr_ttl, + ifr->ipfr_p, ifr->ipfr_seen0, ifr->ipfr_ifp, ifr->ipfr_tos, fr.fr_flags); } diff --git a/usr/src/cmd/ipf/tools/ipfstat.c b/usr/src/cmd/ipf/tools/ipfstat.c index 1262b86921..27b018e273 100644 --- a/usr/src/cmd/ipf/tools/ipfstat.c +++ b/usr/src/cmd/ipf/tools/ipfstat.c @@ -131,7 +131,7 @@ typedef struct statetop { int main __P((int, char *[])); static void showstats __P((friostat_t *, u_32_t)); -static void showfrstates __P((ipfrstat_t *)); +static void showfrstates __P((ipfrstat_t *, u_long)); static void showlist __P((friostat_t *)); static void showipstates __P((ips_stat_t *)); static void showauthstates __P((fr_authstat_t *)); @@ -385,7 +385,7 @@ char *argv[]; showlist(fiop); } } else if (opts & OPT_FRSTATES) - showfrstates(ifrstp); + showfrstates(ifrstp, fiop->f_ticks); #ifdef STATETOP else if (opts & OPT_STATETOP) topipstates(saddr, daddr, sport, dport, protocol, @@ -1565,8 +1565,9 @@ out: /* * Show fragment cache information that's held in the kernel. */ -static void showfrstates(ifsp) +static void showfrstates(ifsp, ticks) ipfrstat_t *ifsp; +u_long ticks; { struct ipfr *ipfrtab[IPFT_SIZE], ifr; int i; @@ -1593,6 +1594,7 @@ ipfrstat_t *ifsp; if (kmemcpy((char *)&ifr, (u_long)ipfrtab[i], sizeof(ifr)) == -1) break; + ifr.ipfr_ttl -= ticks; printfraginfo("", &ifr); ipfrtab[i] = ifr.ipfr_next; } @@ -1606,6 +1608,7 @@ ipfrstat_t *ifsp; if (kmemcpy((char *)&ifr, (u_long)ipfrtab[i], sizeof(ifr)) == -1) break; + ifr.ipfr_ttl -= ticks; printfraginfo("NAT: ", &ifr); ipfrtab[i] = ifr.ipfr_next; } |
