Date: Fri, 15 Nov 2013 11:15:31 +0000 (UTC) From: "Andrey V. Elsukov" <ae@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r258163 - user/ae/inet6/sys/netinet6 Message-ID: <201311151115.rAFBFV5R076557@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ae Date: Fri Nov 15 11:15:30 2013 New Revision: 258163 URL: http://svnweb.freebsd.org/changeset/base/258163 Log: Properly initialize sin6_scope_id instead of embedding zone index. Modified: user/ae/inet6/sys/netinet6/sctp6_usrreq.c Modified: user/ae/inet6/sys/netinet6/sctp6_usrreq.c ============================================================================== --- user/ae/inet6/sys/netinet6/sctp6_usrreq.c Fri Nov 15 10:28:59 2013 (r258162) +++ user/ae/inet6/sys/netinet6/sctp6_usrreq.c Fri Nov 15 11:15:30 2013 (r258163) @@ -138,17 +138,17 @@ sctp6_input_with_port(struct mbuf **i_pa src.sin6_len = sizeof(struct sockaddr_in6); src.sin6_port = sh->src_port; src.sin6_addr = ip6->ip6_src; - if (in6_setscope(&src.sin6_addr, m->m_pkthdr.rcvif, NULL) != 0) { - goto out; - } + src.sin6_scope_id = in6_getscopezone(m->m_pkthdr.rcvif, + in6_addrscope(&ip6->ip6_src)); + memset(&dst, 0, sizeof(struct sockaddr_in6)); dst.sin6_family = AF_INET6; dst.sin6_len = sizeof(struct sockaddr_in6); dst.sin6_port = sh->dest_port; dst.sin6_addr = ip6->ip6_dst; - if (in6_setscope(&dst.sin6_addr, m->m_pkthdr.rcvif, NULL) != 0) { - goto out; - } + dst.sin6_scope_id = in6_getscopezone(m->m_pkthdr.rcvif, + in6_addrscope(&ip6->ip6_dst)); + if (faithprefix_p != NULL && (*faithprefix_p) (&dst.sin6_addr)) { /* XXX send icmp6 host/port unreach? */ goto out;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311151115.rAFBFV5R076557>