| Index: net/quic/chromium/quic_stream_factory.cc
|
| diff --git a/net/quic/chromium/quic_stream_factory.cc b/net/quic/chromium/quic_stream_factory.cc
|
| index 37a59dd64d54f95d1b8012f486053076412589b5..e2f9b0f660855b8fb64a4122216d35f0f177045e 100644
|
| --- a/net/quic/chromium/quic_stream_factory.cc
|
| +++ b/net/quic/chromium/quic_stream_factory.cc
|
| @@ -743,6 +743,7 @@ QuicStreamFactory::QuicStreamFactory(
|
| bool allow_server_migration,
|
| bool force_hol_blocking,
|
| bool race_cert_verification,
|
| + bool quic_do_not_fragment,
|
| const QuicTagVector& connection_options,
|
| bool enable_token_binding)
|
| : require_confirmation_(true),
|
| @@ -800,6 +801,7 @@ QuicStreamFactory::QuicStreamFactory(
|
| allow_server_migration_(allow_server_migration),
|
| force_hol_blocking_(force_hol_blocking),
|
| race_cert_verification_(race_cert_verification),
|
| + quic_do_not_fragment_(quic_do_not_fragment),
|
| port_seed_(random_generator_->RandUint64()),
|
| check_persisted_supports_quic_(true),
|
| has_initialized_data_(false),
|
| @@ -1705,11 +1707,13 @@ int QuicStreamFactory::ConfigureSocket(DatagramClientSocket* socket,
|
| return rv;
|
| }
|
|
|
| - rv = socket->SetDoNotFragment();
|
| - // SetDoNotFragment is not implemented on all platforms, so ignore errors.
|
| - if (rv != OK && rv != ERR_NOT_IMPLEMENTED) {
|
| - HistogramCreateSessionFailure(CREATION_ERROR_SETTING_DO_NOT_FRAGMENT);
|
| - return rv;
|
| + if (quic_do_not_fragment_) {
|
| + rv = socket->SetDoNotFragment();
|
| + // SetDoNotFragment is not implemented on all platforms, so ignore errors.
|
| + if (rv != OK && rv != ERR_NOT_IMPLEMENTED) {
|
| + HistogramCreateSessionFailure(CREATION_ERROR_SETTING_DO_NOT_FRAGMENT);
|
| + return rv;
|
| + }
|
| }
|
|
|
| // Set a buffer large enough to contain the initial CWND's worth of packet
|
|
|