Move InternetChecksum from quic/qbone/ to quic/core/
Need to generate some packets and checksums in some non-QBONE-specific tests.
PiperOrigin-RevId: 589913844
diff --git a/build/source_list.bzl b/build/source_list.bzl
index ef5bcf4..430c8c8 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -237,6 +237,7 @@
"quic/core/http/spdy_utils.h",
"quic/core/http/web_transport_http3.h",
"quic/core/http/web_transport_stream_adapter.h",
+ "quic/core/internet_checksum.h",
"quic/core/legacy_quic_stream_id_manager.h",
"quic/core/packet_number_indexed_queue.h",
"quic/core/proto/cached_network_parameters_proto.h",
@@ -577,6 +578,7 @@
"quic/core/http/spdy_utils.cc",
"quic/core/http/web_transport_http3.cc",
"quic/core/http/web_transport_stream_adapter.cc",
+ "quic/core/internet_checksum.cc",
"quic/core/legacy_quic_stream_id_manager.cc",
"quic/core/qpack/qpack_blocking_manager.cc",
"quic/core/qpack/qpack_decoded_headers_accumulator.cc",
@@ -1202,6 +1204,7 @@
"quic/core/http/quic_spdy_stream_test.cc",
"quic/core/http/spdy_utils_test.cc",
"quic/core/http/web_transport_http3_test.cc",
+ "quic/core/internet_checksum_test.cc",
"quic/core/legacy_quic_stream_id_manager_test.cc",
"quic/core/packet_number_indexed_queue_test.cc",
"quic/core/qpack/qpack_blocking_manager_test.cc",
@@ -1544,7 +1547,6 @@
"quic/qbone/mock_qbone_client.h",
"quic/qbone/mock_qbone_server_session.h",
"quic/qbone/platform/icmp_packet.h",
- "quic/qbone/platform/internet_checksum.h",
"quic/qbone/platform/ip_range.h",
"quic/qbone/platform/kernel_interface.h",
"quic/qbone/platform/mock_kernel.h",
@@ -1580,8 +1582,6 @@
"quic/qbone/bonnet/tun_device_test.cc",
"quic/qbone/platform/icmp_packet.cc",
"quic/qbone/platform/icmp_packet_test.cc",
- "quic/qbone/platform/internet_checksum.cc",
- "quic/qbone/platform/internet_checksum_test.cc",
"quic/qbone/platform/ip_range.cc",
"quic/qbone/platform/ip_range_test.cc",
"quic/qbone/platform/netlink.cc",
diff --git a/build/source_list.gni b/build/source_list.gni
index 7695f80..2df04d0 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -237,6 +237,7 @@
"src/quiche/quic/core/http/spdy_utils.h",
"src/quiche/quic/core/http/web_transport_http3.h",
"src/quiche/quic/core/http/web_transport_stream_adapter.h",
+ "src/quiche/quic/core/internet_checksum.h",
"src/quiche/quic/core/legacy_quic_stream_id_manager.h",
"src/quiche/quic/core/packet_number_indexed_queue.h",
"src/quiche/quic/core/proto/cached_network_parameters_proto.h",
@@ -577,6 +578,7 @@
"src/quiche/quic/core/http/spdy_utils.cc",
"src/quiche/quic/core/http/web_transport_http3.cc",
"src/quiche/quic/core/http/web_transport_stream_adapter.cc",
+ "src/quiche/quic/core/internet_checksum.cc",
"src/quiche/quic/core/legacy_quic_stream_id_manager.cc",
"src/quiche/quic/core/qpack/qpack_blocking_manager.cc",
"src/quiche/quic/core/qpack/qpack_decoded_headers_accumulator.cc",
@@ -1203,6 +1205,7 @@
"src/quiche/quic/core/http/quic_spdy_stream_test.cc",
"src/quiche/quic/core/http/spdy_utils_test.cc",
"src/quiche/quic/core/http/web_transport_http3_test.cc",
+ "src/quiche/quic/core/internet_checksum_test.cc",
"src/quiche/quic/core/legacy_quic_stream_id_manager_test.cc",
"src/quiche/quic/core/packet_number_indexed_queue_test.cc",
"src/quiche/quic/core/qpack/qpack_blocking_manager_test.cc",
@@ -1548,7 +1551,6 @@
"src/quiche/quic/qbone/mock_qbone_client.h",
"src/quiche/quic/qbone/mock_qbone_server_session.h",
"src/quiche/quic/qbone/platform/icmp_packet.h",
- "src/quiche/quic/qbone/platform/internet_checksum.h",
"src/quiche/quic/qbone/platform/ip_range.h",
"src/quiche/quic/qbone/platform/kernel_interface.h",
"src/quiche/quic/qbone/platform/mock_kernel.h",
@@ -1584,8 +1586,6 @@
"src/quiche/quic/qbone/bonnet/tun_device_test.cc",
"src/quiche/quic/qbone/platform/icmp_packet.cc",
"src/quiche/quic/qbone/platform/icmp_packet_test.cc",
- "src/quiche/quic/qbone/platform/internet_checksum.cc",
- "src/quiche/quic/qbone/platform/internet_checksum_test.cc",
"src/quiche/quic/qbone/platform/ip_range.cc",
"src/quiche/quic/qbone/platform/ip_range_test.cc",
"src/quiche/quic/qbone/platform/netlink.cc",
diff --git a/build/source_list.json b/build/source_list.json
index baee204..4b1ae54 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -236,6 +236,7 @@
"quiche/quic/core/http/spdy_utils.h",
"quiche/quic/core/http/web_transport_http3.h",
"quiche/quic/core/http/web_transport_stream_adapter.h",
+ "quiche/quic/core/internet_checksum.h",
"quiche/quic/core/legacy_quic_stream_id_manager.h",
"quiche/quic/core/packet_number_indexed_queue.h",
"quiche/quic/core/proto/cached_network_parameters_proto.h",
@@ -576,6 +577,7 @@
"quiche/quic/core/http/spdy_utils.cc",
"quiche/quic/core/http/web_transport_http3.cc",
"quiche/quic/core/http/web_transport_stream_adapter.cc",
+ "quiche/quic/core/internet_checksum.cc",
"quiche/quic/core/legacy_quic_stream_id_manager.cc",
"quiche/quic/core/qpack/qpack_blocking_manager.cc",
"quiche/quic/core/qpack/qpack_decoded_headers_accumulator.cc",
@@ -1202,6 +1204,7 @@
"quiche/quic/core/http/quic_spdy_stream_test.cc",
"quiche/quic/core/http/spdy_utils_test.cc",
"quiche/quic/core/http/web_transport_http3_test.cc",
+ "quiche/quic/core/internet_checksum_test.cc",
"quiche/quic/core/legacy_quic_stream_id_manager_test.cc",
"quiche/quic/core/packet_number_indexed_queue_test.cc",
"quiche/quic/core/qpack/qpack_blocking_manager_test.cc",
@@ -1547,7 +1550,6 @@
"quiche/quic/qbone/mock_qbone_client.h",
"quiche/quic/qbone/mock_qbone_server_session.h",
"quiche/quic/qbone/platform/icmp_packet.h",
- "quiche/quic/qbone/platform/internet_checksum.h",
"quiche/quic/qbone/platform/ip_range.h",
"quiche/quic/qbone/platform/kernel_interface.h",
"quiche/quic/qbone/platform/mock_kernel.h",
@@ -1583,8 +1585,6 @@
"quiche/quic/qbone/bonnet/tun_device_test.cc",
"quiche/quic/qbone/platform/icmp_packet.cc",
"quiche/quic/qbone/platform/icmp_packet_test.cc",
- "quiche/quic/qbone/platform/internet_checksum.cc",
- "quiche/quic/qbone/platform/internet_checksum_test.cc",
"quiche/quic/qbone/platform/ip_range.cc",
"quiche/quic/qbone/platform/ip_range_test.cc",
"quiche/quic/qbone/platform/netlink.cc",
diff --git a/quiche/quic/qbone/platform/internet_checksum.cc b/quiche/quic/core/internet_checksum.cc
similarity index 93%
rename from quiche/quic/qbone/platform/internet_checksum.cc
rename to quiche/quic/core/internet_checksum.cc
index f9901e5..746bd00 100644
--- a/quiche/quic/qbone/platform/internet_checksum.cc
+++ b/quiche/quic/core/internet_checksum.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "quiche/quic/qbone/platform/internet_checksum.h"
+#include "quiche/quic/core/internet_checksum.h"
#include <stdint.h>
#include <string.h>
diff --git a/quiche/quic/qbone/platform/internet_checksum.h b/quiche/quic/core/internet_checksum.h
similarity index 76%
rename from quiche/quic/qbone/platform/internet_checksum.h
rename to quiche/quic/core/internet_checksum.h
index 85d2415..1faa0f0 100644
--- a/quiche/quic/qbone/platform/internet_checksum.h
+++ b/quiche/quic/core/internet_checksum.h
@@ -2,16 +2,18 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef QUICHE_QUIC_QBONE_PLATFORM_INTERNET_CHECKSUM_H_
-#define QUICHE_QUIC_QBONE_PLATFORM_INTERNET_CHECKSUM_H_
+#ifndef QUICHE_QUIC_CORE_INTERNET_CHECKSUM_H_
+#define QUICHE_QUIC_CORE_INTERNET_CHECKSUM_H_
#include <cstddef>
#include <cstdint>
+#include "quiche/common/platform/api/quiche_export.h"
+
namespace quic {
// Incrementally compute an Internet header checksum as described in RFC 1071.
-class InternetChecksum {
+class QUICHE_EXPORT InternetChecksum {
public:
// Update the checksum with the specified data. Note that while the checksum
// is commutative, the data has to be supplied in the units of two-byte words.
@@ -29,4 +31,4 @@
} // namespace quic
-#endif // QUICHE_QUIC_QBONE_PLATFORM_INTERNET_CHECKSUM_H_
+#endif // QUICHE_QUIC_CORE_INTERNET_CHECKSUM_H_
diff --git a/quiche/quic/qbone/platform/internet_checksum_test.cc b/quiche/quic/core/internet_checksum_test.cc
similarity index 97%
rename from quiche/quic/qbone/platform/internet_checksum_test.cc
rename to quiche/quic/core/internet_checksum_test.cc
index 8033c2e..f18ccf7 100644
--- a/quiche/quic/qbone/platform/internet_checksum_test.cc
+++ b/quiche/quic/core/internet_checksum_test.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "quiche/quic/qbone/platform/internet_checksum.h"
+#include "quiche/quic/core/internet_checksum.h"
#include "quiche/quic/platform/api/quic_test.h"
diff --git a/quiche/quic/qbone/platform/icmp_packet.cc b/quiche/quic/qbone/platform/icmp_packet.cc
index 79df687..49ff1f6 100644
--- a/quiche/quic/qbone/platform/icmp_packet.cc
+++ b/quiche/quic/qbone/platform/icmp_packet.cc
@@ -7,7 +7,7 @@
#include <netinet/ip6.h>
#include "absl/strings/string_view.h"
-#include "quiche/quic/qbone/platform/internet_checksum.h"
+#include "quiche/quic/core/internet_checksum.h"
#include "quiche/common/quiche_callbacks.h"
#include "quiche/common/quiche_endian.h"
diff --git a/quiche/quic/qbone/platform/tcp_packet.cc b/quiche/quic/qbone/platform/tcp_packet.cc
index 9c2f409..1d70e4c 100644
--- a/quiche/quic/qbone/platform/tcp_packet.cc
+++ b/quiche/quic/qbone/platform/tcp_packet.cc
@@ -8,8 +8,8 @@
#include "absl/base/optimization.h"
#include "absl/strings/string_view.h"
+#include "quiche/quic/core/internet_checksum.h"
#include "quiche/quic/platform/api/quic_logging.h"
-#include "quiche/quic/qbone/platform/internet_checksum.h"
#include "quiche/common/quiche_callbacks.h"
#include "quiche/common/quiche_endian.h"
diff --git a/quiche/quic/qbone/qbone_packet_processor.cc b/quiche/quic/qbone/qbone_packet_processor.cc
index 40228dd..75cf6d1 100644
--- a/quiche/quic/qbone/qbone_packet_processor.cc
+++ b/quiche/quic/qbone/qbone_packet_processor.cc
@@ -12,11 +12,11 @@
#include "absl/base/optimization.h"
#include "absl/strings/string_view.h"
+#include "quiche/quic/core/internet_checksum.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
#include "quiche/quic/platform/api/quic_ip_address_family.h"
#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/quic/qbone/platform/icmp_packet.h"
-#include "quiche/quic/qbone/platform/internet_checksum.h"
#include "quiche/quic/qbone/platform/tcp_packet.h"
#include "quiche/common/quiche_endian.h"