Roll Fuchsia SDK from 9d623aaaba71 to cdb810be4406
Also includes minor changes in //net to account for changes in
fuchsia.netstack API.
[email protected]
Change-Id: Ic473819b6aa65c6876bff0cf4f4544a471297b29
Reviewed-on: https://chromium-review.googlesource.com/c/1370487
Commit-Queue: Sergey Ulanov <[email protected]>
Reviewed-by: Kevin Marshall <[email protected]>
Cr-Commit-Position: refs/heads/master@{#615276}
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index dfec044..e6a4f88 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-9d623aaaba7126e941d216d88b0d730afa9297b5
\ No newline at end of file
+cdb810be4406e12a1a706012dd42105d0989323d
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1
index 4de416c..bfb7f9b 100644
--- a/build/fuchsia/mac.sdk.sha1
+++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@
-051be9f89bca52d99c5be72257b549669b0c3ea4
\ No newline at end of file
+7df92ff65c6f343166a4d4127e9a75eb73b59b16
diff --git a/net/base/network_change_notifier_fuchsia.cc b/net/base/network_change_notifier_fuchsia.cc
index e4ef84b..6698ec6 100644
--- a/net/base/network_change_notifier_fuchsia.cc
+++ b/net/base/network_change_notifier_fuchsia.cc
@@ -94,8 +94,8 @@
auto default_route_interface = std::find_if(
route_table->begin(), route_table->end(),
[](const fuchsia::netstack::RouteTableEntry& rt) {
- return MaskPrefixLength(internal::NetAddressToIPAddress(rt.netmask)) ==
- 0;
+ return MaskPrefixLength(
+ internal::FuchsiaIpAddressToIPAddress(rt.netmask)) == 0;
});
// Find the default interface in the NetInterface list.
diff --git a/net/base/network_change_notifier_fuchsia_unittest.cc b/net/base/network_change_notifier_fuchsia_unittest.cc
index 1ecfc2a..0c4158c7 100644
--- a/net/base/network_change_notifier_fuchsia_unittest.cc
+++ b/net/base/network_change_notifier_fuchsia_unittest.cc
@@ -20,35 +20,31 @@
const int kDefaultNic = 1;
const int kSecondaryNic = kDefaultNic + 1;
-fuchsia::netstack::NetAddress CreateIPv6Address(std::vector<uint8_t> addr) {
- fuchsia::netstack::NetAddress output;
- output.family = fuchsia::netstack::NetAddressFamily::IPV6;
- output.ipv6 = fuchsia::netstack::Ipv6Address::New();
+fuchsia::net::IpAddress CreateIPv6Address(std::vector<uint8_t> addr) {
+ fuchsia::net::IpAddress output;
for (size_t i = 0; i < addr.size(); ++i) {
- output.ipv6->addr[i] = addr[i];
+ output.ipv6().addr[i] = addr[i];
}
return output;
}
-fuchsia::netstack::Subnet CreateSubnet(const std::vector<uint8_t>& addr,
- uint8_t prefix) {
- fuchsia::netstack::Subnet output;
+fuchsia::net::Subnet CreateSubnet(const std::vector<uint8_t>& addr,
+ uint8_t prefix) {
+ fuchsia::net::Subnet output;
output.addr = CreateIPv6Address(addr);
output.prefix_len = prefix;
return output;
}
-fuchsia::netstack::NetAddress CreateIPv4Address(uint8_t a0,
- uint8_t a1,
- uint8_t a2,
- uint8_t a3) {
- fuchsia::netstack::NetAddress output;
- output.family = fuchsia::netstack::NetAddressFamily::IPV4;
- output.ipv4 = std::make_unique<fuchsia::netstack::Ipv4Address>();
- output.ipv4->addr[0] = a0;
- output.ipv4->addr[1] = a1;
- output.ipv4->addr[2] = a2;
- output.ipv4->addr[3] = a3;
+fuchsia::net::IpAddress CreateIPv4Address(uint8_t a0,
+ uint8_t a1,
+ uint8_t a2,
+ uint8_t a3) {
+ fuchsia::net::IpAddress output;
+ output.ipv4().addr[0] = a0;
+ output.ipv4().addr[1] = a1;
+ output.ipv4().addr[2] = a2;
+ output.ipv4().addr[3] = a3;
return output;
}
@@ -59,8 +55,12 @@
if (is_default) {
output.netmask = CreateIPv4Address(0, 0, 0, 0);
+ output.destination = CreateIPv4Address(192, 168, 42, 0);
+ output.gateway = CreateIPv4Address(192, 168, 42, 1);
} else {
output.netmask = CreateIPv4Address(255, 255, 255, 0);
+ output.destination = CreateIPv4Address(192, 168, 43, 0);
+ output.gateway = CreateIPv4Address(192, 168, 43, 1);
}
return output;
@@ -70,20 +70,21 @@
uint32_t id,
uint32_t flags,
uint32_t features,
- fuchsia::netstack::NetAddress address,
- fuchsia::netstack::NetAddress netmask,
- std::vector<fuchsia::netstack::Subnet> ipv6) {
+ fuchsia::net::IpAddress address,
+ fuchsia::net::IpAddress netmask,
+ std::vector<fuchsia::net::Subnet> ipv6) {
fuchsia::netstack::NetInterface output;
output.name = "foo";
output.id = id;
output.flags = flags;
output.features = features;
- address.Clone(&output.addr);
- netmask.Clone(&output.netmask);
+ output.addr = std::move(address);
+ output.netmask = std::move(netmask);
output.hwaddr = fidl::VectorPtr<uint8_t>::New(0);
- output.ipv6addrs =
- fidl::VectorPtr<fuchsia::netstack::Subnet>::New(ipv6.size());
+ output.addr.Clone(&output.broadaddr);
+
+ output.ipv6addrs = fidl::VectorPtr<fuchsia::net::Subnet>::New(0);
for (auto& x : ipv6) {
output.ipv6addrs.push_back(std::move(x));
}
@@ -128,10 +129,8 @@
void GetRouteTable(GetRouteTableCallback callback) override {
fidl::VectorPtr<fuchsia::netstack::RouteTableEntry> table =
fidl::VectorPtr<fuchsia::netstack::RouteTableEntry>::New(2);
- (*table)[0].nicid = kDefaultNic;
- (*table)[0].netmask = CreateIPv4Address(0, 0, 0, 0);
- (*table)[1].nicid = kSecondaryNic;
- (*table)[1].netmask = CreateIPv4Address(255, 255, 255, 0);
+ (*table)[0] = CreateRouteTableEntry(kDefaultNic, true);
+ (*table)[1] = CreateRouteTableEntry(kSecondaryNic, true);
callback(std::move(table));
}
@@ -147,12 +146,12 @@
void GetAggregateStats(GetAggregateStatsCallback callback) override {}
void SetInterfaceStatus(uint32_t nicid, bool enabled) override {}
void SetInterfaceAddress(uint32_t nicid,
- fuchsia::netstack::NetAddress addr,
+ fuchsia::net::IpAddress addr,
uint8_t prefixLen,
SetInterfaceAddressCallback callback) override {}
void RemoveInterfaceAddress(
uint32_t nicid,
- fuchsia::netstack::NetAddress addr,
+ fuchsia::net::IpAddress addr,
uint8_t prefixLen,
RemoveInterfaceAddressCallback callback) override {}
void SetDhcpClientStatus(uint32_t nicid,
@@ -161,7 +160,7 @@
void BridgeInterfaces(::fidl::VectorPtr<uint32_t> nicids,
BridgeInterfacesCallback callback) override {}
void SetNameServers(
- ::fidl::VectorPtr<::fuchsia::netstack::NetAddress> servers) override {}
+ ::fidl::VectorPtr<::fuchsia::net::IpAddress> servers) override {}
void AddEthernetDevice(
::fidl::StringPtr topological_path,
fuchsia::netstack::InterfaceConfig interfaceConfig,
@@ -284,7 +283,7 @@
}
TEST_F(NetworkChangeNotifierFuchsiaTest, MultiV6IPNoChange) {
- std::vector<fuchsia::netstack::Subnet> addresses;
+ std::vector<fuchsia::net::Subnet> addresses;
addresses.push_back(CreateSubnet({0xfe, 0x80, 0x01}, 2));
netstack_.PushInterface(CreateNetInterface(
kDefaultNic, fuchsia::netstack::NetInterfaceFlagUp, 0,
@@ -342,7 +341,7 @@
}
TEST_F(NetworkChangeNotifierFuchsiaTest, MultiV6IPChanged) {
- std::vector<fuchsia::netstack::Subnet> addresses;
+ std::vector<fuchsia::net::Subnet> addresses;
addresses.push_back(CreateSubnet({0xfe, 0x80, 0x01}, 2));
netstack_.PushInterface(CreateNetInterface(
kDefaultNic, fuchsia::netstack::NetInterfaceFlagUp, 0,
@@ -376,7 +375,7 @@
OnNetworkChanged(NetworkChangeNotifier::CONNECTION_NONE));
EXPECT_CALL(observer_,
OnNetworkChanged(NetworkChangeNotifier::CONNECTION_UNKNOWN));
- std::vector<fuchsia::netstack::Subnet> addresses;
+ std::vector<fuchsia::net::Subnet> addresses;
addresses.push_back(CreateSubnet({0xfe, 0x80, 0x01}, 2));
netstack_.PushInterface(CreateNetInterface(
kDefaultNic, fuchsia::netstack::NetInterfaceFlagUp, 0,
diff --git a/net/base/network_interfaces_fuchsia.cc b/net/base/network_interfaces_fuchsia.cc
index de08376..52d4c4e 100644
--- a/net/base/network_interfaces_fuchsia.cc
+++ b/net/base/network_interfaces_fuchsia.cc
@@ -4,6 +4,7 @@
#include "net/base/network_interfaces_fuchsia.h"
+#include <fuchsia/net/cpp/fidl.h>
#include <fuchsia/netstack/cpp/fidl.h>
#include <zircon/ethernet/cpp/fidl.h>
@@ -47,12 +48,13 @@
IPAddress address;
uint8_t prefix_length;
if (address_index == 0) {
- address = NetAddressToIPAddress(interface.addr);
- prefix_length = MaskPrefixLength(NetAddressToIPAddress(interface.netmask));
+ address = FuchsiaIpAddressToIPAddress(interface.addr);
+ prefix_length =
+ MaskPrefixLength(FuchsiaIpAddressToIPAddress(interface.netmask));
} else {
CHECK_LE(address_index, interface.ipv6addrs->size());
- address =
- NetAddressToIPAddress(interface.ipv6addrs->at(address_index - 1).addr);
+ address = FuchsiaIpAddressToIPAddress(
+ interface.ipv6addrs->at(address_index - 1).addr);
prefix_length = interface.ipv6addrs->at(address_index - 1).prefix_len;
}
@@ -63,12 +65,12 @@
} // namespace
-IPAddress NetAddressToIPAddress(const fuchsia::netstack::NetAddress& addr) {
- if (addr.ipv4) {
- return IPAddress(addr.ipv4->addr.data(), addr.ipv4->addr.count());
+IPAddress FuchsiaIpAddressToIPAddress(const fuchsia::net::IpAddress& addr) {
+ if (addr.is_ipv4()) {
+ return IPAddress(addr.ipv4().addr.data(), addr.ipv4().addr.count());
}
- if (addr.ipv6) {
- return IPAddress(addr.ipv6->addr.data(), addr.ipv6->addr.count());
+ if (addr.is_ipv6()) {
+ return IPAddress(addr.ipv6().addr.data(), addr.ipv6().addr.count());
}
return IPAddress();
}
diff --git a/net/base/network_interfaces_fuchsia.h b/net/base/network_interfaces_fuchsia.h
index 7883408b..06dbd95 100644
--- a/net/base/network_interfaces_fuchsia.h
+++ b/net/base/network_interfaces_fuchsia.h
@@ -8,8 +8,10 @@
#include <vector>
namespace fuchsia {
+namespace net {
+class IpAddress;
+}
namespace netstack {
-class NetAddress;
class NetInterface;
} // namespace netstack
} // namespace fuchsia
@@ -29,7 +31,7 @@
const fuchsia::netstack::NetInterface& iface_in);
// Converts a Fuchsia IPv4/IPv6 address to a Chromium IPAddress.
-IPAddress NetAddressToIPAddress(const fuchsia::netstack::NetAddress& addr);
+IPAddress FuchsiaIpAddressToIPAddress(const fuchsia::net::IpAddress& addr);
} // namespace internal
} // namespace net