aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/af_inet6.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-11 14:38:13 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-11 14:38:13 -0500
commitcb18eccff48ef3986d1072964590bce6fec705fb (patch)
tree777fb1d15e0281341e1e02c9803d989538d346f2 /net/ipv6/af_inet6.c
parentc827ba4cb49a30ce581201fd0ba2be77cde412c7 (diff)
parent5ef213f6842277ee1df5659f59fac0ffc9beb411 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits) [IPV4]: Restore multipath routing after rt_next changes. [XFRM] IPV6: Fix outbound RO transformation which is broken by IPsec tunnel patch. [NET]: Reorder fields of struct dst_entry [DECNET]: Convert decnet route to use the new dst_entry 'next' pointer [IPV6]: Convert ipv6 route to use the new dst_entry 'next' pointer [IPV4]: Convert ipv4 route to use the new dst_entry 'next' pointer [NET]: Introduce union in struct dst_entry to hold 'next' pointer [DECNET]: fix misannotation of linkinfo_dn [DECNET]: FRA_{DST,SRC} are le16 for decnet [UDP]: UDP can use sk_hash to speedup lookups [NET]: Fix whitespace errors. [NET] XFRM: Fix whitespace errors. [NET] X25: Fix whitespace errors. [NET] WANROUTER: Fix whitespace errors. [NET] UNIX: Fix whitespace errors. [NET] TIPC: Fix whitespace errors. [NET] SUNRPC: Fix whitespace errors. [NET] SCTP: Fix whitespace errors. [NET] SCHED: Fix whitespace errors. [NET] RXRPC: Fix whitespace errors. ...
Diffstat (limited to 'net/ipv6/af_inet6.c')
-rw-r--r--net/ipv6/af_inet6.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index 0e0e4262f4d..a006d242be7 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
397int inet6_getname(struct socket *sock, struct sockaddr *uaddr, 397int 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);
750err_ip_mib: 750err_ip_mib:
751 return -ENOMEM; 751 return -ENOMEM;
752 752
753} 753}
754 754
755static void cleanup_ipv6_mibs(void) 755static void cleanup_ipv6_mibs(void)
@@ -763,7 +763,7 @@ static void cleanup_ipv6_mibs(void)
763static int __init inet6_init(void) 763static 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);