Lines Matching +full:min +full:- +full:len

28  * $OpenBSD: print-pfsync.c,v 1.38 2012/09/19 13:50:36 mikeb Exp $
46 #include <netdissect-stdinc.h>
64 u_int caplen = h->caplen; in pfsync_if_print()
66 ts_print(ndo, &h->ts); in pfsync_if_print()
75 caplen - sizeof(struct pfsync_header)); in pfsync_if_print()
77 if (ndo->ndo_xflag) { in pfsync_if_print()
85 pfsync_ip_print(netdissect_options *ndo , const u_char *bp, u_int len) in pfsync_ip_print() argument
89 if (len < PFSYNC_HDRLEN || !ND_TTEST_LEN(bp, len)) in pfsync_ip_print()
93 len - sizeof(struct pfsync_header)); in pfsync_ip_print()
98 size_t len; member
141 const u_char *bp, u_int len) in pfsync_print() argument
147 plen = ntohs(hdr->len); in pfsync_print()
149 ND_PRINT("PFSYNCv%d len %d", hdr->version, plen); in pfsync_print()
151 if (hdr->version != PFSYNC_VERSION) in pfsync_print()
154 plen -= sizeof(*hdr); in pfsync_print()
157 if (len < sizeof(*subh)) in pfsync_print()
162 len -= sizeof(*subh); in pfsync_print()
163 plen -= sizeof(*subh); in pfsync_print()
165 if (subh->action >= PFSYNC_ACT_MAX) { in pfsync_print()
167 subh->action); in pfsync_print()
171 count = ntohs(subh->count); in pfsync_print()
172 ND_PRINT("\n %s count %d", actions[subh->action].name, in pfsync_print()
174 alen = actions[subh->action].len; in pfsync_print()
176 if (subh->action == PFSYNC_ACT_EOF) in pfsync_print()
179 if (actions[subh->action].print == NULL) { in pfsync_print()
181 subh->action); in pfsync_print()
186 if (len < alen) { in pfsync_print()
187 len = 0; in pfsync_print()
191 if (ndo->ndo_vflag) in pfsync_print()
192 actions[subh->action].print(ndo, bp); in pfsync_print()
195 len -= alen; in pfsync_print()
196 plen -= alen; in pfsync_print()
208 if (len > 0) in pfsync_print()
217 ND_PRINT("\n\tcreatorid: %08x", htonl(clr->creatorid)); in pfsync_print_clr()
218 if (clr->ifname[0] != '\0') in pfsync_print_clr()
219 ND_PRINT(" interface: %s", clr->ifname); in pfsync_print_clr()
255 (uintmax_t)be64toh(iack->id), ntohl(iack->creatorid)); in pfsync_print_ins_ack()
264 (uintmax_t)be64toh(u->id), ntohl(u->creatorid)); in pfsync_print_upd_c()
265 if (ndo->ndo_vflag > 2) { in pfsync_print_upd_c()
267 print_src_dst(ndo, &u->src, &u->dst, IPPROTO_TCP); in pfsync_print_upd_c()
277 (uintmax_t)be64toh(ur->id), ntohl(ur->creatorid)); in pfsync_print_upd_req()
286 (uintmax_t)be64toh(d->id), ntohl(d->creatorid)); in pfsync_print_del_c()
294 int min, sec; in pfsync_print_bus() local
297 endtime = ntohl(b->endtime); in pfsync_print_bus()
300 min = endtime % 60; in pfsync_print_bus()
303 switch (b->status) { in pfsync_print_bus()
316 htonl(b->creatorid), endtime, min, sec, status); in pfsync_print_bus()
325 ntohl(t->spi), (uintmax_t )be64toh(t->rpl), in pfsync_print_tdb()
326 (uintmax_t )be64toh(t->cur_bytes)); in pfsync_print_tdb()
347 if (p->seqdiff) in print_seq()
348 ND_PRINT("[%u + %u](+%u)", ntohl(p->seqlo), in print_seq()
349 ntohl(p->seqhi) - ntohl(p->seqlo), ntohl(p->seqdiff)); in print_seq()
351 ND_PRINT("[%u + %u]", ntohl(p->seqlo), in print_seq()
352 ntohl(p->seqhi) - ntohl(p->seqlo)); in print_seq()
361 if (src->state <= TCPS_TIME_WAIT && in print_src_dst()
362 dst->state <= TCPS_TIME_WAIT) in print_src_dst()
363 ND_PRINT(" %s:%s", tcpstates[src->state], in print_src_dst()
364 tcpstates[dst->state]); in print_src_dst()
365 else if (src->state == PF_TCPS_PROXY_SRC || in print_src_dst()
366 dst->state == PF_TCPS_PROXY_SRC) in print_src_dst()
368 else if (src->state == PF_TCPS_PROXY_DST || in print_src_dst()
369 dst->state == PF_TCPS_PROXY_DST) in print_src_dst()
373 src->state, dst->state); in print_src_dst()
374 if (ndo->ndo_vflag > 1) { in print_src_dst()
377 if (src->wscale && dst->wscale) in print_src_dst()
379 src->wscale & PF_WSCALE_MASK); in print_src_dst()
382 if (src->wscale && dst->wscale) in print_src_dst()
384 dst->wscale & PF_WSCALE_MASK); in print_src_dst()
386 } else if (proto == IPPROTO_UDP && src->state < PFUDPS_NSTATES && in print_src_dst()
387 dst->state < PFUDPS_NSTATES) { in print_src_dst()
390 ND_PRINT(" %s:%s", states[src->state], states[dst->state]); in print_src_dst()
391 } else if (proto != IPPROTO_ICMP && src->state < PFOTHERS_NSTATES && in print_src_dst()
392 dst->state < PFOTHERS_NSTATES) { in print_src_dst()
396 ND_PRINT(" %s:%s", states[src->state], states[dst->state]); in print_src_dst()
398 ND_PRINT(" %u:%u", src->state, dst->state); in print_src_dst()
407 int min, sec; in print_state() local
409 if (s->pfs_1301.direction == PF_OUT) { in print_state()
410 src = &s->pfs_1301.src; in print_state()
411 dst = &s->pfs_1301.dst; in print_state()
412 sk = &s->pfs_1301.key[PF_SK_STACK]; in print_state()
413 nk = &s->pfs_1301.key[PF_SK_WIRE]; in print_state()
414 if (s->pfs_1301.proto == IPPROTO_ICMP || s->pfs_1301.proto == IPPROTO_ICMPV6) in print_state()
415 sk->port[0] = nk->port[0]; in print_state()
417 src = &s->pfs_1301.dst; in print_state()
418 dst = &s->pfs_1301.src; in print_state()
419 sk = &s->pfs_1301.key[PF_SK_WIRE]; in print_state()
420 nk = &s->pfs_1301.key[PF_SK_STACK]; in print_state()
421 if (s->pfs_1301.proto == IPPROTO_ICMP || s->pfs_1301.proto == IPPROTO_ICMPV6) in print_state()
422 sk->port[1] = nk->port[1]; in print_state()
424 ND_PRINT("\t%s ", s->pfs_1301.ifname); in print_state()
425 ND_PRINT("proto %u ", s->pfs_1301.proto); in print_state()
427 print_host(ndo, &nk->addr[1], nk->port[1], s->pfs_1301.af, NULL); in print_state()
428 if (PF_ANEQ(&nk->addr[1], &sk->addr[1], s->pfs_1301.af) || in print_state()
429 nk->port[1] != sk->port[1]) { in print_state()
431 print_host(ndo, &sk->addr[1], sk->port[1], s->pfs_1301.af, NULL); in print_state()
434 if (s->pfs_1301.direction == PF_OUT) in print_state()
435 ND_PRINT((" -> ")); in print_state()
437 ND_PRINT((" <- ")); in print_state()
438 print_host(ndo, &nk->addr[0], nk->port[0], s->pfs_1301.af, NULL); in print_state()
439 if (PF_ANEQ(&nk->addr[0], &sk->addr[0], s->pfs_1301.af) || in print_state()
440 nk->port[0] != sk->port[0]) { in print_state()
442 print_host(ndo, &sk->addr[0], sk->port[0], s->pfs_1301.af, NULL); in print_state()
446 print_src_dst(ndo, src, dst, s->pfs_1301.proto); in print_state()
448 if (ndo->ndo_vflag > 1) { in print_state()
451 uint32_t creation = ntohl(s->pfs_1301.creation); in print_state()
452 uint32_t expire = ntohl(s->pfs_1301.expire); in print_state()
456 min = creation % 60; in print_state()
458 ND_PRINT("\n\tage %.2u:%.2u:%.2u", creation, min, sec); in print_state()
461 min = expire % 60; in print_state()
463 ND_PRINT(", expires in %.2u:%.2u:%.2u", expire, min, sec); in print_state()
465 bcopy(s->pfs_1301.packets[0], &packets[0], sizeof(uint64_t)); in print_state()
466 bcopy(s->pfs_1301.packets[1], &packets[1], sizeof(uint64_t)); in print_state()
467 bcopy(s->pfs_1301.bytes[0], &bytes[0], sizeof(uint64_t)); in print_state()
468 bcopy(s->pfs_1301.bytes[1], &bytes[1], sizeof(uint64_t)); in print_state()
472 if (s->pfs_1301.anchor != ntohl(-1)) in print_state()
473 ND_PRINT(", anchor %u", ntohl(s->pfs_1301.anchor)); in print_state()
474 if (s->pfs_1301.rule != ntohl(-1)) in print_state()
475 ND_PRINT(", rule %u", ntohl(s->pfs_1301.rule)); in print_state()
477 if (ndo->ndo_vflag > 1) { in print_state()
480 bcopy(&s->pfs_1301.id, &id, sizeof(uint64_t)); in print_state()
482 (uintmax_t )be64toh(id), ntohl(s->pfs_1301.creatorid)); in print_state()