sd_bus_error *error,
sd_bus_message **reply,
const char *iface,
- const char *propname) {
+ const char *propname,
+ const char *type) {
_cleanup_free_ char *path = NULL;
char ifindex_str[DECIMAL_STR_MAX(int)];
assert(reply);
assert(iface);
assert(propname);
+ assert(type);
xsprintf(ifindex_str, "%i", link->ifindex);
if (r < 0)
return r;
- return sd_bus_get_property(bus, "org.freedesktop.network1", path, iface, propname, error, reply, "ss");
+ return sd_bus_get_property(bus, "org.freedesktop.network1", path, iface, propname, error, reply, type);
}
static int acquire_link_bitrates(sd_bus *bus, LinkInfo *link) {
assert(bus);
assert(link);
- r = link_get_property(bus, link, &error, &reply, "org.freedesktop.network1.Link", "BitRates");
+ r = link_get_property(bus, link, &error, &reply, "org.freedesktop.network1.Link", "BitRates", "(tt)");
if (r < 0) {
bool quiet = sd_bus_error_has_names(&error, SD_BUS_ERROR_UNKNOWN_PROPERTY,
BUS_ERROR_SPEED_METER_INACTIVE);
r, "Failed to query link bit rates: %s", bus_error_message(&error, r));
}
- r = sd_bus_message_enter_container(reply, 'v', "(tt)");
- if (r < 0)
- return bus_log_parse_error(r);
-
r = sd_bus_message_read(reply, "(tt)", &link->tx_bitrate, &link->rx_bitrate);
if (r < 0)
return bus_log_parse_error(r);
assert(bus);
assert(link);
- r = link_get_property(bus, link, &error, &reply, "org.freedesktop.network1.DHCPServer", "Leases");
+ r = link_get_property(bus, link, &error, &reply, "org.freedesktop.network1.DHCPServer", "Leases", "a(uayayayayt)");
if (r < 0) {
bool quiet = sd_bus_error_has_name(&error, SD_BUS_ERROR_UNKNOWN_PROPERTY);
return 0;
}
- r = sd_bus_message_enter_container(reply, 'v', "a(uayayayayt)");
- if (r < 0)
- return bus_log_parse_error(r);
-
r = sd_bus_message_enter_container(reply, 'a', "(uayayayayt)");
if (r < 0)
return bus_log_parse_error(r);
self.assertRegex(output, 'DNS: 192.168.5.1\n *192.168.5.10')
self.assertRegex(output, 'NTP: 192.168.5.1\n *192.168.5.11')
+ output = check_output(*networkctl_cmd, '-n', '0', 'status', 'veth-peer', env=env)
+ self.assertRegex(output, "Offered DHCP leases: 192.168.5.[0-9]*")
+
def test_dhcp_server_with_uplink(self):
copy_network_unit('25-veth.netdev', '25-dhcp-client.network', '25-dhcp-server-downstream.network',
'12-dummy.netdev', '25-dhcp-server-uplink.network')