udp.c (f8d8fda54a1bfcf8cf829e44c494b2b4582819aa) udp.c (8e1ef0a95b87e8b4292b2ba733e8cb854ea2d2fe)
1/*
2 * UDP over IPv6
3 * Linux INET6 implementation
4 *
5 * Authors:
6 * Pedro Roque <roque@di.fc.ul.pt>
7 *
8 * Based on linux/ipv4/udp.c

--- 833 unchanged lines hidden (view full) ---

842 udp_v6_flush_pending_frames(sk);
843 else if (!corkreq)
844 err = udp_v6_push_pending_frames(sk, up);
845
846 if (dst) {
847 if (connected) {
848 ip6_dst_store(sk, dst,
849 ipv6_addr_equal(&fl->fl6_dst, &np->daddr) ?
1/*
2 * UDP over IPv6
3 * Linux INET6 implementation
4 *
5 * Authors:
6 * Pedro Roque <roque@di.fc.ul.pt>
7 *
8 * Based on linux/ipv4/udp.c

--- 833 unchanged lines hidden (view full) ---

842 udp_v6_flush_pending_frames(sk);
843 else if (!corkreq)
844 err = udp_v6_push_pending_frames(sk, up);
845
846 if (dst) {
847 if (connected) {
848 ip6_dst_store(sk, dst,
849 ipv6_addr_equal(&fl->fl6_dst, &np->daddr) ?
850 &np->daddr : NULL);
850 &np->daddr : NULL,
851#ifdef CONFIG_IPV6_SUBTREES
852 ipv6_addr_equal(&fl->fl6_src, &np->saddr) ?
853 &np->saddr :
854#endif
855 NULL);
851 } else {
852 dst_release(dst);
853 }
854 }
855
856 if (err > 0)
857 err = np->recverr ? net_xmit_errno(err) : 0;
858 release_sock(sk);

--- 268 unchanged lines hidden ---
856 } else {
857 dst_release(dst);
858 }
859 }
860
861 if (err > 0)
862 err = np->recverr ? net_xmit_errno(err) : 0;
863 release_sock(sk);

--- 268 unchanged lines hidden ---