X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-veth.c;h=3eac90ba90ecea36eaf7167b4cfc00f556e4964e;hp=1a5d880ac256a85374d37d190f09144ee659424e;hb=0372cb2bd2342fa5c5585c666f79159a8341f4a6;hpb=10142d75cce10a92889cc11b7b1af07fecc78c5d diff --git a/src/network/networkd-veth.c b/src/network/networkd-veth.c index 1a5d880ac..3eac90ba9 100644 --- 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; } + 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, @@ -67,7 +77,7 @@ static int netdev_fill_veth_rtnl_message(NetDev *netdev, sd_rtnl_message *m) { 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)); @@ -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, @@ -125,6 +145,8 @@ int netdev_create_veth(NetDev *netdev, sd_rtnl_message_handler_t callback) { return r; } + netdev_ref(netdev); + log_debug_netdev(netdev, "Creating veth netdev: %s", netdev_kind_to_string(netdev->kind));