chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
networkd: netdev - allow setting MACAddress in .netdev files
[elogind.git]
/
src
/
network
/
networkd-veth.c
diff --git
a/src/network/networkd-veth.c
b/src/network/networkd-veth.c
index 1a5d880ac256a85374d37d190f09144ee659424e..3584981cbcf5afd08d2553489fb4a23aea05243b 100644
(file)
--- a/
src/network/networkd-veth.c
+++ b/
src/network/networkd-veth.c
@@
-42,6
+42,16
@@
static int netdev_fill_veth_rtnl_message(NetDev *netdev, sd_rtnl_message *m) {
return r;
}
return r;
}
+ if (netdev->mac) {
+ r = sd_rtnl_message_append_ether_addr(m, IFLA_ADDRESS, netdev->mac);
+ if (r < 0) {
+ log_error_netdev(netdev,
+ "Colud not append IFLA_ADDRESS attribute: %s",
+ strerror(-r));
+ return r;
+ }
+ }
+
r = sd_rtnl_message_open_container(m, IFLA_LINKINFO);
if (r < 0) {
log_error_netdev(netdev,
r = sd_rtnl_message_open_container(m, IFLA_LINKINFO);
if (r < 0) {
log_error_netdev(netdev,
@@
-67,7
+77,7
@@
static int netdev_fill_veth_rtnl_message(NetDev *netdev, sd_rtnl_message *m) {
return r;
}
return r;
}
- if(netdev->ifname_peer) {
+ if
(netdev->ifname_peer) {
r = sd_rtnl_message_append_string(m, IFLA_IFNAME, netdev->ifname_peer);
if (r < 0) {
log_error("Failed to add netlink interface name: %s", strerror(-r));
r = sd_rtnl_message_append_string(m, IFLA_IFNAME, netdev->ifname_peer);
if (r < 0) {
log_error("Failed to add netlink interface name: %s", strerror(-r));
@@
-75,6
+85,16
@@
static int netdev_fill_veth_rtnl_message(NetDev *netdev, sd_rtnl_message *m) {
}
}
}
}
+ if (netdev->mac_peer) {
+ r = sd_rtnl_message_append_ether_addr(m, IFLA_ADDRESS, netdev->mac_peer);
+ if (r < 0) {
+ log_error_netdev(netdev,
+ "Colud not append IFLA_ADDRESS attribute: %s",
+ strerror(-r));
+ return r;
+ }
+ }
+
r = sd_rtnl_message_close_container(m);
if (r < 0) {
log_error_netdev(netdev,
r = sd_rtnl_message_close_container(m);
if (r < 0) {
log_error_netdev(netdev,