diff --git a/quiche/common/quiche_protocol_flags_list.h b/quiche/common/quiche_protocol_flags_list.h
index 41438b7..0372f35 100644
--- a/quiche/common/quiche_protocol_flags_list.h
+++ b/quiche/common/quiche_protocol_flags_list.h
@@ -286,4 +286,8 @@
     "If QuicConnection::GetUnackedMapInitialCapacity() already specifies a "
     "number, the larger of two applies.")
 
+QUICHE_PROTOCOL_FLAG(
+    uint32_t, quic_buffered_connections_limit, 100,
+    "Limit on the number of connections in the buffered packet store.")
+
 #endif
diff --git a/quiche/quic/core/quic_buffered_packet_store.cc b/quiche/quic/core/quic_buffered_packet_store.cc
index 59b6679..64d843b 100644
--- a/quiche/quic/core/quic_buffered_packet_store.cc
+++ b/quiche/quic/core/quic_buffered_packet_store.cc
@@ -47,12 +47,6 @@
 using BufferedPacketList = QuicBufferedPacketStore::BufferedPacketList;
 using EnqueuePacketResult = QuicBufferedPacketStore::EnqueuePacketResult;
 
-// Max number of connections this store can keep track.
-static const size_t kDefaultMaxConnectionsInStore = 100;
-// Up to half of the capacity can be used for storing non-CHLO packets.
-static const size_t kMaxConnectionsWithoutCHLO =
-    kDefaultMaxConnectionsInStore / 2;
-
 namespace {
 
 // This alarm removes expired entries in map each time this alarm fires.
@@ -535,7 +529,7 @@
 
 bool QuicBufferedPacketStore::ShouldNotBufferPacket(bool is_chlo) const {
   const bool is_store_full =
-      num_buffered_sessions_ >= kDefaultMaxConnectionsInStore;
+      num_buffered_sessions_ >= GetQuicFlag(quic_buffered_connections_limit);
 
   if (is_chlo) {
     return is_store_full;
@@ -547,8 +541,8 @@
       << ", num_connections_with_chlo: " << num_buffered_sessions_with_chlo_;
   size_t num_connections_without_chlo =
       num_buffered_sessions_ - num_buffered_sessions_with_chlo_;
-  bool reach_non_chlo_limit =
-      num_connections_without_chlo >= kMaxConnectionsWithoutCHLO;
+  bool reach_non_chlo_limit = num_connections_without_chlo >=
+                              GetQuicFlag(quic_buffered_connections_limit) / 2;
 
   return is_store_full || reach_non_chlo_limit;
 }
diff --git a/quiche/quic/core/quic_buffered_packet_store_test.cc b/quiche/quic/core/quic_buffered_packet_store_test.cc
index 9490506..01bb4f5 100644
--- a/quiche/quic/core/quic_buffered_packet_store_test.cc
+++ b/quiche/quic/core/quic_buffered_packet_store_test.cc
@@ -45,13 +45,13 @@
 #include "quiche/common/quiche_endian.h"
 
 namespace quic {
-static const size_t kDefaultMaxConnectionsInStore = 100;
-static const size_t kMaxConnectionsWithoutCHLO =
-    kDefaultMaxConnectionsInStore / 2;
-
 namespace test {
 namespace {
 
+const size_t kDefaultMaxConnectionsInStore =
+    GetQuicFlag(quic_buffered_connections_limit);
+const size_t kMaxConnectionsWithoutCHLO = kDefaultMaxConnectionsInStore / 2;
+
 const std::optional<ParsedClientHello> kNoParsedChlo;
 const std::optional<ParsedClientHello> kDefaultParsedChlo =
     std::make_optional<ParsedClientHello>();
diff --git a/quiche/quic/core/quic_dispatcher_test.cc b/quiche/quic/core/quic_dispatcher_test.cc
index 9e83738..2877395 100644
--- a/quiche/quic/core/quic_dispatcher_test.cc
+++ b/quiche/quic/core/quic_dispatcher_test.cc
@@ -83,9 +83,6 @@
 using testing::WithArg;
 using testing::WithoutArgs;
 
-static const size_t kDefaultMaxConnectionsInStore = 100;
-static const size_t kMaxConnectionsWithoutCHLO =
-    kDefaultMaxConnectionsInStore / 2;
 static const int16_t kMaxNumSessionsToCreate = 16;
 
 namespace quic {
@@ -95,6 +92,10 @@
 const QuicConnectionId kReturnConnectionId{
     {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07}};
 
+const size_t kDefaultMaxConnectionsInStore =
+    GetQuicFlag(quic_buffered_connections_limit);
+const size_t kMaxConnectionsWithoutCHLO = kDefaultMaxConnectionsInStore / 2;
+
 class TestQuicSpdyServerSession : public QuicServerSessionBase {
  public:
   TestQuicSpdyServerSession(const QuicConfig& config,
