#include "sd-rtnl.h"
#include "sd-bus.h"
#include "sd-dhcp-client.h"
+#include "sd-dhcp-server.h"
#include "sd-ipv4ll.h"
#include "udev.h"
NETDEV_KIND_GRE,
NETDEV_KIND_SIT,
NETDEV_KIND_VETH,
+ NETDEV_KIND_VTI,
_NETDEV_KIND_MAX,
_NETDEV_KIND_INVALID = -1
} NetDevKind;
char *ifname;
char *ifname_peer;
size_t mtu;
+ struct ether_addr *mac;
+ struct ether_addr *mac_peer;
NetDevKind kind;
uint64_t vlanid;
int ifindex;
NetDevState state;
+ bool tunnel_pmtudisc;
unsigned tunnel_ttl;
unsigned tunnel_tos;
struct in_addr tunnel_local;
bool dhcp_critical;
bool ipv4ll;
+ bool dhcp_server;
+
LIST_HEAD(Address, static_addresses);
LIST_HEAD(Route, static_routes);
char *lease_file;
uint16_t original_mtu;
sd_ipv4ll *ipv4ll;
+
+ sd_dhcp_server *dhcp_server;
};
struct Manager {
LIST_HEAD(Network, networks);
usec_t network_dirs_ts_usec;
- struct kmod_ctx *kmod_ctx;
};
extern const char* const network_dirs[];
/* Macros which append INTERFACE= to the message */
-#define log_full_link(level, link, fmt, ...) log_meta_object(level, __FILE__, __LINE__, __func__, "INTERFACE=", link->ifname, "%*s: " fmt, IFNAMSIZ, link->ifname, ##__VA_ARGS__)
+#define log_full_link(level, link, fmt, ...) log_meta_object(level, __FILE__, __LINE__, __func__, "INTERFACE=", link->ifname, "%-*s: " fmt, IFNAMSIZ, link->ifname, ##__VA_ARGS__)
#define log_debug_link(link, ...) log_full_link(LOG_DEBUG, link, ##__VA_ARGS__)
#define log_info_link(link, ...) log_full_link(LOG_INFO, link, ##__VA_ARGS__)
#define log_notice_link(link, ...) log_full_link(LOG_NOTICE, link, ##__VA_ARGS__)
/* More macros which append INTERFACE= to the message */
-#define log_full_netdev(level, netdev, fmt, ...) log_meta_object(level, __FILE__, __LINE__, __func__, "INTERFACE=", netdev->ifname, "%*s: " fmt, IFNAMSIZ, netdev->ifname, ##__VA_ARGS__)
+#define log_full_netdev(level, netdev, fmt, ...) log_meta_object(level, __FILE__, __LINE__, __func__, "INTERFACE=", netdev->ifname, "%-*s: " fmt, IFNAMSIZ, netdev->ifname, ##__VA_ARGS__)
#define log_debug_netdev(netdev, ...) log_full_netdev(LOG_DEBUG, netdev, ##__VA_ARGS__)
#define log_info_netdev(netdev, ...) log_full_netdev(LOG_INFO, netdev, ##__VA_ARGS__)
#define log_notice_netdev(netdev, ...) log_full_netdev(LOG_NOTICE, netdev, ##__VA_ARGS__)