diff options
Diffstat (limited to 'net/sctp/ipv6.c')
-rw-r--r-- | net/sctp/ipv6.c | 92 |
1 files changed, 50 insertions, 42 deletions
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c index 2e266129a764..c20d282fac06 100644 --- a/net/sctp/ipv6.c +++ b/net/sctp/ipv6.c | |||
@@ -861,23 +861,27 @@ static int sctp_inet6_supported_addrs(const struct sctp_sock *opt, | |||
861 | } | 861 | } |
862 | 862 | ||
863 | static const struct proto_ops inet6_seqpacket_ops = { | 863 | static const struct proto_ops inet6_seqpacket_ops = { |
864 | .family = PF_INET6, | 864 | .family = PF_INET6, |
865 | .owner = THIS_MODULE, | 865 | .owner = THIS_MODULE, |
866 | .release = inet6_release, | 866 | .release = inet6_release, |
867 | .bind = inet6_bind, | 867 | .bind = inet6_bind, |
868 | .connect = inet_dgram_connect, | 868 | .connect = inet_dgram_connect, |
869 | .socketpair = sock_no_socketpair, | 869 | .socketpair = sock_no_socketpair, |
870 | .accept = inet_accept, | 870 | .accept = inet_accept, |
871 | .getname = inet6_getname, | 871 | .getname = inet6_getname, |
872 | .poll = sctp_poll, | 872 | .poll = sctp_poll, |
873 | .ioctl = inet6_ioctl, | 873 | .ioctl = inet6_ioctl, |
874 | .listen = sctp_inet_listen, | 874 | .listen = sctp_inet_listen, |
875 | .shutdown = inet_shutdown, | 875 | .shutdown = inet_shutdown, |
876 | .setsockopt = sock_common_setsockopt, | 876 | .setsockopt = sock_common_setsockopt, |
877 | .getsockopt = sock_common_getsockopt, | 877 | .getsockopt = sock_common_getsockopt, |
878 | .sendmsg = inet_sendmsg, | 878 | .sendmsg = inet_sendmsg, |
879 | .recvmsg = sock_common_recvmsg, | 879 | .recvmsg = sock_common_recvmsg, |
880 | .mmap = sock_no_mmap, | 880 | .mmap = sock_no_mmap, |
881 | #ifdef CONFIG_COMPAT | ||
882 | .compat_setsockopt = compat_sock_common_setsockopt, | ||
883 | .compat_getsockopt = compat_sock_common_getsockopt, | ||
884 | #endif | ||
881 | }; | 885 | }; |
882 | 886 | ||
883 | static struct inet_protosw sctpv6_seqpacket_protosw = { | 887 | static struct inet_protosw sctpv6_seqpacket_protosw = { |
@@ -911,31 +915,35 @@ static struct inet6_protocol sctpv6_protocol = { | |||
911 | }; | 915 | }; |
912 | 916 | ||
913 | static struct sctp_af sctp_ipv6_specific = { | 917 | static struct sctp_af sctp_ipv6_specific = { |
914 | .sctp_xmit = sctp_v6_xmit, | 918 | .sa_family = AF_INET6, |
915 | .setsockopt = ipv6_setsockopt, | 919 | .sctp_xmit = sctp_v6_xmit, |
916 | .getsockopt = ipv6_getsockopt, | 920 | .setsockopt = ipv6_setsockopt, |
917 | .get_dst = sctp_v6_get_dst, | 921 | .getsockopt = ipv6_getsockopt, |
918 | .get_saddr = sctp_v6_get_saddr, | 922 | .get_dst = sctp_v6_get_dst, |
919 | .copy_addrlist = sctp_v6_copy_addrlist, | 923 | .get_saddr = sctp_v6_get_saddr, |
920 | .from_skb = sctp_v6_from_skb, | 924 | .copy_addrlist = sctp_v6_copy_addrlist, |
921 | .from_sk = sctp_v6_from_sk, | 925 | .from_skb = sctp_v6_from_skb, |
922 | .to_sk_saddr = sctp_v6_to_sk_saddr, | 926 | .from_sk = sctp_v6_from_sk, |
923 | .to_sk_daddr = sctp_v6_to_sk_daddr, | 927 | .to_sk_saddr = sctp_v6_to_sk_saddr, |
924 | .from_addr_param = sctp_v6_from_addr_param, | 928 | .to_sk_daddr = sctp_v6_to_sk_daddr, |
925 | .to_addr_param = sctp_v6_to_addr_param, | 929 | .from_addr_param = sctp_v6_from_addr_param, |
926 | .dst_saddr = sctp_v6_dst_saddr, | 930 | .to_addr_param = sctp_v6_to_addr_param, |
927 | .cmp_addr = sctp_v6_cmp_addr, | 931 | .dst_saddr = sctp_v6_dst_saddr, |
928 | .scope = sctp_v6_scope, | 932 | .cmp_addr = sctp_v6_cmp_addr, |
929 | .addr_valid = sctp_v6_addr_valid, | 933 | .scope = sctp_v6_scope, |
930 | .inaddr_any = sctp_v6_inaddr_any, | 934 | .addr_valid = sctp_v6_addr_valid, |
931 | .is_any = sctp_v6_is_any, | 935 | .inaddr_any = sctp_v6_inaddr_any, |
932 | .available = sctp_v6_available, | 936 | .is_any = sctp_v6_is_any, |
933 | .skb_iif = sctp_v6_skb_iif, | 937 | .available = sctp_v6_available, |
934 | .is_ce = sctp_v6_is_ce, | 938 | .skb_iif = sctp_v6_skb_iif, |
935 | .seq_dump_addr = sctp_v6_seq_dump_addr, | 939 | .is_ce = sctp_v6_is_ce, |
936 | .net_header_len = sizeof(struct ipv6hdr), | 940 | .seq_dump_addr = sctp_v6_seq_dump_addr, |
937 | .sockaddr_len = sizeof(struct sockaddr_in6), | 941 | .net_header_len = sizeof(struct ipv6hdr), |
938 | .sa_family = AF_INET6, | 942 | .sockaddr_len = sizeof(struct sockaddr_in6), |
943 | #ifdef CONFIG_COMPAT | ||
944 | .compat_setsockopt = compat_ipv6_setsockopt, | ||
945 | .compat_getsockopt = compat_ipv6_getsockopt, | ||
946 | #endif | ||
939 | }; | 947 | }; |
940 | 948 | ||
941 | static struct sctp_pf sctp_pf_inet6_specific = { | 949 | static struct sctp_pf sctp_pf_inet6_specific = { |