Lines Matching +full:p +full:- +full:states
3 /*-
4 * SPDX-License-Identifier: BSD-2-Clause
13 * - Redistributions of source code must retain the above copyright
15 * - Redistributions in binary form must reproduce the above
58 switch (addr->type) { in print_addr()
60 printf("(%s", addr->v.ifname); in print_addr()
61 if (addr->iflags & PFI_AFLAG_NETWORK) in print_addr()
63 if (addr->iflags & PFI_AFLAG_BROADCAST) in print_addr()
65 if (addr->iflags & PFI_AFLAG_PEER) in print_addr()
67 if (addr->iflags & PFI_AFLAG_NOALIAS) in print_addr()
70 if (addr->p.dyncnt <= 0) in print_addr()
73 printf(":%d", addr->p.dyncnt); in print_addr()
79 if (addr->p.tblcnt == -1) in print_addr()
80 printf("<%s:*>", addr->v.tblname); in print_addr()
82 printf("<%s:%d>", addr->v.tblname, in print_addr()
83 addr->p.tblcnt); in print_addr()
85 printf("<%s>", addr->v.tblname); in print_addr()
90 if (inet_ntop(af, &addr->v.a.addr, buf, sizeof(buf)) == NULL) in print_addr()
94 if (inet_ntop(af, &addr->v.a.mask, buf, sizeof(buf)) == NULL) in print_addr()
95 printf(" - ?"); in print_addr()
97 printf(" - %s", buf); in print_addr()
101 if (PF_AZERO(&addr->v.a.addr, AF_INET6) && in print_addr()
102 PF_AZERO(&addr->v.a.mask, AF_INET6)) in print_addr()
107 if (inet_ntop(af, &addr->v.a.addr, buf, in print_addr()
115 printf("no-route"); in print_addr()
118 printf("urpf-failed"); in print_addr()
126 if (addr->type != PF_ADDR_RANGE && in print_addr()
127 !(PF_AZERO(&addr->v.a.addr, AF_INET6) && in print_addr()
128 PF_AZERO(&addr->v.a.mask, AF_INET6))) { in print_addr()
129 int bits = unmask(&addr->v.a.mask, af); in print_addr()
149 sin.sin_addr = addr->v4; in print_name()
160 sin6.sin6_addr = addr->v6; in print_name()
197 print_seq(struct pfctl_state_peer *p) in print_seq() argument
199 if (p->seqdiff) in print_seq()
200 printf("[%u + %u](+%u)", p->seqlo, in print_seq()
201 p->seqhi - p->seqlo, p->seqdiff); in print_seq()
203 printf("[%u + %u]", p->seqlo, in print_seq()
204 p->seqhi - p->seqlo); in print_seq()
246 int afto = (s->key[PF_SK_STACK].af != s->key[PF_SK_WIRE].af); in print_state()
252 bcopy(&s->key, aligned_key, sizeof(aligned_key)); in print_state()
255 key = s->key; in print_state()
258 af = s->key[PF_SK_WIRE].af; in print_state()
259 proto = s->key[PF_SK_WIRE].proto; in print_state()
261 if (s->direction == PF_OUT) { in print_state()
262 src = &s->src; in print_state()
263 dst = &s->dst; in print_state()
267 sk->port[0] = nk->port[0]; in print_state()
269 src = &s->dst; in print_state()
270 dst = &s->src; in print_state()
274 sk->port[1] = nk->port[1]; in print_state()
276 printf("%s ", s->ifname); in print_state()
282 print_host(&nk->addr[1], nk->port[1], nk->af, opts); in print_state()
283 if (nk->af != sk->af || PF_ANEQ(&nk->addr[1], &sk->addr[1], nk->af) || in print_state()
284 nk->port[1] != sk->port[1]) { in print_state()
287 print_host(&sk->addr[idx], sk->port[idx], sk->af, in print_state()
291 if (s->direction == PF_OUT || (afto && s->direction == PF_IN)) in print_state()
292 printf(" -> "); in print_state()
294 printf(" <- "); in print_state()
295 print_host(&nk->addr[0], nk->port[0], nk->af, opts); in print_state()
296 if (nk->af != sk->af || PF_ANEQ(&nk->addr[0], &sk->addr[0], nk->af) || in print_state()
297 nk->port[0] != sk->port[0]) { in print_state()
300 print_host(&sk->addr[idx], sk->port[idx], sk->af, in print_state()
307 if (src->state <= TCPS_TIME_WAIT && in print_state()
308 dst->state <= TCPS_TIME_WAIT) in print_state()
309 printf(" %s:%s\n", tcpstates[src->state], in print_state()
310 tcpstates[dst->state]); in print_state()
311 else if (src->state == PF_TCPS_PROXY_SRC || in print_state()
312 dst->state == PF_TCPS_PROXY_SRC) in print_state()
314 else if (src->state == PF_TCPS_PROXY_DST || in print_state()
315 dst->state == PF_TCPS_PROXY_DST) in print_state()
319 src->state, dst->state); in print_state()
323 if (src->wscale && dst->wscale) in print_state()
325 src->wscale & PF_WSCALE_MASK); in print_state()
328 if (src->wscale && dst->wscale) in print_state()
330 dst->wscale & PF_WSCALE_MASK); in print_state()
333 } else if (proto == IPPROTO_UDP && src->state < PFUDPS_NSTATES && in print_state()
334 dst->state < PFUDPS_NSTATES) { in print_state()
335 const char *states[] = PFUDPS_NAMES; in print_state() local
337 printf(" %s:%s\n", states[src->state], states[dst->state]); in print_state()
339 printf(" %s:%s\n", sctp_state_name(src->state), in print_state()
340 sctp_state_name(dst->state)); in print_state()
342 } else if (proto != IPPROTO_ICMP && src->state < PFOTHERS_NSTATES && in print_state()
343 dst->state < PFOTHERS_NSTATES) { in print_state()
346 src->state < PFOTHERS_NSTATES && dst->state < PFOTHERS_NSTATES) { in print_state()
349 const char *states[] = PFOTHERS_NAMES; in print_state() local
351 printf(" %s:%s\n", states[src->state], states[dst->state]); in print_state()
353 printf(" %u:%u\n", src->state, dst->state); in print_state()
357 u_int32_t creation = s->creation; in print_state()
358 u_int32_t expire = s->expire; in print_state()
372 s->packets[0], in print_state()
373 s->packets[1], in print_state()
374 s->bytes[0], in print_state()
375 s->bytes[1]); in print_state()
376 if (s->anchor != -1) in print_state()
377 printf(", anchor %u", s->anchor); in print_state()
378 if (s->rule != -1) in print_state()
379 printf(", rule %u", s->rule); in print_state()
380 if (s->state_flags & PFSTATE_ALLOWOPTS) in print_state()
381 printf(", allow-opts"); in print_state()
382 if (s->state_flags & PFSTATE_SLOPPY) in print_state()
384 if (s->state_flags & PFSTATE_NOSYNC) in print_state()
385 printf(", no-sync"); in print_state()
386 if (s->state_flags & PFSTATE_PFLOW) in print_state()
388 if (s->state_flags & PFSTATE_ACK) in print_state()
389 printf(", psync-ack"); in print_state()
390 if (s->state_flags & PFSTATE_NODF) in print_state()
391 printf(", no-df"); in print_state()
392 if (s->state_flags & PFSTATE_SETTOS) in print_state()
393 printf(", set-tos 0x%2.2x", s->set_tos); in print_state()
394 if (s->state_flags & PFSTATE_RANDOMID) in print_state()
395 printf(", random-id"); in print_state()
396 if (s->state_flags & PFSTATE_SCRUB_TCP) in print_state()
397 printf(", reassemble-tcp"); in print_state()
398 if (s->state_flags & PFSTATE_SETPRIO) in print_state()
399 printf(", set-prio (0x%02x 0x%02x)", in print_state()
400 s->set_prio[0], s->set_prio[1]); in print_state()
401 if (s->dnpipe || s->dnrpipe) { in print_state()
402 if (s->state_flags & PFSTATE_DN_IS_PIPE) in print_state()
404 s->dnpipe, s->dnrpipe); in print_state()
405 if (s->state_flags & PFSTATE_DN_IS_QUEUE) in print_state()
407 s->dnpipe, s->dnrpipe); in print_state()
409 if (s->src_node_flags & PFSTATE_SRC_NODE_LIMIT) in print_state()
411 if (s->src_node_flags & PFSTATE_SRC_NODE_LIMIT_GLOBAL) in print_state()
413 if (s->src_node_flags & PFSTATE_SRC_NODE_NAT) in print_state()
415 if (s->src_node_flags & PFSTATE_SRC_NODE_ROUTE) in print_state()
417 if (s->log) in print_state()
419 if (s->log & PF_LOG_ALL) in print_state()
421 if (s->min_ttl) in print_state()
422 printf(", min-ttl %d", s->min_ttl); in print_state()
423 if (s->max_mss) in print_state()
424 printf(", max-mss %d", s->max_mss); in print_state()
430 bcopy(&s->id, &id, sizeof(u_int64_t)); in print_state()
431 printf(" id: %016jx creatorid: %08x", id, s->creatorid); in print_state()
432 if (s->rt) { in print_state()
433 switch (s->rt) { in print_state()
435 printf(" route-to: "); in print_state()
438 printf(" dup-to: "); in print_state()
441 printf(" reply-to: "); in print_state()
446 print_host(&s->rt_addr, 0, af, opts); in print_state()
447 if (s->rt_ifname[0]) in print_state()
448 printf("@%s", s->rt_ifname); in print_state()
450 if (s->rtableid != -1) in print_state()
451 printf(" rtable: %d", s->rtableid); in print_state()
454 if (strcmp(s->ifname, s->orig_ifname) != 0) in print_state()
455 printf(" origif: %s\n", s->orig_ifname); in print_state()
465 while (j < 4 && m->addr32[j] == 0xffffffff) { in unmask()
470 tmp = ntohl(m->addr32[j]); in unmask()
471 for (i = 31; tmp & (1 << i); --i) in unmask()