patchpanel: Use NetworkConfig in ShillClient::Device
Instead of the self-defined ShillClient::IPConfig, and the latter is
removed.
The only behavior change caused by this patch is that change of fields
that were previous not captured in ShillClient::IPConfig will now also
trigger OnDeviceNetworkConfigChange().
BUG=b:340974631
BUG=b:350884946
TEST=unit
Change-Id: Ib14bac2c329401fdb3690824105dd72520493b1d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/5802689
Commit-Queue: Taoyu Li <[email protected]>
Tested-by: Taoyu Li <[email protected]>
Reviewed-by: Jie Jiang <[email protected]>
diff --git a/patchpanel/clat_service_test.cc b/patchpanel/clat_service_test.cc
index f536222..5f7b9c3 100644
--- a/patchpanel/clat_service_test.cc
+++ b/patchpanel/clat_service_test.cc
@@ -91,7 +91,8 @@
int ifindex = 1,
const char ipv4_cidr[] = kIPv4CIDR) {
ShillClient::Device dev = MakeFakeShillDevice(ifname, ifindex);
- dev.ipconfig.ipv4_cidr = net_base::IPv4CIDR::CreateFromCIDRString(ipv4_cidr);
+ dev.network_config.ipv4_address =
+ net_base::IPv4CIDR::CreateFromCIDRString(ipv4_cidr);
return dev;
}
@@ -101,7 +102,8 @@
int ifindex = 1,
const char ipv6_cidr[] = kIPv6CIDR) {
ShillClient::Device dev = MakeFakeShillDevice(ifname, ifindex);
- dev.ipconfig.ipv6_cidr = net_base::IPv6CIDR::CreateFromCIDRString(ipv6_cidr);
+ dev.network_config.ipv6_addresses = {
+ *net_base::IPv6CIDR::CreateFromCIDRString(ipv6_cidr)};
return dev;
}
@@ -112,8 +114,10 @@
const char ipv4_cidr[] = kIPv4CIDR,
const char ipv6_cidr[] = kIPv6CIDR) {
ShillClient::Device dev = MakeFakeShillDevice(ifname, ifindex);
- dev.ipconfig.ipv4_cidr = net_base::IPv4CIDR::CreateFromCIDRString(ipv4_cidr);
- dev.ipconfig.ipv6_cidr = net_base::IPv6CIDR::CreateFromCIDRString(ipv6_cidr);
+ dev.network_config.ipv4_address =
+ net_base::IPv4CIDR::CreateFromCIDRString(ipv4_cidr);
+ dev.network_config.ipv6_addresses = {
+ *net_base::IPv6CIDR::CreateFromCIDRString(ipv6_cidr)};
return dev;
} // namespace
@@ -299,7 +303,7 @@
target_.OnDefaultLogicalDeviceIPConfigChanged(default_logical_device);
// The default logical device gets IPv4 address because of IPConfig changes.
- default_logical_device.ipconfig.ipv4_cidr =
+ default_logical_device.network_config.ipv4_address =
net_base::IPv4CIDR::CreateFromCIDRString(kIPv4CIDR);
EXPECT_CALL(target_, StopClat(true));
@@ -310,7 +314,7 @@
auto default_logical_device = MakeFakeDualStackShillDevice("dual_stack", 1);
// The default logical device loses IPv4 address because of IPConfig changes.
- default_logical_device.ipconfig.ipv4_cidr.reset();
+ default_logical_device.network_config.ipv4_address.reset();
EXPECT_CALL(target_, StartClat(ShillDeviceHasInterfaceName("dual_stack")));
target_.OnDefaultLogicalDeviceIPConfigChanged(default_logical_device);
@@ -318,11 +322,13 @@
TEST_F(ClatServiceTest, IPConfigChangeWithoutIPv6AddressChange) {
auto v6only_dev = MakeFakeIPv6OnlyShillDevice("v6only");
- v6only_dev.ipconfig.ipv4_dns_addresses = std::vector<std::string>{"8.8.8.8"};
+ v6only_dev.network_config.dns_servers = {
+ *net_base::IPAddress::CreateFromString("8.8.8.8")};
target_.OnDefaultLogicalDeviceIPConfigChanged(v6only_dev);
- v6only_dev.ipconfig.ipv4_dns_addresses = std::vector<std::string>{"1.1.1.1"};
+ v6only_dev.network_config.dns_servers = {
+ *net_base::IPAddress::CreateFromString("1.1.1.1")};
// This change has nothing with CLAT.
EXPECT_CALL(target_, StopClat(_)).Times(Exactly(0));
@@ -335,8 +341,8 @@
target_.OnDefaultLogicalDeviceIPConfigChanged(v6only_dev);
- v6only_dev.ipconfig.ipv6_cidr =
- net_base::IPv6CIDR::CreateFromCIDRString("2001:db8::2/64");
+ v6only_dev.network_config.ipv6_addresses = {
+ *net_base::IPv6CIDR::CreateFromCIDRString("2001:db8::2/64")};
// Even the new IPn6 address of the default logical device has the same prefix
// as the old one, CLAT needs to be reconfigured because the new address
@@ -354,7 +360,7 @@
EXPECT_CALL(target_, StopClat(false));
target_.Disable();
- v6only_dev.ipconfig.ipv4_cidr =
+ v6only_dev.network_config.ipv4_address =
net_base::IPv4CIDR::CreateFromCIDRString(kIPv4CIDR);
EXPECT_CALL(target_, StopClat(true));
@@ -372,7 +378,7 @@
EXPECT_CALL(target_, StopClat(false));
target_.Disable();
- dual_dev.ipconfig.ipv4_cidr.reset();
+ dual_dev.network_config.ipv4_address.reset();
EXPECT_CALL(target_, StartClat(ShillDeviceHasInterfaceName("dual")));
target_.OnDefaultLogicalDeviceIPConfigChanged(dual_dev);