aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/icmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/icmp.c')
-rw-r--r--net/ipv6/icmp.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c
index 3dcc4b7f41b..9377fea0268 100644
--- a/net/ipv6/icmp.c
+++ b/net/ipv6/icmp.c
@@ -107,7 +107,7 @@ static __inline__ void icmpv6_xmit_unlock(void)
107 spin_unlock_bh(&icmpv6_socket->sk->sk_lock.slock); 107 spin_unlock_bh(&icmpv6_socket->sk->sk_lock.slock);
108} 108}
109 109
110/* 110/*
111 * Slightly more convenient version of icmpv6_send. 111 * Slightly more convenient version of icmpv6_send.
112 */ 112 */
113void icmpv6_param_prob(struct sk_buff *skb, int code, int pos) 113void icmpv6_param_prob(struct sk_buff *skb, int code, int pos)
@@ -153,8 +153,8 @@ static int is_ineligible(struct sk_buff *skb)
153 153
154static int sysctl_icmpv6_time __read_mostly = 1*HZ; 154static int sysctl_icmpv6_time __read_mostly = 1*HZ;
155 155
156/* 156/*
157 * Check the ICMP output rate limit 157 * Check the ICMP output rate limit
158 */ 158 */
159static inline int icmpv6_xrlim_allow(struct sock *sk, int type, 159static inline int icmpv6_xrlim_allow(struct sock *sk, int type,
160 struct flowi *fl) 160 struct flowi *fl)
@@ -170,7 +170,7 @@ static inline int icmpv6_xrlim_allow(struct sock *sk, int type,
170 if (type == ICMPV6_PKT_TOOBIG) 170 if (type == ICMPV6_PKT_TOOBIG)
171 return 1; 171 return 1;
172 172
173 /* 173 /*
174 * Look up the output route. 174 * Look up the output route.
175 * XXX: perhaps the expire for routing entries cloned by 175 * XXX: perhaps the expire for routing entries cloned by
176 * this lookup should be more aggressive (not longer than timeout). 176 * this lookup should be more aggressive (not longer than timeout).
@@ -198,7 +198,7 @@ static inline int icmpv6_xrlim_allow(struct sock *sk, int type,
198/* 198/*
199 * an inline helper for the "simple" if statement below 199 * an inline helper for the "simple" if statement below
200 * checks if parameter problem report is caused by an 200 * checks if parameter problem report is caused by an
201 * unrecognized IPv6 option that has the Option Type 201 * unrecognized IPv6 option that has the Option Type
202 * highest-order two bits set to 10 202 * highest-order two bits set to 10
203 */ 203 */
204 204
@@ -298,7 +298,7 @@ static inline void mip6_addr_swap(struct sk_buff *skb) {}
298/* 298/*
299 * Send an ICMP message in response to a packet in error 299 * Send an ICMP message in response to a packet in error
300 */ 300 */
301void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info, 301void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
302 struct net_device *dev) 302 struct net_device *dev)
303{ 303{
304 struct inet6_dev *idev = NULL; 304 struct inet6_dev *idev = NULL;
@@ -320,7 +320,7 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
320 return; 320 return;
321 321
322 /* 322 /*
323 * Make sure we respect the rules 323 * Make sure we respect the rules
324 * i.e. RFC 1885 2.4(e) 324 * i.e. RFC 1885 2.4(e)
325 * Rule (e.1) is enforced by not using icmpv6_send 325 * Rule (e.1) is enforced by not using icmpv6_send
326 * in any code that processes icmp errors. 326 * in any code that processes icmp errors.
@@ -336,8 +336,8 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
336 336
337 if ((addr_type & IPV6_ADDR_MULTICAST || skb->pkt_type != PACKET_HOST)) { 337 if ((addr_type & IPV6_ADDR_MULTICAST || skb->pkt_type != PACKET_HOST)) {
338 if (type != ICMPV6_PKT_TOOBIG && 338 if (type != ICMPV6_PKT_TOOBIG &&
339 !(type == ICMPV6_PARAMPROB && 339 !(type == ICMPV6_PARAMPROB &&
340 code == ICMPV6_UNK_OPTION && 340 code == ICMPV6_UNK_OPTION &&
341 (opt_unrec(skb, info)))) 341 (opt_unrec(skb, info))))
342 return; 342 return;
343 343
@@ -364,7 +364,7 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
364 return; 364 return;
365 } 365 }
366 366
367 /* 367 /*
368 * Never answer to a ICMP packet. 368 * Never answer to a ICMP packet.
369 */ 369 */
370 if (is_ineligible(skb)) { 370 if (is_ineligible(skb)) {
@@ -543,14 +543,14 @@ static void icmpv6_echo_reply(struct sk_buff *skb)
543 } 543 }
544 err = icmpv6_push_pending_frames(sk, &fl, &tmp_hdr, skb->len + sizeof(struct icmp6hdr)); 544 err = icmpv6_push_pending_frames(sk, &fl, &tmp_hdr, skb->len + sizeof(struct icmp6hdr));
545 545
546 ICMP6_INC_STATS_BH(idev, ICMP6_MIB_OUTECHOREPLIES); 546 ICMP6_INC_STATS_BH(idev, ICMP6_MIB_OUTECHOREPLIES);
547 ICMP6_INC_STATS_BH(idev, ICMP6_MIB_OUTMSGS); 547 ICMP6_INC_STATS_BH(idev, ICMP6_MIB_OUTMSGS);
548 548
549out_put: 549out_put:
550 if (likely(idev != NULL)) 550 if (likely(idev != NULL))
551 in6_dev_put(idev); 551 in6_dev_put(idev);
552 dst_release(dst); 552 dst_release(dst);
553out: 553out:
554 icmpv6_xmit_unlock(); 554 icmpv6_xmit_unlock();
555} 555}
556 556
@@ -608,7 +608,7 @@ static void icmpv6_notify(struct sk_buff *skb, int type, int code, __be32 info)
608 } 608 }
609 read_unlock(&raw_v6_lock); 609 read_unlock(&raw_v6_lock);
610} 610}
611 611
612/* 612/*
613 * Handle icmp messages 613 * Handle icmp messages
614 */ 614 */
@@ -722,9 +722,9 @@ static int icmpv6_rcv(struct sk_buff **pskb)
722 if (type & ICMPV6_INFOMSG_MASK) 722 if (type & ICMPV6_INFOMSG_MASK)
723 break; 723 break;
724 724
725 /* 725 /*
726 * error of unknown type. 726 * error of unknown type.
727 * must pass to upper level 727 * must pass to upper level
728 */ 728 */
729 729
730 icmpv6_notify(skb, type, hdr->icmp6_code, hdr->icmp6_mtu); 730 icmpv6_notify(skb, type, hdr->icmp6_code, hdr->icmp6_mtu);
@@ -852,7 +852,7 @@ int icmpv6_err_convert(int type, int code, int *err)
852 case ICMPV6_PKT_TOOBIG: 852 case ICMPV6_PKT_TOOBIG:
853 *err = EMSGSIZE; 853 *err = EMSGSIZE;
854 break; 854 break;
855 855
856 case ICMPV6_PARAMPROB: 856 case ICMPV6_PARAMPROB:
857 *err = EPROTO; 857 *err = EPROTO;
858 fatal = 1; 858 fatal = 1;