Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move the direct self loop check later to HttpSM::do_http_server_open #7069

Merged
merged 1 commit into from
Aug 6, 2020

Conversation

SolidWallOfCode
Copy link
Member

to just before connection upstream.

See #7052.

@SolidWallOfCode SolidWallOfCode added this to the 10.0.0 milestone Jul 30, 2020
@SolidWallOfCode SolidWallOfCode self-assigned this Jul 30, 2020
@SolidWallOfCode SolidWallOfCode added this to In progress in 9.0.x Branch and Release via automation Jul 30, 2020
@randall randall linked an issue Jul 30, 2020 that may be closed by this pull request
9.0.x Branch and Release automation moved this from In progress to Ready to Merge Jul 30, 2020
@jrushford
Copy link
Contributor

jrushford commented Jul 31, 2020

@SolidWallOfCode we have a use case where we want a peering edge cache group. Say we have an edge cache group of cache1, cache2, and cache3. Upstream, there is a mid-tier cache group in front of the origins, mid-tier1, and mid-tier2. We want to send a client to an edge in the edge cache group where the parent's are an edge's peers and itself so as to cache a large video across the edge cache group and reduce lookups to the mid-tier using two remaps and two parent.config entries.

remap.config on cache1:
map http://cache1.foo.com http://cdn-back-remap.foo.com
map http://cdn-back-remap.foo.com http://cdn-origin.foo.com

remap.config on cache2:
map http://cache2.foo.com http://cdn-back-remap.foo.com
map http://cdn-back-remap.foo.com http://cdn-origin.foo.com

remap.config on cache3:
map http://cache3.foo.com http://cdn-back-remap.foo.com
map http://cdn-back-remap.foo.com http://cdn-origin.foo.com

parent.config on cache1, cache2, cache3
dest_domain=cdn-origin.foo.com parent="mid-tier1:80|1.0;mid-tier2:80|1.0" round_robin=consistent_hash go_direct=false
dest_domain=cdn-back-remap.foo.com parent="cache1:80|1.0;cache2:80|1.0;cache3:80|1.0" round_robin=consistent_hash go_direct=false ignore_self_detect=true

With the above parent.configs, each edge, cache1, cache2, and cache3 will mark themselves down for SELF DETECTION but we say ignore the SELF DETECTION because ignore_self_detect for the parent.config entry is true.

A request comes into cache1 on the first remap and is remapped to cdn-back-remap.foo.com. it misses and hashes to one of the parents in the local edge cache group, possibly to itself. when the request is forwarded to the back-remap, it gets remapped to the origin and if it misses, goes upstream to the mid-tiers and possibly the origin and gets cached locally on the edge. In the end, a large asset is spread across the 3 edge caches drastically reducing the necessity to go to the higher tier or origin and makes better use of the cache in the edge group. With the two remaps it does not cause any looping issues as long as you're careful. In 8.1 a host will get marked down by parent selection if it detects itself in the parent list so, that's the reasoning for the ignore_self_detect flag. Normally the self detection in parent selection prevents looping.

This scenario also required setting proxy.config.http.insert_request_via_str INT 0 to prevent loop detection in HttpTransact.

With these config settings, we're able to safely build a peering edge cache group to better utilize the edge's cache as a whole in ATS 8.1. Now with that said, this is experimental and we have nothing in production yet that utilizes it. We were taking advantage of the fact that we could loop safely one time in order to do this but with this PR, it will no longer be possible.

@SolidWallOfCode
Copy link
Member Author

Hrrrrm. I was specifically requested to detect and prevent direct looping on parent selection. A complaint about the original logic was it failed to detect exactly this situation. So it's breaking you by design (which in a sense is good, because that proves it solved one of the two problems the PR was addressing).

Since your stuff is currently experimental, and this fixes current production problems, I think we should merge it and then look for a fix for you. You'll have to hash it out with @vmamidi and his crew. I will ponder some approaches. Off the cuff,

  • plugin API to disable the self loop check.
  • configuration variable (which, frankly, will end up being the same as the previous).
  • something in the HostDB/DNS record that says "OK to loop".
  • something set by parent selection in this case to disable the check.

@jrushford
Copy link
Contributor

