| Index: net/quic/quic_client_session.cc
|
| diff --git a/net/quic/quic_client_session.cc b/net/quic/quic_client_session.cc
|
| index 60bcbb50b386a8ba1f588cf1dcee635df78c346f..a12b1d042199d4fb1a36b8eecdd4b5fc8b88d1a5 100644
|
| --- a/net/quic/quic_client_session.cc
|
| +++ b/net/quic/quic_client_session.cc
|
| @@ -34,6 +34,9 @@ namespace {
|
| // before allowing the requests to possibly proceed over TCP.
|
| const int k0RttHandshakeTimeoutMs = 300;
|
|
|
| +// IPv6 packets have an additional 20 bytes of overhead than IPv4 packets.
|
| +const size_t kAdditionalOverheadForIPv6 = 20;
|
| +
|
| // Histograms for tracking down the crashes from http://crbug.com/354669
|
| // Note: these values must be kept in sync with the corresponding values in:
|
| // tools/metrics/histograms/histograms.xml
|
| @@ -170,6 +173,12 @@ QuicClientSession::QuicClientSession(
|
| going_away_(false),
|
| weak_factory_(this) {
|
| connection->set_debug_visitor(logger_);
|
| + IPEndPoint address;
|
| + if (socket && socket->GetLocalAddress(&address) == OK &&
|
| + address.GetFamily() == ADDRESS_FAMILY_IPV6) {
|
| + connection->set_max_packet_length(
|
| + connection->max_packet_length() - kAdditionalOverheadForIPv6);
|
| + }
|
| }
|
|
|
| void QuicClientSession::InitializeSession(
|
|
|