Lines Matching defs:in6p

210 	register struct inpcb *in6p;
328 LIST_FOREACH(in6p, &udb, inp_list) {
330 if ((in6p->inp_vflag & INP_IPV6) == 0)
335 !(in6p->in6p_flags & IN6P_RECV_ANYIF))
338 if (in_pcb_checkstate(in6p, WNT_ACQUIRE, 0) == WNT_STOPUSING)
341 udp_lock(in6p->in6p_socket, 1, 0);
343 if (in_pcb_checkstate(in6p, WNT_RELEASE, 1) == WNT_STOPUSING) {
344 udp_unlock(in6p->in6p_socket, 1, 0);
347 if (in6p->in6p_lport != uh->uh_dport) {
348 udp_unlock(in6p->in6p_socket, 1, 0);
356 imo = in6p->in6p_moptions;
372 udp_unlock(in6p->in6p_socket, 1, 0);
376 if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_faddr)) {
377 if (!IN6_ARE_ADDR_EQUAL(&in6p->in6p_faddr,
379 in6p->in6p_fport != uh->uh_sport) {
380 udp_unlock(in6p->in6p_socket, 1, 0);
385 reuse_sock = in6p->inp_socket->so_options &
393 if (ipsec6_in_reject_so(m, in6p->inp_socket)) {
411 udp6_append(in6p, ip6, &udp_in6, m,
415 udp_unlock(in6p->in6p_socket, 1, 0);
465 in6p = in6_pcblookup_hash(&udbinfo, &ip6->ip6_src, uh->uh_sport,
468 if (in6p == NULL) {
508 if (ipsec6_in_reject_so(m, in6p->in6p_socket)) {
510 in_pcb_checkstate(in6p, WNT_RELEASE, 0);
524 udp_lock(in6p->in6p_socket, 1, 0);
526 if (in_pcb_checkstate(in6p, WNT_RELEASE, 1) == WNT_STOPUSING) {
527 udp_unlock(in6p->in6p_socket, 1, 0);
537 if ((in6p->in6p_flags & IN6P_CONTROLOPTS) != 0 ||
538 (in6p->in6p_socket->so_options & SO_TIMESTAMP) != 0 ||
539 (in6p->in6p_socket->so_options & SO_TIMESTAMP_MONOTONIC) != 0) {
540 ret = ip6_savecontrol(in6p, m, &opts);
542 udp_unlock(in6p->in6p_socket, 1, 0);
548 locked_add_64(&in6p->inp_stat->rxpackets, 1);
549 locked_add_64(&in6p->inp_stat->rxbytes, m->m_pkthdr.len);
551 so_recv_data_stat(in6p->in6p_socket, m, 0);
552 if (sbappendaddr(&in6p->in6p_socket->so_rcv,
558 udp_unlock(in6p->in6p_socket, 1, 0);
561 sorwakeup(in6p->in6p_socket);
562 udp_unlock(in6p->in6p_socket, 1, 0);