jrushford commented Aug 1, 2020

Since ATS 8, Parent selection has build in loop prevention in that if you list the cache itself as a parent to itself in the parent list, parent selection will automatically mark it down for SELF DETECT and will never choose itself unless you disable self detection with ignore_self_detect. I know that apple reported that PR #5767 broke parent selection and it was backed out.

Copy link
Contributor

@jrushford jrushford left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is okay but, I'm going to create an issue on it as I want to have an overridable configuration variable to disable the loop check per remap so that we may implement the edge peering as described here.

@jp557198
Copy link

jp557198 commented Aug 3, 2020

ATS 7.1.4

As a fyi.. we ran into this problem during our edge peering lab testing. This was my observation:

"Proxy cycle is occurring because the proxy is making a request to itself.. ATS code compares the server and client via string values.
See the below traffic.out and corresponding code.
Maybe we can try playing with the via string(proxy_request_via_string)"

To 'fix' this issue, we simply set proxy_request_via_string to 0. Once set, a child was able to peer to itself.

Side note: Edge/Child peering is currently soaking in prod and has worked to significantly increase HIT rate, as well as lower storage requirements(content/library sharding)

@bryancall bryancall merged commit 07dad5f into apache:master Aug 6, 2020
9.0.x Branch and Release automation moved this from Ready to Merge to Cherry Pick Aug 6, 2020
@bryancall
Copy link
Contributor

bryancall commented Aug 6, 2020

@jp557198 Sounds like we might need to have another change to make parent proxy work with self.

What does your remap rule look like where you were getting proxy cycles? If the from and the to are the same we should need this PR.

