chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net-util: match on the driver as exposed by ethtool if DRIVER not set
[elogind.git]
/
src
/
network
/
networkd-netdev.c
diff --git
a/src/network/networkd-netdev.c
b/src/network/networkd-netdev.c
index 8c9fa625014817b5fc2383e9d2a9bd5465d5a656..05f21fa87426272c08c51c695063ec73569a597e 100644
(file)
--- a/
src/network/networkd-netdev.c
+++ b/
src/network/networkd-netdev.c
@@
-89,10
+89,13
@@
static int netdev_enslave_ready(NetDev *netdev, Link* link, sd_rtnl_message_hand
assert(netdev);
assert(netdev->state == NETDEV_STATE_READY);
assert(netdev);
assert(netdev->state == NETDEV_STATE_READY);
+ assert(netdev->manager);
+ assert(netdev->manager->rtnl);
assert(link);
assert(callback);
assert(link);
assert(callback);
- r = sd_rtnl_message_link_new(RTM_SETLINK, link->ifindex, &req);
+ r = sd_rtnl_message_new_link(netdev->manager->rtnl, &req,
+ RTM_SETLINK, link->ifindex);
if (r < 0) {
log_error_netdev(netdev,
"Could not allocate RTM_SETLINK message: %s",
if (r < 0) {
log_error_netdev(netdev,
"Could not allocate RTM_SETLINK message: %s",
@@
-163,12
+166,13
@@
static int netdev_create(NetDev *netdev, Link *link, sd_rtnl_message_handler_t c
int r;
assert(netdev);
int r;
assert(netdev);
- assert(!(netdev->kind == NETDEV_KIND_VLAN) || (link && callback && netdev->vlanid <= VLANID_MAX));
+ assert(!(netdev->kind == NETDEV_KIND_VLAN) ||
+ (link && callback && netdev->vlanid <= VLANID_MAX));
assert(netdev->name);
assert(netdev->manager);
assert(netdev->manager->rtnl);
assert(netdev->name);
assert(netdev->manager);
assert(netdev->manager->rtnl);
- r = sd_rtnl_message_
link_new(RTM_NEWLINK, 0, &req
);
+ r = sd_rtnl_message_
new_link(netdev->manager->rtnl, &req, RTM_NEWLINK, 0
);
if (r < 0) {
log_error_netdev(netdev,
"Could not allocate RTM_NEWLINK message: %s",
if (r < 0) {
log_error_netdev(netdev,
"Could not allocate RTM_NEWLINK message: %s",
@@
-333,8
+337,8
@@
static int netdev_load_one(Manager *manager, const char *filename) {
netdev->kind = _NETDEV_KIND_INVALID;
netdev->vlanid = VLANID_MAX + 1;
netdev->kind = _NETDEV_KIND_INVALID;
netdev->vlanid = VLANID_MAX + 1;
- r = config_parse(NULL, filename, file, "NetDev\0VLAN\0", config_item_perf_lookup,
- (void*) network_gperf_lookup, false, false, netdev);
+ r = config_parse(NULL, filename, file, "
Match\0
NetDev\0VLAN\0", config_item_perf_lookup,
+ (void*) network_
netdev_
gperf_lookup, false, false, netdev);
if (r < 0) {
log_warning("Could not parse config file %s: %s", filename, strerror(-r));
return r;
if (r < 0) {
log_warning("Could not parse config file %s: %s", filename, strerror(-r));
return r;
@@
-359,6
+363,12
@@
static int netdev_load_one(Manager *manager, const char *filename) {
if (!netdev->filename)
return log_oom();
if (!netdev->filename)
return log_oom();
+ if (net_match_config(NULL, NULL, NULL, NULL, NULL,
+ netdev->match_host, netdev->match_virt,
+ netdev->match_kernel, netdev->match_arch,
+ NULL, NULL, NULL, NULL, NULL, NULL) <= 0)
+ return 0;
+
r = hashmap_put(netdev->manager->netdevs, netdev->name, netdev);
if (r < 0)
return r;
r = hashmap_put(netdev->manager->netdevs, netdev->name, netdev);
if (r < 0)
return r;