ip6_output.c (2423496af35d94a87156b063ea5cedffc10a70a1) | ip6_output.c (7dd7eb9513bd02184d45f000ab69d78cb1fa1531) |
---|---|
1/* 2 * IPv6 output functions 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * Based on linux/net/ipv4/ip_output.c --- 583 unchanged lines hidden (view full) --- 592 struct ipv6hdr *tmp_hdr; 593 struct frag_hdr *fh; 594 unsigned int mtu, hlen, left, len; 595 int hroom, troom; 596 __be32 frag_id; 597 int ptr, offset = 0, err = 0; 598 u8 *prevhdr, nexthdr = 0; 599 | 1/* 2 * IPv6 output functions 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * Based on linux/net/ipv4/ip_output.c --- 583 unchanged lines hidden (view full) --- 592 struct ipv6hdr *tmp_hdr; 593 struct frag_hdr *fh; 594 unsigned int mtu, hlen, left, len; 595 int hroom, troom; 596 __be32 frag_id; 597 int ptr, offset = 0, err = 0; 598 u8 *prevhdr, nexthdr = 0; 599 |
600 hlen = ip6_find_1stfragopt(skb, &prevhdr); 601 if (hlen < 0) { 602 err = hlen; | 600 err = ip6_find_1stfragopt(skb, &prevhdr); 601 if (err < 0) |
603 goto fail; | 602 goto fail; |
604 } | 603 hlen = err; |
605 nexthdr = *prevhdr; 606 607 mtu = ip6_skb_dst_mtu(skb); 608 609 /* We must not fragment if the socket is set to force MTU discovery 610 * or if the skb it not generated by a local socket. 611 */ 612 if (unlikely(!skb->ignore_df && skb->len > mtu)) --- 1219 unchanged lines hidden --- | 604 nexthdr = *prevhdr; 605 606 mtu = ip6_skb_dst_mtu(skb); 607 608 /* We must not fragment if the socket is set to force MTU discovery 609 * or if the skb it not generated by a local socket. 610 */ 611 if (unlikely(!skb->ignore_df && skb->len > mtu)) --- 1219 unchanged lines hidden --- |