shill: rtnl: Handle setting of peer address
Bonus changes: Rename "subnet_cidr" to "subnet_prefix". Set a default
subnet prefix for OpenVPNDriver IPConfigs.
BUG=chromium-os:28003
TEST=Unit tests.
Change-Id: I953748b3ecb1a45237cedc18482c647eebe27efa
Reviewed-on: https://gerrit.chromium.org/gerrit/18461
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
diff --git a/ip_address.cc b/ip_address.cc
index a6ae127..1e36d55 100644
--- a/ip_address.cc
+++ b/ip_address.cc
@@ -62,16 +62,21 @@
}
// static
+size_t IPAddress::GetMaxPrefixLength(Family family) {
+ return GetAddressLength(family) * 8;
+}
+
+// static
size_t IPAddress::GetPrefixLengthFromMask(Family family, const string &mask) {
switch (family) {
case kFamilyIPv4: {
in_addr_t mask_val = inet_network(mask.c_str());
- int subnet_cidr = 0;
+ int subnet_prefix = 0;
while (mask_val) {
- subnet_cidr++;
+ subnet_prefix++;
mask_val <<= 1;
}
- return subnet_cidr;
+ return subnet_prefix;
}
case kFamilyIPv6:
NOTIMPLEMENTED();