Lines Matching defs:so

136  * Hooks for multicast routing. They all default to NULL, so leave them not
199 * and fall through into normal filter path if so.
400 struct socket *so;
416 so = va_arg(ap, struct socket *);
421 in6p = sotoinpcb(so);
427 in6p->in6p_outputopts, so->so_cred,
428 so->so_proto->pr_protocol)) != 0) {
440 if (!(so->so_state & SS_ISCONNECTED)) {
454 if (so->so_proto->pr_protocol == IPPROTO_ICMPV6) {
476 error = in6_selectsrc(dstsock, optp, in6p, NULL, so->so_cred,
489 * applications do not behave as it should, so we need a
509 * ip6_plen will be filled in ip6_output, so not fill it here.
514 if (so->so_proto->pr_protocol == IPPROTO_ICMPV6 ||
521 if (so->so_proto->pr_protocol == IPPROTO_ICMPV6)
548 so->so_proto->pr_protocol == IPPROTO_ICMPV6) {
561 if (so->so_proto->pr_protocol == IPPROTO_ICMPV6) {
587 rip6_ctloutput(struct socket *so, struct sockopt *sopt)
597 return (icmp6_ctloutput(so, sopt));
601 inp = sotoinpcb(so);
603 inp->inp_inc.inc_fibnum = so->so_fibnum;
622 error = ip6_mrouter_get ? ip6_mrouter_get(so, sopt) :
626 error = ip6_raw_ctloutput(so, sopt);
629 error = ip6_ctloutput(so, sopt);
643 error = ip6_mrouter_set ? ip6_mrouter_set(so, sopt) :
647 error = ip6_raw_ctloutput(so, sopt);
650 error = ip6_ctloutput(so, sopt);
660 rip6_attach(struct socket *so, int proto, struct thread *td)
666 inp = sotoinpcb(so);
672 error = soreserve(so, rip_sendspace, rip_recvspace);
679 error = in_pcballoc(so, &V_ripcbinfo);
685 inp = (struct inpcb *)so->so_pcb;
698 rip6_detach(struct socket *so)
702 inp = sotoinpcb(so);
705 if (so == V_ip6_mrouter && ip6_mrouter_done)
718 rip6_abort(struct socket *so)
722 inp = sotoinpcb(so);
725 soisdisconnected(so);
729 rip6_close(struct socket *so)
733 inp = sotoinpcb(so);
736 soisdisconnected(so);
740 rip6_disconnect(struct socket *so)
744 inp = sotoinpcb(so);
747 if ((so->so_state & SS_ISCONNECTED) == 0)
750 rip6_abort(so);
755 rip6_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
762 inp = sotoinpcb(so);
795 rip6_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
803 inp = sotoinpcb(so);
816 * not behave as it should, so we need a workaround. Even if an
830 inp, NULL, so->so_cred, &ifp, &in6a);
846 soisconnected(so);
853 rip6_shutdown(struct socket *so)
857 inp = sotoinpcb(so);
861 socantsendmore(so);
867 rip6_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam,
875 inp = sotoinpcb(so);
880 if (so->so_state & SS_ISCONNECTED) {
920 ret = rip6_output(m, so, dst, control);