bryancall pushed a commit that referenced this pull request Aug 6, 2020
…just before connection upstream. (#7069)

This closed #7052

(cherry picked from commit 07dad5f)
@bryancall bryancall removed this from Cherry Pick in 9.0.x Branch and Release Aug 6, 2020
@bryancall bryancall modified the milestones: 10.0.0, 9.0.0 Aug 6, 2020
@bryancall
Copy link
Contributor

Cherry picked to 9.0.x

maskit added a commit that referenced this pull request Aug 12, 2020
* master:
  Adding autopep8 as a pre-commit hook. (#7071)
  Refresh proxy protocol diagram (#7095)
  Skip docs builds if there are no changes in the doc dir and files it includes (#7088)
  Remove more deadcode (#7098)
  destroy threads after job done (#7083)
  Fix compilation error - missing '&' operator (#7093)
  Adds description for ssl_ticket_number in ssl_multicert docs (#7091)
  Ran clang-tidy over the source tree (#7077)
  Move the direct self loop check later to HttpSM::do_http_server_open just before connection upstream. (#7069)
maskit added a commit to maskit/trafficserver that referenced this pull request Aug 12, 2020
commit 8c114c0
Merge: f39e397 b527464
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Aug 13 07:31:56 2020 +0900

    Merge branch 'master' into quic-latest

    * master:
      Adding autopep8 as a pre-commit hook. (apache#7071)
      Refresh proxy protocol diagram (apache#7095)
      Skip docs builds if there are no changes in the doc dir and files it includes (apache#7088)
      Remove more deadcode (apache#7098)
      destroy threads after job done (apache#7083)
      Fix compilation error - missing '&' operator (apache#7093)
      Adds description for ssl_ticket_number in ssl_multicert docs (apache#7091)
      Ran clang-tidy over the source tree (apache#7077)
      Move the direct self loop check later to HttpSM::do_http_server_open just before connection upstream. (apache#7069)

commit f39e397
Merge: d09a757 2219cee
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Aug 6 09:08:46 2020 +0900

    Merge branch 'master' into quic-latest

    * master:
      Signal WRITE_COMPLETE regardless of transmission progress (apache#7062)
      Converts files to #pragma once (apache#7089)
      Fix eval_ip compile - missing const. (apache#7087)
      Fix a crash on connection migration to the advertised preferred address (apache#7080)
      Update and run the autopep8 make target (apache#7070)
      Fixes no_content_length status code description in docs (apache#7086)
      const-ify quic/http3 code (apache#7084)
      Fixes build warnings in maxmind_acl (apache#7085)
      Add TS_USE_QUIC to traffic_layout info (apache#7074)
      Added support for out of tree builds with vscode (apache#7072)
      constify Print() methods and other low hanging fruit (apache#7068)
      Updating to AuTest 1.8.1. (apache#7065)
      Use system include-style for STL and OpenSSL headers (apache#7066)
      tests: gitignore ssl-delay-server binary (apache#7067)

     Conflicts:
    	iocore/net/quic/QUICLossDetector.cc
    	iocore/net/quic/QUICLossDetector.h

commit d09a757
Author: Randall Meyer <rrm@apache.org>
Date:   Tue Aug 4 13:52:53 2020 -0700

    const-ify quic/http3 code (apache#7079)

commit 84e4c8e
Merge: 50937c0 3087f16
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Fri Jul 31 10:24:13 2020 +0900

    Merge branch 'master' into quic-latest

    * master:
      Fix a crash on active timeout on QUIC connections (apache#7059)
      Don't make an error on receiving retransmitted handshake data (apache#7061)
      Document proxy.config.http.cache.post_method. (apache#7060)
      Quote out lists of servers and domains in splitdns.config example (apache#7057)
      Fix proxy.process.http.current_client_connections (apache#7056)
      Fixed CLIENT-URL to use the pristine client URL (apache#7050)
      Removes FIXME that is unlikely to be fixed at this point in the project history (apache#7058)
      Move to denylists and allowlists (apache#7034)
      Avoid unnecessary copying of STL map for QUICTPConfigQCP class. (apache#7039)

commit 50937c0
Merge: f6e1744 9467a2c
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Tue Jul 28 10:08:26 2020 +0900

    Merge branch 'master' into quic-latest

    * master:
      Fixes spelling/license formatting in traffic_dump plugin (apache#7047)
      Fixes spelling in docs (apache#7048)
      Fixes spelling H3-related code (apache#7046)
      Cleans up various versions checks (apache#7049)
      Fix a typo (apache#7043)

     Conflicts:
    	iocore/net/quic/QUICHandshake.cc
    	iocore/net/quic/QUICLossDetector.cc
    	iocore/net/quic/QUICNewRenoCongestionController.cc
    	iocore/net/quic/test/test_QUICPacketFactory.cc

commit f6e1744
Merge: 83e1da7 549c626
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon Jul 27 11:11:58 2020 +0900

    Merge branch 'master' into quic-latest

    * master:
      Make tls_conn_timeout test more reliable in CI (apache#7018)
      Remove deprecated verify.server for 9.0 (apache#7040)
      Updated GitHub description and homepage URL to be https (apache#7019)
      Add virtual destructor to QUICTPConfig. (apache#7036)
      Fix code to eliminate warning and enable feature (apache#7031)
      add a null check to avoid crashing (apache#7035)
      Squashed commit of the following: (apache#7000)
      Fixed problem with all "forced" volumes cache (apache#7028)
      Spacing tweaks to acl_filter_rule::print (apache#7026)
      Removes dead code from iocore/dns (apache#7025)
      Removes TODO (apache#7027)
      Add logic to resolve content-length transfer-encoding conflicts on response (apache#6992)
      Add memory_profile plugin (apache#7014)
      Fix typos relating to tls_bridge (apache#7011)
      slice: clean up of created 502 response header (apache#6919)
      Add new API / TSPluginDSOReloadEnable that overrides the configuration variable `proxy.config.plugin.dynamic_reload_mode` for a particular plugin. (apache#6880)
      Remove incorrect assert in inactivity timeout handling (apache#7012)
      Removes use of SPLIT_DNS macro (apache#7010)
      Fixed core when sending back a redirect and having an invalid server response (apache#7004)
      slice: fix throttle not work (apache#7008)
      Updates to thread scale factor (apache#7007)
      Added tasks and launch files for vscode, to configure, build and debug (apache#7005)
      NextHop Strategy Refactor and Fixes (apache#6782)
      Make the setting of the continuation handler safer. (apache#6996)
      ProtocolStack n -> count (apache#7006)
      Fix volume/stripe calcs when using forced volumes (apache#6995)
      Cleanup: Write error message on diags output instead of stderr (apache#6997)

     Conflicts:
    	iocore/net/P_QUICNetVConnection.h
    	iocore/net/P_QUICPacketHandler.h
    	iocore/net/QUICNetProcessor.cc
    	iocore/net/QUICNetVConnection.cc
    	iocore/net/QUICPacketHandler.cc
    	iocore/net/quic/Mock.h
    	iocore/net/quic/QUICCongestionController.h
    	iocore/net/quic/QUICContext.cc
    	iocore/net/quic/QUICContext.h
    	iocore/net/quic/QUICDebugNames.cc
    	iocore/net/quic/QUICFrame.cc
    	iocore/net/quic/QUICHandshake.cc
    	iocore/net/quic/QUICKeyGenerator.h
    	iocore/net/quic/QUICLossDetector.cc
    	iocore/net/quic/QUICLossDetector.h
    	iocore/net/quic/QUICNewRenoCongestionController.cc
    	iocore/net/quic/QUICPacket.cc
    	iocore/net/quic/QUICPacket.h
    	iocore/net/quic/QUICPacketFactory.cc
    	iocore/net/quic/QUICPacketFactory.h
    	iocore/net/quic/QUICRetryIntegrityTag.cc
    	iocore/net/quic/QUICRetryIntegrityTag.h
    	iocore/net/quic/QUICTLS.h
    	iocore/net/quic/QUICTLS_boringssl.cc
    	iocore/net/quic/QUICTLS_openssl.cc
    	iocore/net/quic/QUICTransportParameters.cc
    	iocore/net/quic/QUICTransportParameters.h
    	iocore/net/quic/QUICTypes.cc
    	iocore/net/quic/QUICTypes.h
    	iocore/net/quic/qlog/QLogListener.h
    	iocore/net/quic/test/test_QUICHandshakeProtocol.cc
    	iocore/net/quic/test/test_QUICLossDetector.cc
    	iocore/net/quic/test/test_QUICPacket.cc
    	iocore/net/quic/test/test_QUICPacketFactory.cc
    	iocore/net/quic/test/test_QUICPacketHeaderProtector.cc
    	iocore/net/quic/test/test_QUICStreamManager.cc
    	iocore/net/quic/test/test_QUICVersionNegotiator.cc
    	proxy/http/HttpProxyServerMain.cc
    	src/traffic_quic/quic_client.cc
    	src/tscore/ink_inet.cc

commit 83e1da7
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Wed Jul 22 23:26:56 2020 +0900

    Fix a crash on path validation

commit c74bd89
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Wed Jul 22 23:19:05 2020 +0900

    Fix a crash on traffic_quic

commit b4a0c8c
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Wed Jul 22 16:37:02 2020 +0900

    Update Congestion Control logic to draft-29

commit 53da240
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Wed Jul 22 11:40:18 2020 +0900

    Adjust debug log verbosity

commit 92a34b0
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Tue Jul 21 12:04:00 2020 +0900

    Fix infinite PING

commit 42c4054
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Jul 9 10:16:04 2020 +0900

    Update Loss Detection logic to draft-29

commit e8109c0
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Fri Jun 26 10:57:42 2020 +0900

    Update tests

commit 3a8cb4a
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Jun 25 14:58:47 2020 +0900

    Use different keys and nonces for Draft-27 and Draft-29

commit 37af625
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Jun 25 14:14:57 2020 +0900

    Use different salts for Draft-27 and Draft-29

commit 52e57fe
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon Jun 22 11:53:43 2020 +0900

    Rename SERVER_BUSY to CONNECTION_REFUSED

commit e5fb638
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon Jun 22 11:50:38 2020 +0900

    Update QUIC draft version numbers to 29

commit a9ef9b0
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Fri Jul 10 17:21:46 2020 +0900

    Update code for BoringSSL

commit 58cac98
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Jun 4 11:24:16 2020 +0900

    Don't include exercise version number provided by a client into VN packet

commit 47e1eb7
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Jun 4 10:45:14 2020 +0900

    Updates tests and fixes a couple of typoes

commit f41ca7b
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon Jun 1 12:46:32 2020 +0900

    Support both QUIC draft-27 and draft-28

commit 3a5b3c7
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu May 28 13:57:57 2020 +0900

    Add QUIC APPLICATION_ERROR error code

commit 0457e74
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu May 28 13:33:02 2020 +0900

    Add support for new Transport Parameters on draft-28

commit 2717ecc
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon May 25 11:46:49 2020 +0900

    Rename QUIC Transport Parameters

    ORIGINAL_CONNECTION_ID -> ORIGINAL_DESTINATION_CONNECTION_ID
    MAX_PACKET_SIZE -> MAX_UDP_PAYLOAD_SIZE

commit 9ef2167
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon May 25 10:34:54 2020 +0900

    Update QUIC draft version numbers to 28
maskit added a commit to maskit/trafficserver that referenced this pull request Aug 12, 2020
commit 4d579f4
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Aug 13 08:32:58 2020 +0900

    Fix docs

commit 8c114c0
Merge: f39e397 b527464
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Aug 13 07:31:56 2020 +0900

    Merge branch 'master' into quic-latest

    * master:
      Adding autopep8 as a pre-commit hook. (apache#7071)
      Refresh proxy protocol diagram (apache#7095)
      Skip docs builds if there are no changes in the doc dir and files it includes (apache#7088)
      Remove more deadcode (apache#7098)
      destroy threads after job done (apache#7083)
      Fix compilation error - missing '&' operator (apache#7093)
      Adds description for ssl_ticket_number in ssl_multicert docs (apache#7091)
      Ran clang-tidy over the source tree (apache#7077)
      Move the direct self loop check later to HttpSM::do_http_server_open just before connection upstream. (apache#7069)

commit f39e397
Merge: d09a757 2219cee
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Aug 6 09:08:46 2020 +0900

    Merge branch 'master' into quic-latest

    * master:
      Signal WRITE_COMPLETE regardless of transmission progress (apache#7062)
      Converts files to #pragma once (apache#7089)
      Fix eval_ip compile - missing const. (apache#7087)
      Fix a crash on connection migration to the advertised preferred address (apache#7080)
      Update and run the autopep8 make target (apache#7070)
      Fixes no_content_length status code description in docs (apache#7086)
      const-ify quic/http3 code (apache#7084)
      Fixes build warnings in maxmind_acl (apache#7085)
      Add TS_USE_QUIC to traffic_layout info (apache#7074)
      Added support for out of tree builds with vscode (apache#7072)
      constify Print() methods and other low hanging fruit (apache#7068)
      Updating to AuTest 1.8.1. (apache#7065)
      Use system include-style for STL and OpenSSL headers (apache#7066)
      tests: gitignore ssl-delay-server binary (apache#7067)

     Conflicts:
    	iocore/net/quic/QUICLossDetector.cc
    	iocore/net/quic/QUICLossDetector.h

commit d09a757
Author: Randall Meyer <rrm@apache.org>
Date:   Tue Aug 4 13:52:53 2020 -0700

    const-ify quic/http3 code (apache#7079)

commit 84e4c8e
Merge: 50937c0 3087f16
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Fri Jul 31 10:24:13 2020 +0900

    Merge branch 'master' into quic-latest

    * master:
      Fix a crash on active timeout on QUIC connections (apache#7059)
      Don't make an error on receiving retransmitted handshake data (apache#7061)
      Document proxy.config.http.cache.post_method. (apache#7060)
      Quote out lists of servers and domains in splitdns.config example (apache#7057)
      Fix proxy.process.http.current_client_connections (apache#7056)
      Fixed CLIENT-URL to use the pristine client URL (apache#7050)
      Removes FIXME that is unlikely to be fixed at this point in the project history (apache#7058)
      Move to denylists and allowlists (apache#7034)
      Avoid unnecessary copying of STL map for QUICTPConfigQCP class. (apache#7039)

commit 50937c0
Merge: f6e1744 9467a2c
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Tue Jul 28 10:08:26 2020 +0900

    Merge branch 'master' into quic-latest

    * master:
      Fixes spelling/license formatting in traffic_dump plugin (apache#7047)
      Fixes spelling in docs (apache#7048)
      Fixes spelling H3-related code (apache#7046)
      Cleans up various versions checks (apache#7049)
      Fix a typo (apache#7043)

     Conflicts:
    	iocore/net/quic/QUICHandshake.cc
    	iocore/net/quic/QUICLossDetector.cc
    	iocore/net/quic/QUICNewRenoCongestionController.cc
    	iocore/net/quic/test/test_QUICPacketFactory.cc

commit f6e1744
Merge: 83e1da7 549c626
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon Jul 27 11:11:58 2020 +0900

    Merge branch 'master' into quic-latest

    * master:
      Make tls_conn_timeout test more reliable in CI (apache#7018)
      Remove deprecated verify.server for 9.0 (apache#7040)
      Updated GitHub description and homepage URL to be https (apache#7019)
      Add virtual destructor to QUICTPConfig. (apache#7036)
      Fix code to eliminate warning and enable feature (apache#7031)
      add a null check to avoid crashing (apache#7035)
      Squashed commit of the following: (apache#7000)
      Fixed problem with all "forced" volumes cache (apache#7028)
      Spacing tweaks to acl_filter_rule::print (apache#7026)
      Removes dead code from iocore/dns (apache#7025)
      Removes TODO (apache#7027)
      Add logic to resolve content-length transfer-encoding conflicts on response (apache#6992)
      Add memory_profile plugin (apache#7014)
      Fix typos relating to tls_bridge (apache#7011)
      slice: clean up of created 502 response header (apache#6919)
      Add new API / TSPluginDSOReloadEnable that overrides the configuration variable `proxy.config.plugin.dynamic_reload_mode` for a particular plugin. (apache#6880)
      Remove incorrect assert in inactivity timeout handling (apache#7012)
      Removes use of SPLIT_DNS macro (apache#7010)
      Fixed core when sending back a redirect and having an invalid server response (apache#7004)
      slice: fix throttle not work (apache#7008)
      Updates to thread scale factor (apache#7007)
      Added tasks and launch files for vscode, to configure, build and debug (apache#7005)
      NextHop Strategy Refactor and Fixes (apache#6782)
      Make the setting of the continuation handler safer. (apache#6996)
      ProtocolStack n -> count (apache#7006)
      Fix volume/stripe calcs when using forced volumes (apache#6995)
      Cleanup: Write error message on diags output instead of stderr (apache#6997)

     Conflicts:
    	iocore/net/P_QUICNetVConnection.h
    	iocore/net/P_QUICPacketHandler.h
    	iocore/net/QUICNetProcessor.cc
    	iocore/net/QUICNetVConnection.cc
    	iocore/net/QUICPacketHandler.cc
    	iocore/net/quic/Mock.h
    	iocore/net/quic/QUICCongestionController.h
    	iocore/net/quic/QUICContext.cc
    	iocore/net/quic/QUICContext.h
    	iocore/net/quic/QUICDebugNames.cc
    	iocore/net/quic/QUICFrame.cc
    	iocore/net/quic/QUICHandshake.cc
    	iocore/net/quic/QUICKeyGenerator.h
    	iocore/net/quic/QUICLossDetector.cc
    	iocore/net/quic/QUICLossDetector.h
    	iocore/net/quic/QUICNewRenoCongestionController.cc
    	iocore/net/quic/QUICPacket.cc
    	iocore/net/quic/QUICPacket.h
    	iocore/net/quic/QUICPacketFactory.cc
    	iocore/net/quic/QUICPacketFactory.h
    	iocore/net/quic/QUICRetryIntegrityTag.cc
    	iocore/net/quic/QUICRetryIntegrityTag.h
    	iocore/net/quic/QUICTLS.h
    	iocore/net/quic/QUICTLS_boringssl.cc
    	iocore/net/quic/QUICTLS_openssl.cc
    	iocore/net/quic/QUICTransportParameters.cc
    	iocore/net/quic/QUICTransportParameters.h
    	iocore/net/quic/QUICTypes.cc
    	iocore/net/quic/QUICTypes.h
    	iocore/net/quic/qlog/QLogListener.h
    	iocore/net/quic/test/test_QUICHandshakeProtocol.cc
    	iocore/net/quic/test/test_QUICLossDetector.cc
    	iocore/net/quic/test/test_QUICPacket.cc
    	iocore/net/quic/test/test_QUICPacketFactory.cc
    	iocore/net/quic/test/test_QUICPacketHeaderProtector.cc
    	iocore/net/quic/test/test_QUICStreamManager.cc
    	iocore/net/quic/test/test_QUICVersionNegotiator.cc
    	proxy/http/HttpProxyServerMain.cc
    	src/traffic_quic/quic_client.cc
    	src/tscore/ink_inet.cc

commit 83e1da7
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Wed Jul 22 23:26:56 2020 +0900

    Fix a crash on path validation

commit c74bd89
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Wed Jul 22 23:19:05 2020 +0900

    Fix a crash on traffic_quic

commit b4a0c8c
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Wed Jul 22 16:37:02 2020 +0900

    Update Congestion Control logic to draft-29

commit 53da240
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Wed Jul 22 11:40:18 2020 +0900

    Adjust debug log verbosity

commit 92a34b0
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Tue Jul 21 12:04:00 2020 +0900

    Fix infinite PING

commit 42c4054
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Jul 9 10:16:04 2020 +0900

    Update Loss Detection logic to draft-29

commit e8109c0
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Fri Jun 26 10:57:42 2020 +0900

    Update tests

commit 3a8cb4a
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Jun 25 14:58:47 2020 +0900

    Use different keys and nonces for Draft-27 and Draft-29

commit 37af625
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Jun 25 14:14:57 2020 +0900

    Use different salts for Draft-27 and Draft-29

commit 52e57fe
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon Jun 22 11:53:43 2020 +0900

    Rename SERVER_BUSY to CONNECTION_REFUSED

commit e5fb638
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon Jun 22 11:50:38 2020 +0900

    Update QUIC draft version numbers to 29

commit a9ef9b0
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Fri Jul 10 17:21:46 2020 +0900

    Update code for BoringSSL

commit 58cac98
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Jun 4 11:24:16 2020 +0900

    Don't include exercise version number provided by a client into VN packet

commit 47e1eb7
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu Jun 4 10:45:14 2020 +0900

    Updates tests and fixes a couple of typoes

commit f41ca7b
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon Jun 1 12:46:32 2020 +0900

    Support both QUIC draft-27 and draft-28

commit 3a5b3c7
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu May 28 13:57:57 2020 +0900

    Add QUIC APPLICATION_ERROR error code

commit 0457e74
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Thu May 28 13:33:02 2020 +0900

    Add support for new Transport Parameters on draft-28

commit 2717ecc
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon May 25 11:46:49 2020 +0900

    Rename QUIC Transport Parameters

    ORIGINAL_CONNECTION_ID -> ORIGINAL_DESTINATION_CONNECTION_ID
    MAX_PACKET_SIZE -> MAX_UDP_PAYLOAD_SIZE

commit 9ef2167
Author: Masakazu Kitajo <maskit@apache.org>
Date:   Mon May 25 10:34:54 2020 +0900

    Update QUIC draft version numbers to 28
brbzull0 pushed a commit to brbzull0/trafficserver that referenced this pull request Sep 2, 2020
whutwhu pushed a commit to whutwhu/trafficserver that referenced this pull request Nov 1, 2020
masaori335 pushed a commit to masaori335/trafficserver that referenced this pull request Jan 26, 2021
* asf/9.0.x:
  Updated ChangeLog
  destroy threads after job done (apache#7083)
  Add TS_USE_QUIC to traffic_layout info (apache#7074)
  Fixes no_content_length status code description in docs (apache#7086)
  Fix a crash on connection migration to the advertised preferred address (apache#7080)
  Converts files to #pragma once (apache#7089)
  Signal WRITE_COMPLETE regardless of transmission progress (apache#7062)
  Adds description for ssl_ticket_number in ssl_multicert docs (apache#7091)
  Updated ChangeLog
  Updated release notes for 9.0.0 to have new QUIC 27 version (apache#7081)
  Move the direct self loop check later to HttpSM::do_http_server_open just before connection upstream. (apache#7069)
  Ran clang-tidy over the source tree (apache#7078)
  Fix eval_ip compile - missing const. (apache#7087)
  Fixes build warnings in maxmind_acl (apache#7085)
  const-ify quic/http3 code (apache#7084)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Loop detection interferes with parent selection
5 participants