Page MenuHomeFreeBSD

D10135.diff
No OneTemporary

D10135.diff

Index: sys/netinet/tcp_output.c
===================================================================
--- sys/netinet/tcp_output.c
+++ sys/netinet/tcp_output.c
@@ -1377,9 +1377,6 @@
*/
#ifdef INET6
if (isipv6) {
- struct route_in6 ro;
-
- bzero(&ro, sizeof(ro));
/*
* we separately set hoplimit for every segment, since the
* user might want to change the value via setsockopt.
@@ -1411,13 +1408,13 @@
#endif
/* TODO: IPv6 IP6TOS_ECT bit on */
- error = ip6_output(m, tp->t_inpcb->in6p_outputopts, &ro,
+ error = ip6_output(m, tp->t_inpcb->in6p_outputopts,
+ &tp->t_inpcb->inp_route6,
((so->so_options & SO_DONTROUTE) ? IP_ROUTETOIF : 0),
NULL, NULL, tp->t_inpcb);
- if (error == EMSGSIZE && ro.ro_rt != NULL)
- mtu = ro.ro_rt->rt_mtu;
- RO_RTFREE(&ro);
+ if (error == EMSGSIZE && tp->t_inpcb->inp_route6.ro_rt != NULL)
+ mtu = tp->t_inpcb->inp_route6.ro_rt->rt_mtu;
}
#endif /* INET6 */
#if defined(INET) && defined(INET6)

File Metadata

Mime Type
text/plain
Expires
Fri, Aug 28, 11:55 AM (18 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37432536
Default Alt Text
D10135.diff (982 B)

Event Timeline