ip6_output.c (274331) | ip6_output.c (274611) |
---|---|
1/*- 2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 47 unchanged lines hidden (view full) --- 56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 58 * SUCH DAMAGE. 59 * 60 * @(#)ip_output.c 8.3 (Berkeley) 1/21/94 61 */ 62 63#include <sys/cdefs.h> | 1/*- 2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 47 unchanged lines hidden (view full) --- 56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 58 * SUCH DAMAGE. 59 * 60 * @(#)ip_output.c 8.3 (Berkeley) 1/21/94 61 */ 62 63#include <sys/cdefs.h> |
64__FBSDID("$FreeBSD: head/sys/netinet6/ip6_output.c 274331 2014-11-09 21:33:01Z melifaro $"); | 64__FBSDID("$FreeBSD: head/sys/netinet6/ip6_output.c 274611 2014-11-17 01:05:29Z melifaro $"); |
65 66#include "opt_inet.h" 67#include "opt_inet6.h" 68#include "opt_ipfw.h" 69#include "opt_ipsec.h" 70#include "opt_sctp.h" 71#include "opt_route.h" 72#include "opt_rss.h" --- 1197 unchanged lines hidden (view full) --- 1270 * if we record ICMPv6 too big message with 1271 * mtu < IPV6_MMTU, transmit packets sized IPV6_MMTU 1272 * or smaller, with framgent header attached. 1273 * (fragment header is needed regardless from the 1274 * packet size, for translators to identify packets) 1275 */ 1276 alwaysfrag = 1; 1277 mtu = IPV6_MMTU; | 65 66#include "opt_inet.h" 67#include "opt_inet6.h" 68#include "opt_ipfw.h" 69#include "opt_ipsec.h" 70#include "opt_sctp.h" 71#include "opt_route.h" 72#include "opt_rss.h" --- 1197 unchanged lines hidden (view full) --- 1270 * if we record ICMPv6 too big message with 1271 * mtu < IPV6_MMTU, transmit packets sized IPV6_MMTU 1272 * or smaller, with framgent header attached. 1273 * (fragment header is needed regardless from the 1274 * packet size, for translators to identify packets) 1275 */ 1276 alwaysfrag = 1; 1277 mtu = IPV6_MMTU; |
1278 } else if (mtu > ifmtu) { 1279 /* 1280 * The MTU on the route is larger than the MTU on 1281 * the interface! This shouldn't happen, unless the 1282 * MTU of the interface has been changed after the 1283 * interface was brought up. Change the MTU in the 1284 * route to match the interface MTU (as long as the 1285 * field isn't locked). 1286 */ 1287 mtu = ifmtu; 1288 ro_pmtu->ro_rt->rt_mtu = mtu; | |
1289 } 1290 } else if (ifp) { 1291 mtu = IN6_LINKMTU(ifp); 1292 } else 1293 error = EHOSTUNREACH; /* XXX */ 1294 1295 *mtup = mtu; 1296 if (alwaysfragp) --- 1692 unchanged lines hidden --- | 1278 } 1279 } else if (ifp) { 1280 mtu = IN6_LINKMTU(ifp); 1281 } else 1282 error = EHOSTUNREACH; /* XXX */ 1283 1284 *mtup = mtu; 1285 if (alwaysfragp) --- 1692 unchanged lines hidden --- |