linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / net / sctp / ipv6.c
index 99c0cef..c068d53 100644 (file)
@@ -290,8 +290,7 @@ static void sctp_v6_get_saddr(struct sctp_association *asoc,
        sctp_read_lock(addr_lock);
        list_for_each(pos, &bp->address_list) {
                laddr = list_entry(pos, struct sctp_sockaddr_entry, list);
-               if ((laddr->use_as_src) &&
-                   (laddr->a.sa.sa_family == AF_INET6) &&
+               if ((laddr->a.sa.sa_family == AF_INET6) &&
                    (scope <= sctp_scope(&laddr->a))) {
                        bmatchlen = sctp_v6_addr_match_len(daddr, &laddr->a);
                        if (!baddr || (matchlen < bmatchlen)) {
@@ -864,27 +863,23 @@ static int sctp_inet6_supported_addrs(const struct sctp_sock *opt,
 }
 
 static const struct proto_ops inet6_seqpacket_ops = {
-       .family            = PF_INET6,
-       .owner             = THIS_MODULE,
-       .release           = inet6_release,
-       .bind              = inet6_bind,
-       .connect           = inet_dgram_connect,
-       .socketpair        = sock_no_socketpair,
-       .accept            = inet_accept,
-       .getname           = inet6_getname,
-       .poll              = sctp_poll,
-       .ioctl             = inet6_ioctl,
-       .listen            = sctp_inet_listen,
-       .shutdown          = inet_shutdown,
-       .setsockopt        = sock_common_setsockopt,
-       .getsockopt        = sock_common_getsockopt,
-       .sendmsg           = inet_sendmsg,
-       .recvmsg           = sock_common_recvmsg,
-       .mmap              = sock_no_mmap,
-#ifdef CONFIG_COMPAT
-       .compat_setsockopt = compat_sock_common_setsockopt,
-       .compat_getsockopt = compat_sock_common_getsockopt,
-#endif
+       .family     = PF_INET6,
+       .owner      = THIS_MODULE,
+       .release    = inet6_release,
+       .bind       = inet6_bind,
+       .connect    = inet_dgram_connect,
+       .socketpair = sock_no_socketpair,
+       .accept     = inet_accept,
+       .getname    = inet6_getname,
+       .poll       = sctp_poll,
+       .ioctl      = inet6_ioctl,
+       .listen     = sctp_inet_listen,
+       .shutdown   = inet_shutdown,
+       .setsockopt = sock_common_setsockopt,
+       .getsockopt = sock_common_getsockopt,
+       .sendmsg    = inet_sendmsg,
+       .recvmsg    = sock_common_recvmsg,
+       .mmap       = sock_no_mmap,
 };
 
 static struct inet_protosw sctpv6_seqpacket_protosw = {
@@ -918,35 +913,31 @@ static struct inet6_protocol sctpv6_protocol = {
 };
 
 static struct sctp_af sctp_ipv6_specific = {
-       .sa_family         = AF_INET6,
-       .sctp_xmit         = sctp_v6_xmit,
-       .setsockopt        = ipv6_setsockopt,
-       .getsockopt        = ipv6_getsockopt,
-       .get_dst           = sctp_v6_get_dst,
-       .get_saddr         = sctp_v6_get_saddr,
-       .copy_addrlist     = sctp_v6_copy_addrlist,
-       .from_skb          = sctp_v6_from_skb,
-       .from_sk           = sctp_v6_from_sk,
-       .to_sk_saddr       = sctp_v6_to_sk_saddr,
-       .to_sk_daddr       = sctp_v6_to_sk_daddr,
-       .from_addr_param   = sctp_v6_from_addr_param,
-       .to_addr_param     = sctp_v6_to_addr_param,
-       .dst_saddr         = sctp_v6_dst_saddr,
-       .cmp_addr          = sctp_v6_cmp_addr,
-       .scope             = sctp_v6_scope,
-       .addr_valid        = sctp_v6_addr_valid,
-       .inaddr_any        = sctp_v6_inaddr_any,
-       .is_any            = sctp_v6_is_any,
-       .available         = sctp_v6_available,
-       .skb_iif           = sctp_v6_skb_iif,
-       .is_ce             = sctp_v6_is_ce,
-       .seq_dump_addr     = sctp_v6_seq_dump_addr,
-       .net_header_len    = sizeof(struct ipv6hdr),
-       .sockaddr_len      = sizeof(struct sockaddr_in6),
-#ifdef CONFIG_COMPAT
-       .compat_setsockopt = compat_ipv6_setsockopt,
-       .compat_getsockopt = compat_ipv6_getsockopt,
-#endif
+       .sctp_xmit       = sctp_v6_xmit,
+       .setsockopt      = ipv6_setsockopt,
+       .getsockopt      = ipv6_getsockopt,
+       .get_dst         = sctp_v6_get_dst,
+       .get_saddr       = sctp_v6_get_saddr,
+       .copy_addrlist   = sctp_v6_copy_addrlist,
+       .from_skb        = sctp_v6_from_skb,
+       .from_sk         = sctp_v6_from_sk,
+       .to_sk_saddr     = sctp_v6_to_sk_saddr,
+       .to_sk_daddr     = sctp_v6_to_sk_daddr,
+       .from_addr_param = sctp_v6_from_addr_param,
+       .to_addr_param   = sctp_v6_to_addr_param,
+       .dst_saddr       = sctp_v6_dst_saddr,
+       .cmp_addr        = sctp_v6_cmp_addr,
+       .scope           = sctp_v6_scope,
+       .addr_valid      = sctp_v6_addr_valid,
+       .inaddr_any      = sctp_v6_inaddr_any,
+       .is_any          = sctp_v6_is_any,
+       .available       = sctp_v6_available,
+       .skb_iif         = sctp_v6_skb_iif,
+       .is_ce           = sctp_v6_is_ce,
+       .seq_dump_addr   = sctp_v6_seq_dump_addr,
+       .net_header_len  = sizeof(struct ipv6hdr),
+       .sockaddr_len    = sizeof(struct sockaddr_in6),
+       .sa_family       = AF_INET6,
 };
 
 static struct sctp_pf sctp_pf_inet6_specific = {