Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions dvaas/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ cc_library(
"//p4_infra/p4_pdpi:p4_runtime_session_extras",
"//p4_infra/p4_pdpi:sequencing",
"//p4_infra/p4_pdpi/packetlib:packetlib_cc_proto",
"//p4_infra/p4_pdpi/string_encodings:hex_string",
"//p4_infra/string_encodings:hex_string",
"//p4_symbolic/packet_synthesizer:coverage_goal_cc_proto",
"//p4_symbolic/packet_synthesizer:packet_synthesizer_cc_proto",
"//sai_p4/instantiations/google:p4_versions",
Expand Down Expand Up @@ -315,7 +315,7 @@ cc_library(
"//p4_infra/p4_pdpi/packetlib",
"//p4_infra/p4_pdpi/packetlib:bit_widths",
"//p4_infra/p4_pdpi/packetlib:packetlib_cc_proto",
"//p4_infra/p4_pdpi/string_encodings:hex_string",
"//p4_infra/string_encodings:hex_string",
"@com_google_absl//absl/container:btree",
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
Expand Down
8 changes: 4 additions & 4 deletions dvaas/dataplane_validation.cc
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
#include "p4_infra/p4_pdpi/p4_runtime_session_extras.h"
#include "p4_infra/p4_pdpi/packetlib/packetlib.pb.h"
#include "p4_infra/p4_pdpi/sequencing.h"
#include "p4_infra/p4_pdpi/string_encodings/hex_string.h"
#include "p4_infra/string_encodings/hex_string.h"
#include "p4_symbolic/packet_synthesizer/packet_synthesizer.pb.h"
#include "proto/gnmi/gnmi.pb.h"
#include "sai_p4/instantiations/google/versions.h"
Expand Down Expand Up @@ -550,9 +550,9 @@ absl::StatusOr<std::string> GetBmv2PacketHex(
constexpr auto kSubmitToIngressSaiP4PacketOutHeader =
std::bitset<16>(0b0000'0000'0100'0000);
return absl::StrCat(
absl::StripPrefix(
pdpi::BitsetToHexString(kSubmitToIngressSaiP4PacketOutHeader),
"0x"),
absl::StripPrefix(string_encodings::BitsetToHexString(
kSubmitToIngressSaiP4PacketOutHeader),
"0x"),
absl::StripPrefix(switch_input.packet().hex(), "0x"));
}
case SwitchInput::PACKET_OUT: {
Expand Down
7 changes: 4 additions & 3 deletions dvaas/test_vector.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#include "p4_infra/p4_pdpi/packetlib/bit_widths.h"
#include "p4_infra/p4_pdpi/packetlib/packetlib.h"
#include "p4_infra/p4_pdpi/packetlib/packetlib.pb.h"
#include "p4_infra/p4_pdpi/string_encodings/hex_string.h"
#include "p4_infra/string_encodings/hex_string.h"
#include "re2/re2.h"

namespace dvaas {
Expand Down Expand Up @@ -82,8 +82,9 @@ absl::StatusOr<int> ExtractIdFromTaggedPacket(absl::string_view raw_packet) {

absl::StatusOr<int> ExtractIdFromTaggedPacketInHex(
absl::string_view packet_hex) {
ASSIGN_OR_RETURN(std::string raw_packet,
pdpi::HexStringToByteString(absl::StrCat("0x", packet_hex)));
ASSIGN_OR_RETURN(
std::string raw_packet,
string_encodings::HexStringToByteString(absl::StrCat("0x", packet_hex)));
return dvaas::ExtractIdFromTaggedPacket(raw_packet);
}

Expand Down
6 changes: 3 additions & 3 deletions lib/p4rt/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ cc_library(
hdrs = ["p4rt_port.h"],
deps = [
"//gutil/gutil:status",
"//p4_infra/p4_pdpi/string_encodings:byte_string",
"//p4_infra/p4_pdpi/string_encodings:decimal_string",
"//p4_infra/p4_pdpi/string_encodings:hex_string",
"//p4_infra/string_encodings:byte_string",
"//p4_infra/string_encodings:decimal_string",
"//p4_infra/string_encodings:hex_string",
"@com_google_absl//absl/numeric:bits",
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
Expand Down
13 changes: 7 additions & 6 deletions lib/p4rt/p4rt_port.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@
#include "absl/strings/string_view.h"
#include "absl/types/span.h"
#include "gutil/gutil/status.h"
#include "p4_infra/p4_pdpi/string_encodings/byte_string.h"
#include "p4_infra/p4_pdpi/string_encodings/decimal_string.h"
#include "p4_infra/p4_pdpi/string_encodings/hex_string.h"
#include "p4_infra/string_encodings/byte_string.h"
#include "p4_infra/string_encodings/decimal_string.h"
#include "p4_infra/string_encodings/hex_string.h"

namespace pins_test {

absl::StatusOr<P4rtPortId> P4rtPortId::MakeFromP4rtEncoding(
absl::string_view p4rt_port_id) {
ASSIGN_OR_RETURN(uint32_t p4rt_port_id_int,
pdpi::DecimalStringToUint32(p4rt_port_id));
string_encodings::DecimalStringToUint32(p4rt_port_id));
return P4rtPortId(p4rt_port_id_int);
}

Expand Down Expand Up @@ -65,7 +65,7 @@ std::vector<P4rtPortId> P4rtPortId::MakeVectorFromOpenConfigEncodings(
absl::StatusOr<P4rtPortId> P4rtPortId::MakeFromHexstringEncoding(
absl::string_view hexstring_encoding) {
ASSIGN_OR_RETURN(uint32_t p4rt_port_id_int,
pdpi::HexStringToUint32(hexstring_encoding));
string_encodings::HexStringToUint32(hexstring_encoding));
return P4rtPortId(p4rt_port_id_int);
}

Expand All @@ -84,7 +84,8 @@ absl::StatusOr<std::string> P4rtPortId::GetBmv2P4rtEncoding() const {
"but the present P4RT port ID "
<< p4rt_port_id_ << " has " << width << " bits.";
}
return pdpi::BitsetToP4RuntimeByteString<kBmv2PortBitWidth>(p4rt_port_id_);
return string_encodings::BitsetToP4RuntimeByteString<kBmv2PortBitWidth>(
p4rt_port_id_);
}

bool P4rtPortId::operator==(const P4rtPortId& other) const {
Expand Down
2 changes: 1 addition & 1 deletion p4_fuzzer/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,8 @@ cc_library(
"//p4_infra/p4_pdpi:references",
"//p4_infra/p4_pdpi/internal:ordered_map",
"//p4_infra/p4_pdpi/netaddr:ipv6_address",
"//p4_infra/p4_pdpi/string_encodings:byte_string",
"//p4_infra/p4_pdpi/utils:ir",
"//p4_infra/string_encodings:byte_string",
"@com_github_p4lang_p4_constraints//p4_constraints:ast",
"@com_github_p4lang_p4_constraints//p4_constraints:ast_cc_proto",
"@com_github_p4lang_p4_constraints//p4_constraints:constraint_source",
Expand Down
5 changes: 3 additions & 2 deletions p4_fuzzer/fuzz_util.cc
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@
#include "p4_infra/p4_pdpi/ir.pb.h"
#include "p4_infra/p4_pdpi/netaddr/ipv6_address.h"
#include "p4_infra/p4_pdpi/references.h"
#include "p4_infra/p4_pdpi/string_encodings/byte_string.h"
#include "p4_infra/p4_pdpi/utils/ir.h"
#include "p4_infra/string_encodings/byte_string.h"

namespace p4_fuzzer {

Expand Down Expand Up @@ -707,7 +707,8 @@ absl::StatusOr<Replica> FuzzReplica(absl::BitGen* gen,
if (auto it = reference_map.find(instance_param); it != reference_map.end()) {
ASSIGN_OR_RETURN(
auto instance,
pdpi::ByteStringToBitset<kReplicaInstanceBitwidth>(it->second));
string_encodings::ByteStringToBitset<kReplicaInstanceBitwidth>(
it->second));
replica.set_instance(instance.to_ullong());
} else {
replica.set_instance(FuzzUint64(gen, kReplicaInstanceBitwidth));
Expand Down
4 changes: 2 additions & 2 deletions p4_infra/p4_pdpi/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ cc_library(
"//gutil/gutil:collections",
"//gutil/gutil:proto",
"//gutil/gutil:status",
"//p4_infra/p4_pdpi/string_encodings:byte_string",
"//p4_infra/string_encodings:byte_string",
"@com_github_p4lang_p4runtime//:p4runtime_cc_proto",
"@com_google_absl//absl/container:btree",
"@com_google_absl//absl/container:flat_hash_map",
Expand Down Expand Up @@ -209,8 +209,8 @@ cc_library(
"//gutil/gutil:proto",
"//gutil/gutil:status",
"//p4_infra/p4_pdpi/internal:ordered_map",
"//p4_infra/p4_pdpi/string_encodings:hex_string",
"//p4_infra/p4_pdpi/utils:ir",
"//p4_infra/string_encodings:hex_string",
"@com_github_grpc_grpc//:grpc++",
"@com_github_p4lang_p4runtime//:p4info_cc_proto",
"@com_github_p4lang_p4runtime//:p4runtime_cc_proto",
Expand Down
12 changes: 6 additions & 6 deletions p4_infra/p4_pdpi/netaddr/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ cc_library(
hdrs = ["network_address.h"],
deps = [
"//gutil/gutil:status",
"//p4_infra/p4_pdpi/string_encodings:byte_string",
"//p4_infra/p4_pdpi/string_encodings:hex_string",
"//p4_infra/string_encodings:byte_string",
"//p4_infra/string_encodings:hex_string",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings",
],
Expand All @@ -36,7 +36,7 @@ cc_test(
":network_address",
"//gutil/gutil:status",
"//gutil/gutil:status_matchers",
"//p4_infra/p4_pdpi/string_encodings:safe",
"//p4_infra/string_encodings:safe",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/strings",
"@com_google_googletest//:gtest_main",
Expand All @@ -50,7 +50,6 @@ cc_library(
deps = [
":network_address",
"//gutil/gutil:status",
"//p4_infra/p4_pdpi/string_encodings:hex_string",
"@com_google_absl//absl/log",
"@com_google_absl//absl/numeric:int128",
"@com_google_absl//absl/status",
Expand All @@ -67,7 +66,7 @@ cc_test(
":network_address",
"//gutil/gutil:status",
"//gutil/gutil:status_matchers",
"//p4_infra/p4_pdpi/string_encodings:safe",
"//p4_infra/string_encodings:safe",
"@com_google_absl//absl/numeric:int128",
"@com_google_absl//absl/strings",
"@com_google_googletest//:gtest_main",
Expand All @@ -82,6 +81,7 @@ cc_library(
":ipv6_address",
":network_address",
"//gutil/gutil:status",
"//p4_infra/string_encodings:hex_string",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
Expand All @@ -96,7 +96,7 @@ cc_test(
":network_address",
"//gutil/gutil:status",
"//gutil/gutil:status_matchers",
"//p4_infra/p4_pdpi/string_encodings:safe",
"//p4_infra/string_encodings:safe",
"@com_google_absl//absl/strings",
"@com_google_googletest//:gtest_main",
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
#include "gutil/gutil/status_matchers.h"
#include "p4_infra/p4_pdpi/netaddr/ipv4_address.h"
#include "p4_infra/p4_pdpi/netaddr/network_address.h"
#include "p4_infra/p4_pdpi/string_encodings/safe.h"
#include "p4_infra/string_encodings/safe.h"

// This file serves double duty, testing both Ipv4Address and the template class
// NetworkAddress from which Ipv4Address derives.
Expand All @@ -40,7 +40,7 @@ namespace {

using ::gutil::IsOk;
using ::gutil::IsOkAndHolds;
using ::pdpi::SafeString;
using ::string_encodings::SafeString;
using ::testing::Eq;
using ::testing::Not;

Expand Down
3 changes: 1 addition & 2 deletions p4_infra/p4_pdpi/netaddr/ipv6_address.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,12 @@
#include "absl/strings/string_view.h"
#include "gutil/gutil/status.h"
#include "p4_infra/p4_pdpi/netaddr/network_address.h"
#include "p4_infra/p4_pdpi/string_encodings/hex_string.h"

namespace netaddr {

absl::StatusOr<Ipv6Address> Ipv6Address::OfString(absl::string_view address) {
std::string bytes = std::string(128 / 8, '\x0');
if (inet_pton(AF_INET6, address.data(), bytes.data()) == 1) {
if (inet_pton(AF_INET6, std::string(address).c_str(), bytes.data()) == 1) {
auto ip = Ipv6Address::OfByteString(bytes);
if (ip.ok()) return ip;
LOG(DFATAL) << "failed to parse IPv6 byte string produced by inet_pton: "
Expand Down
4 changes: 2 additions & 2 deletions p4_infra/p4_pdpi/netaddr/ipv6_address_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@
#include "gutil/gutil/status.h"
#include "gutil/gutil/status_matchers.h"
#include "p4_infra/p4_pdpi/netaddr/network_address.h"
#include "p4_infra/p4_pdpi/string_encodings/safe.h"
#include "p4_infra/string_encodings/safe.h"

namespace netaddr {
namespace {

using ::gutil::IsOk;
using ::gutil::IsOkAndHolds;
using ::pdpi::SafeChar;
using ::string_encodings::SafeChar;
using ::testing::Eq;
using ::testing::Not;
using ::testing::Property;
Expand Down
5 changes: 4 additions & 1 deletion p4_infra/p4_pdpi/netaddr/mac_address.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include <cstdint>
#include <cstring>
#include <string>
#include <utility>
#include <vector>

#include "absl/status/statusor.h"
Expand All @@ -27,6 +28,7 @@
#include "gutil/gutil/status.h"
#include "p4_infra/p4_pdpi/netaddr/ipv6_address.h"
#include "p4_infra/p4_pdpi/netaddr/network_address.h"
#include "p4_infra/string_encodings/hex_string.h"

namespace netaddr {

Expand Down Expand Up @@ -100,7 +102,8 @@ absl::StatusOr<MacAddress> MacAddress::OfInterfaceId(
uint64_t id = interface_id.to_ullong();
if ((id & 0x0000'00FF'FF00'0000) != 0x0000'00FF'FE00'0000) {
return gutil::InvalidArgumentErrorBuilder()
<< "invalid interface ID " << pdpi::BitsetToHexString(interface_id)
<< "invalid interface ID "
<< string_encodings::BitsetToHexString(interface_id)
<< ": the two middle bytes must be equal to FF FE.";
}
std::bitset<48> mac = ((id & 0xFFFF'FF00'0000'0000u) >> 16) |
Expand Down
10 changes: 6 additions & 4 deletions p4_infra/p4_pdpi/netaddr/mac_address_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
#include "gutil/gutil/status.h"
#include "gutil/gutil/status_matchers.h"
#include "p4_infra/p4_pdpi/netaddr/network_address.h"
#include "p4_infra/p4_pdpi/string_encodings/safe.h"
#include "p4_infra/string_encodings/safe.h"

namespace netaddr {
namespace {
Expand All @@ -50,20 +50,22 @@ std::vector<MacTriple> CorrectMacTriples() {
triples.push_back(MacTriple{
.canonical_notation = "00:00:00:00:00:00",
.alternative_notations = {"00:00:00:00:0:0", "0:0:0:0:0:0"},
.byte_string = pdpi::SafeString({0, 0, 0, 0, 0, 0}),
.byte_string = string_encodings::SafeString({0, 0, 0, 0, 0, 0}),
.mac = MacAddress::AllZeros(),
});
triples.push_back(MacTriple{
.canonical_notation = "01:23:45:67:89:ab",
.alternative_notations = {"01:23:45:67:89:ab", "1:23:45:67:89:ab",
"01:23:45:67:89:Ab"},
.byte_string = pdpi::SafeString({0x01, 0x23, 0x45, 0x67, 0x89, 0xab}),
.byte_string =
string_encodings::SafeString({0x01, 0x23, 0x45, 0x67, 0x89, 0xab}),
.mac = MacAddress(0x01, 0x23, 0x45, 0x67, 0x89, 0xab),
});
triples.push_back(MacTriple{
.canonical_notation = "ff:ff:ff:ff:ff:ff",
.alternative_notations = {"ff:ff:ff:FF:fF:ff", "FF:FF:FF:FF:FF:FF"},
.byte_string = pdpi::SafeString({0xff, 0xff, 0xff, 0xff, 0xff, 0xff}),
.byte_string =
string_encodings::SafeString({0xff, 0xff, 0xff, 0xff, 0xff, 0xff}),
.mac = MacAddress::AllOnes(),
});

Expand Down
21 changes: 12 additions & 9 deletions p4_infra/p4_pdpi/netaddr/network_address.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "gutil/gutil/status.h"
#include "p4_infra/p4_pdpi/string_encodings/byte_string.h"
#include "p4_infra/p4_pdpi/string_encodings/hex_string.h"
#include "p4_infra/string_encodings/byte_string.h"
#include "p4_infra/string_encodings/hex_string.h"

namespace netaddr {

Expand Down Expand Up @@ -82,7 +82,9 @@ template <std::size_t num_bits, typename T> class NetworkAddress {
// Returns underlying bit representation.
std::bitset<num_bits> ToBitset() const { return bits_; }
// Returns hexadecimal representation of the address.
std::string ToHexString() const { return pdpi::BitsetToHexString(bits_); }
std::string ToHexString() const {
return string_encodings::BitsetToHexString(bits_);
}
// Returns big-endian byte string encoding of the address of length exactly
// ceil(num_bits/8).
std::string ToPaddedByteString() const;
Expand Down Expand Up @@ -170,25 +172,26 @@ absl::StatusOr<T> NetworkAddress<N, T>::MaskForPrefixLength(int prefix_length) {

template <std::size_t N, typename T>
absl::StatusOr<T> NetworkAddress<N, T>::OfHexString(absl::string_view hex_str) {
ASSIGN_OR_RETURN(auto bits, pdpi::HexStringToBitset<N>(hex_str));
ASSIGN_OR_RETURN(auto bits, string_encodings::HexStringToBitset<N>(hex_str));
return T(std::move(bits));
}

template <std::size_t N, typename T>
absl::StatusOr<T>
NetworkAddress<N, T>::OfByteString(absl::string_view byte_str) {
ASSIGN_OR_RETURN(auto bits, pdpi::ByteStringToBitset<N>(byte_str));
absl::StatusOr<T> NetworkAddress<N, T>::OfByteString(
absl::string_view byte_str) {
ASSIGN_OR_RETURN(auto bits,
string_encodings::ByteStringToBitset<N>(byte_str));
return T(bits);
}

template <std::size_t N, typename T>
std::string NetworkAddress<N, T>::ToPaddedByteString() const {
return pdpi::BitsetToPaddedByteString(bits_);
return string_encodings::BitsetToPaddedByteString(bits_);
}

template <std::size_t N, typename T>
std::string NetworkAddress<N, T>::ToP4RuntimeByteString() const {
return pdpi::BitsetToP4RuntimeByteString(bits_);
return string_encodings::BitsetToP4RuntimeByteString(bits_);
}

template <std::size_t N, typename T>
Expand Down
Loading
Loading