diff options
Diffstat (limited to 'net/ipv6/af_inet6.c')
-rw-r--r-- | net/ipv6/af_inet6.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index 0e0e4262f4dc..a006d242be76 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c | |||
@@ -1,9 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * PF_INET6 socket protocol family | 2 | * PF_INET6 socket protocol family |
3 | * Linux INET6 implementation | 3 | * Linux INET6 implementation |
4 | * | 4 | * |
5 | * Authors: | 5 | * Authors: |
6 | * Pedro Roque <roque@di.fc.ul.pt> | 6 | * Pedro Roque <roque@di.fc.ul.pt> |
7 | * | 7 | * |
8 | * Adapted from linux/net/ipv4/af_inet.c | 8 | * Adapted from linux/net/ipv4/af_inet.c |
9 | * | 9 | * |
@@ -191,7 +191,7 @@ lookup_protocol: | |||
191 | np->mc_loop = 1; | 191 | np->mc_loop = 1; |
192 | np->pmtudisc = IPV6_PMTUDISC_WANT; | 192 | np->pmtudisc = IPV6_PMTUDISC_WANT; |
193 | np->ipv6only = sysctl_ipv6_bindv6only; | 193 | np->ipv6only = sysctl_ipv6_bindv6only; |
194 | 194 | ||
195 | /* Init the ipv4 part of the socket since we can have sockets | 195 | /* Init the ipv4 part of the socket since we can have sockets |
196 | * using v6 API for ipv4. | 196 | * using v6 API for ipv4. |
197 | */ | 197 | */ |
@@ -206,7 +206,7 @@ lookup_protocol: | |||
206 | inet->pmtudisc = IP_PMTUDISC_DONT; | 206 | inet->pmtudisc = IP_PMTUDISC_DONT; |
207 | else | 207 | else |
208 | inet->pmtudisc = IP_PMTUDISC_WANT; | 208 | inet->pmtudisc = IP_PMTUDISC_WANT; |
209 | /* | 209 | /* |
210 | * Increment only the relevant sk_prot->socks debug field, this changes | 210 | * Increment only the relevant sk_prot->socks debug field, this changes |
211 | * the previous behaviour of incrementing both the equivalent to | 211 | * the previous behaviour of incrementing both the equivalent to |
212 | * answer->prot->socks (inet6_sock_nr) and inet_sock_nr. | 212 | * answer->prot->socks (inet6_sock_nr) and inet_sock_nr. |
@@ -293,7 +293,7 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) | |||
293 | */ | 293 | */ |
294 | sk->sk_bound_dev_if = addr->sin6_scope_id; | 294 | sk->sk_bound_dev_if = addr->sin6_scope_id; |
295 | } | 295 | } |
296 | 296 | ||
297 | /* Binding to link-local address requires an interface */ | 297 | /* Binding to link-local address requires an interface */ |
298 | if (!sk->sk_bound_dev_if) { | 298 | if (!sk->sk_bound_dev_if) { |
299 | err = -EINVAL; | 299 | err = -EINVAL; |
@@ -327,7 +327,7 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) | |||
327 | inet->saddr = v4addr; | 327 | inet->saddr = v4addr; |
328 | 328 | ||
329 | ipv6_addr_copy(&np->rcv_saddr, &addr->sin6_addr); | 329 | ipv6_addr_copy(&np->rcv_saddr, &addr->sin6_addr); |
330 | 330 | ||
331 | if (!(addr_type & IPV6_ADDR_MULTICAST)) | 331 | if (!(addr_type & IPV6_ADDR_MULTICAST)) |
332 | ipv6_addr_copy(&np->saddr, &addr->sin6_addr); | 332 | ipv6_addr_copy(&np->saddr, &addr->sin6_addr); |
333 | 333 | ||
@@ -393,7 +393,7 @@ EXPORT_SYMBOL_GPL(inet6_destroy_sock); | |||
393 | /* | 393 | /* |
394 | * This does both peername and sockname. | 394 | * This does both peername and sockname. |
395 | */ | 395 | */ |
396 | 396 | ||
397 | int inet6_getname(struct socket *sock, struct sockaddr *uaddr, | 397 | int inet6_getname(struct socket *sock, struct sockaddr *uaddr, |
398 | int *uaddr_len, int peer) | 398 | int *uaddr_len, int peer) |
399 | { | 399 | { |
@@ -401,7 +401,7 @@ int inet6_getname(struct socket *sock, struct sockaddr *uaddr, | |||
401 | struct sock *sk = sock->sk; | 401 | struct sock *sk = sock->sk; |
402 | struct inet_sock *inet = inet_sk(sk); | 402 | struct inet_sock *inet = inet_sk(sk); |
403 | struct ipv6_pinfo *np = inet6_sk(sk); | 403 | struct ipv6_pinfo *np = inet6_sk(sk); |
404 | 404 | ||
405 | sin->sin6_family = AF_INET6; | 405 | sin->sin6_family = AF_INET6; |
406 | sin->sin6_flowinfo = 0; | 406 | sin->sin6_flowinfo = 0; |
407 | sin->sin6_scope_id = 0; | 407 | sin->sin6_scope_id = 0; |
@@ -433,14 +433,14 @@ int inet6_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) | |||
433 | { | 433 | { |
434 | struct sock *sk = sock->sk; | 434 | struct sock *sk = sock->sk; |
435 | 435 | ||
436 | switch(cmd) | 436 | switch(cmd) |
437 | { | 437 | { |
438 | case SIOCGSTAMP: | 438 | case SIOCGSTAMP: |
439 | return sock_get_timestamp(sk, (struct timeval __user *)arg); | 439 | return sock_get_timestamp(sk, (struct timeval __user *)arg); |
440 | 440 | ||
441 | case SIOCADDRT: | 441 | case SIOCADDRT: |
442 | case SIOCDELRT: | 442 | case SIOCDELRT: |
443 | 443 | ||
444 | return(ipv6_route_ioctl(cmd,(void __user *)arg)); | 444 | return(ipv6_route_ioctl(cmd,(void __user *)arg)); |
445 | 445 | ||
446 | case SIOCSIFADDR: | 446 | case SIOCSIFADDR: |
@@ -584,7 +584,7 @@ inet6_register_protosw(struct inet_protosw *p) | |||
584 | /* Add the new entry after the last permanent entry if any, so that | 584 | /* Add the new entry after the last permanent entry if any, so that |
585 | * the new entry does not override a permanent entry when matched with | 585 | * the new entry does not override a permanent entry when matched with |
586 | * a wild-card protocol. But it is allowed to override any existing | 586 | * a wild-card protocol. But it is allowed to override any existing |
587 | * non-permanent entry. This means that when we remove this entry, the | 587 | * non-permanent entry. This means that when we remove this entry, the |
588 | * system automatically returns to the old behavior. | 588 | * system automatically returns to the old behavior. |
589 | */ | 589 | */ |
590 | list_add_rcu(&p->list, last_perm); | 590 | list_add_rcu(&p->list, last_perm); |
@@ -749,7 +749,7 @@ err_icmp_mib: | |||
749 | snmp6_mib_free((void **)ipv6_statistics); | 749 | snmp6_mib_free((void **)ipv6_statistics); |
750 | err_ip_mib: | 750 | err_ip_mib: |
751 | return -ENOMEM; | 751 | return -ENOMEM; |
752 | 752 | ||
753 | } | 753 | } |
754 | 754 | ||
755 | static void cleanup_ipv6_mibs(void) | 755 | static void cleanup_ipv6_mibs(void) |
@@ -763,7 +763,7 @@ static void cleanup_ipv6_mibs(void) | |||
763 | static int __init inet6_init(void) | 763 | static int __init inet6_init(void) |
764 | { | 764 | { |
765 | struct sk_buff *dummy_skb; | 765 | struct sk_buff *dummy_skb; |
766 | struct list_head *r; | 766 | struct list_head *r; |
767 | int err; | 767 | int err; |
768 | 768 | ||
769 | BUILD_BUG_ON(sizeof(struct inet6_skb_parm) > sizeof(dummy_skb->cb)); | 769 | BUILD_BUG_ON(sizeof(struct inet6_skb_parm) > sizeof(dummy_skb->cb)); |
@@ -814,7 +814,7 @@ static int __init inet6_init(void) | |||
814 | err = init_ipv6_mibs(); | 814 | err = init_ipv6_mibs(); |
815 | if (err) | 815 | if (err) |
816 | goto out_unregister_sock; | 816 | goto out_unregister_sock; |
817 | 817 | ||
818 | /* | 818 | /* |
819 | * ipngwg API draft makes clear that the correct semantics | 819 | * ipngwg API draft makes clear that the correct semantics |
820 | * for TCP and UDP is to consider one TCP and UDP instance | 820 | * for TCP and UDP is to consider one TCP and UDP instance |
@@ -933,11 +933,11 @@ static void __exit inet6_exit(void) | |||
933 | #ifdef CONFIG_PROC_FS | 933 | #ifdef CONFIG_PROC_FS |
934 | if6_proc_exit(); | 934 | if6_proc_exit(); |
935 | ac6_proc_exit(); | 935 | ac6_proc_exit(); |
936 | ipv6_misc_proc_exit(); | 936 | ipv6_misc_proc_exit(); |
937 | udp6_proc_exit(); | 937 | udp6_proc_exit(); |
938 | udplite6_proc_exit(); | 938 | udplite6_proc_exit(); |
939 | tcp6_proc_exit(); | 939 | tcp6_proc_exit(); |
940 | raw6_proc_exit(); | 940 | raw6_proc_exit(); |
941 | #endif | 941 | #endif |
942 | #ifdef CONFIG_IPV6_MIP6 | 942 | #ifdef CONFIG_IPV6_MIP6 |
943 | mip6_fini(); | 943 | mip6_fini(); |
@@ -952,7 +952,7 @@ static void __exit inet6_exit(void) | |||
952 | ndisc_cleanup(); | 952 | ndisc_cleanup(); |
953 | icmpv6_cleanup(); | 953 | icmpv6_cleanup(); |
954 | #ifdef CONFIG_SYSCTL | 954 | #ifdef CONFIG_SYSCTL |
955 | ipv6_sysctl_unregister(); | 955 | ipv6_sysctl_unregister(); |
956 | #endif | 956 | #endif |
957 | cleanup_ipv6_mibs(); | 957 | cleanup_ipv6_mibs(); |
958 | proto_unregister(&rawv6_prot); | 958 | proto_unregister(&rawv6_prot); |