Lines Matching defs:so
132 * Hooks for multicast routing. They all default to NULL, so leave them not
221 * and fall through into normal filter path if so.
338 rip6_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam,
356 inp = sotoinpcb(so);
361 if (so->so_state & SS_ISCONNECTED) {
398 so->so_cred, inp->inp_ip_p);
413 if (!(so->so_state & SS_ISCONNECTED)) {
460 error = in6_selectsrc_socket(dstsock, optp, inp, so->so_cred,
482 * ip6_plen will be filled in ip6_output, so not fill it here.
567 rip6_ctloutput(struct socket *so, struct sockopt *sopt)
569 struct inpcb *inp = sotoinpcb(so);
577 return (icmp6_ctloutput(so, sopt));
582 inp->inp_inc.inc_fibnum = so->so_fibnum;
603 error = ip6_mrouter_get ? ip6_mrouter_get(so, sopt) :
607 error = ip6_raw_ctloutput(so, sopt);
610 error = ip6_ctloutput(so, sopt);
626 error = ip6_mrouter_set ? ip6_mrouter_set(so, sopt) :
630 error = ip6_raw_ctloutput(so, sopt);
633 error = ip6_ctloutput(so, sopt);
643 rip6_attach(struct socket *so, int proto, struct thread *td)
649 inp = sotoinpcb(so);
657 error = soreserve(so, rip_sendspace, rip_recvspace);
663 error = in_pcballoc(so, &V_ripcbinfo);
668 inp = (struct inpcb *)so->so_pcb;
678 rip6_detach(struct socket *so)
682 inp = sotoinpcb(so);
685 if (so == V_ip6_mrouter && ip6_mrouter_done)
695 rip6_abort(struct socket *so)
699 inp = sotoinpcb(so);
702 soisdisconnected(so);
706 rip6_close(struct socket *so)
710 inp = sotoinpcb(so);
713 soisdisconnected(so);
717 rip6_disconnect(struct socket *so)
721 inp = sotoinpcb(so);
724 if ((so->so_state & SS_ISCONNECTED) == 0)
727 rip6_abort(so);
732 rip6_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
740 inp = sotoinpcb(so);
775 rip6_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
783 inp = sotoinpcb(so);
796 * not behave as it should, so we need a workaround. Even if an
810 inp, so->so_cred, scope_ambiguous, &in6a, NULL);
819 soisconnected(so);
825 rip6_shutdown(struct socket *so, enum shutdown_how how)
828 SOCK_LOCK(so);
829 if (!(so->so_state & SS_ISCONNECTED)) {
830 SOCK_UNLOCK(so);
833 SOCK_UNLOCK(so);
837 sorflush(so);
840 sorflush(so);
843 socantsendmore(so);