assert(network);
assert(f);
- fprintf(f,
- "[Match]\n"
- "Name=%s\n",
- isempty(network->ifname) ? "*" : network->ifname);
+ fputs("[Match]\n", f);
+
+ if (isempty(network->ifname))
+ /* If the interface name is not specified, then let's make the .network file match the all
+ * physical interfaces. */
+ fputs("Kind=!*\n"
+ "Type=!loopback\n", f);
+ else
+ fprintf(f, "Name=%s\n", network->ifname);
fputs("\n[Link]\n", f);
int main(int argc, char *argv[]) {
test_network_one("", "ip", "dhcp6",
"[Match]\n"
- "Name=*\n"
+ "Kind=!*\n"
+ "Type=!loopback\n"
"\n[Link]\n"
"\n[Network]\n"
"DHCP=ipv6\n"
test_network_one("", "rd.route", "10.1.2.3/16:10.0.2.3",
"[Match]\n"
- "Name=*\n"
+ "Kind=!*\n"
+ "Type=!loopback\n"
"\n[Link]\n"
"\n[Network]\n"
"\n[DHCP]\n"
test_network_one("", "nameserver", "10.1.2.3",
"[Match]\n"
- "Name=*\n"
+ "Kind=!*\n"
+ "Type=!loopback\n"
"\n[Link]\n"
"\n[Network]\n"
"DNS=10.1.2.3\n"
test_network_one("", "rd.peerdns", "0",
"[Match]\n"
- "Name=*\n"
+ "Kind=!*\n"
+ "Type=!loopback\n"
"\n[Link]\n"
"\n[Network]\n"
"\n[DHCP]\n"
test_network_one("", "rd.peerdns", "1",
"[Match]\n"
- "Name=*\n"
+ "Kind=!*\n"
+ "Type=!loopback\n"
"\n[Link]\n"
"\n[Network]\n"
"\n[DHCP]\n"