Deleted Added
full compact
in6_pcb.c (275358) in6_pcb.c (279588)
1/*-
2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
3 * Copyright (c) 2010-2011 Juniper Networks, Inc.
4 * All rights reserved.
5 *
6 * Portions of this software were developed by Robert N. M. Watson under
7 * contract to Juniper Networks, Inc.
8 *

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

60 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
61 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
62 * SUCH DAMAGE.
63 *
64 * @(#)in_pcb.c 8.2 (Berkeley) 1/4/94
65 */
66
67#include <sys/cdefs.h>
1/*-
2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
3 * Copyright (c) 2010-2011 Juniper Networks, Inc.
4 * All rights reserved.
5 *
6 * Portions of this software were developed by Robert N. M. Watson under
7 * contract to Juniper Networks, Inc.
8 *

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

60 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
61 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
62 * SUCH DAMAGE.
63 *
64 * @(#)in_pcb.c 8.2 (Berkeley) 1/4/94
65 */
66
67#include <sys/cdefs.h>
68__FBSDID("$FreeBSD: head/sys/netinet6/in6_pcb.c 275358 2014-12-01 11:45:24Z hselasky $");
68__FBSDID("$FreeBSD: head/sys/netinet6/in6_pcb.c 279588 2015-03-04 11:20:01Z ae $");
69
70#include "opt_inet.h"
71#include "opt_inet6.h"
72#include "opt_ipsec.h"
73#include "opt_pcbgroup.h"
74#include "opt_rss.h"
75
76#include <sys/param.h>

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

637 if ((inp->inp_vflag & INP_IPV6) == 0) {
638 INP_WUNLOCK(inp);
639 continue;
640 }
641
642 /*
643 * If the error designates a new path MTU for a destination
644 * and the application (associated with this socket) wanted to
69
70#include "opt_inet.h"
71#include "opt_inet6.h"
72#include "opt_ipsec.h"
73#include "opt_pcbgroup.h"
74#include "opt_rss.h"
75
76#include <sys/param.h>

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

637 if ((inp->inp_vflag & INP_IPV6) == 0) {
638 INP_WUNLOCK(inp);
639 continue;
640 }
641
642 /*
643 * If the error designates a new path MTU for a destination
644 * and the application (associated with this socket) wanted to
645 * know the value, notify. Note that we notify for all
646 * disconnected sockets if the corresponding application
647 * wanted. This is because some UDP applications keep sending
648 * sockets disconnected.
645 * know the value, notify.
649 * XXX: should we avoid to notify the value to TCP sockets?
650 */
646 * XXX: should we avoid to notify the value to TCP sockets?
647 */
651 if (cmd == PRC_MSGSIZE && (inp->inp_flags & IN6P_MTU) != 0 &&
652 (IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr) ||
653 IN6_ARE_ADDR_EQUAL(&inp->in6p_faddr, &sa6_dst->sin6_addr))) {
648 if (cmd == PRC_MSGSIZE)
654 ip6_notify_pmtu(inp, (struct sockaddr_in6 *)dst,
649 ip6_notify_pmtu(inp, (struct sockaddr_in6 *)dst,
655 (u_int32_t *)cmdarg);
656 }
650 *(u_int32_t *)cmdarg);
657
658 /*
659 * Detect if we should notify the error. If no source and
660 * destination ports are specifed, but non-zero flowinfo and
661 * local address match, notify the error. This is the case
662 * when the error is delivered with an encrypted buffer
663 * by ESP. Otherwise, just compare addresses and ports
664 * as usual.

--- 623 unchanged lines hidden ---
651
652 /*
653 * Detect if we should notify the error. If no source and
654 * destination ports are specifed, but non-zero flowinfo and
655 * local address match, notify the error. This is the case
656 * when the error is delivered with an encrypted buffer
657 * by ESP. Otherwise, just compare addresses and ports
658 * as usual.

--- 623 unchanged lines hidden ---