diff options
author | wollman <wollman@FreeBSD.org> | 1995-09-18 15:51:40 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1995-09-18 15:51:40 +0000 |
commit | ea496cc61fd7886ad990ab3876ac97ea2530a3bd (patch) | |
tree | a92a58dd9752cf0410e2259213d11cb51ddbbe3f /sys/netinet/in_rmx.c | |
parent | 6b2ee7716a791402c70fcb7985e3e55f11fda156 (diff) | |
download | FreeBSD-src-ea496cc61fd7886ad990ab3876ac97ea2530a3bd.zip FreeBSD-src-ea496cc61fd7886ad990ab3876ac97ea2530a3bd.tar.gz |
Initial back-end support for IP MTU discovery, gated on MTUDISC. The support
for TCP has yet to be written.
Diffstat (limited to 'sys/netinet/in_rmx.c')
-rw-r--r-- | sys/netinet/in_rmx.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/netinet/in_rmx.c b/sys/netinet/in_rmx.c index 4768362..42cf46d 100644 --- a/sys/netinet/in_rmx.c +++ b/sys/netinet/in_rmx.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: in_rmx.c,v 1.14 1995/06/21 19:48:53 wollman Exp $ + * $Id: in_rmx.c,v 1.15 1995/07/10 15:39:10 wollman Exp $ */ /* @@ -64,7 +64,9 @@ #include <netinet/tcp_seq.h> #include <netinet/tcp_timer.h> #include <netinet/tcp_var.h> +#ifndef MTUDISC #include <netinet/tcpip.h> +#endif /* not MTUDISC */ #define RTPRF_OURS RTF_PROTO3 /* set on routes we manage */ @@ -104,16 +106,22 @@ in_addroute(void *v_arg, void *n_arg, struct radix_node_head *head, if (!rt->rt_rmx.rmx_recvpipe && !(rt->rt_rmx.rmx_locks & RTV_RPIPE)) rt->rt_rmx.rmx_recvpipe = tcp_recvspace; +#ifndef MTUDISC /* * Finally, set an MTU, again duplicating logic in TCP. * The in_localaddr() business will go away when we have * proper PMTU discovery. */ +#endif /* not MTUDISC */ if (!rt->rt_rmx.rmx_mtu && !(rt->rt_rmx.rmx_locks & RTV_MTU) && rt->rt_ifp) +#ifndef MTUDISC rt->rt_rmx.rmx_mtu = (in_localaddr(sin->sin_addr) ? rt->rt_ifp->if_mtu : tcp_mssdflt + sizeof(struct tcpiphdr)); +#else /* MTUDISC */ + rt->rt_rmx.rmx_mtu = rt->rt_ifp->if_mtu; +#endif /* MTUDISC */ return rn_addroute(v_arg, n_arg, head, treenodes); } |