raw.c (ffee921033e64edf8579a3b21c7f15d1a6c3ef71) | raw.c (8d65b1190ddc548b0411477f308d04f4595bac57) |
---|---|
1/* 2 * RAW sockets for IPv6 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * Adapted from linux/net/ipv4/raw.c --- 321 unchanged lines hidden (view full) --- 330 if (!np->recverr && sk->sk_state != TCP_ESTABLISHED) 331 return; 332 333 harderr = icmpv6_err_convert(type, code, &err); 334 if (type == ICMPV6_PKT_TOOBIG) { 335 ip6_sk_update_pmtu(skb, sk, info); 336 harderr = (np->pmtudisc == IPV6_PMTUDISC_DO); 337 } | 1/* 2 * RAW sockets for IPv6 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * Adapted from linux/net/ipv4/raw.c --- 321 unchanged lines hidden (view full) --- 330 if (!np->recverr && sk->sk_state != TCP_ESTABLISHED) 331 return; 332 333 harderr = icmpv6_err_convert(type, code, &err); 334 if (type == ICMPV6_PKT_TOOBIG) { 335 ip6_sk_update_pmtu(skb, sk, info); 336 harderr = (np->pmtudisc == IPV6_PMTUDISC_DO); 337 } |
338 if (type == NDISC_REDIRECT) | 338 if (type == NDISC_REDIRECT) { |
339 ip6_sk_redirect(skb, sk); | 339 ip6_sk_redirect(skb, sk); |
340 return; 341 } |
|
340 if (np->recverr) { 341 u8 *payload = skb->data; 342 if (!inet->hdrincl) 343 payload += offset; 344 ipv6_icmp_error(sk, skb, err, 0, ntohl(info), payload); 345 } 346 347 if (np->recverr || harderr) { --- 1000 unchanged lines hidden --- | 342 if (np->recverr) { 343 u8 *payload = skb->data; 344 if (!inet->hdrincl) 345 payload += offset; 346 ipv6_icmp_error(sk, skb, err, 0, ntohl(info), payload); 347 } 348 349 if (np->recverr || harderr) { --- 1000 unchanged lines hidden --- |