NETDEV_KIND_IPIP,
NETDEV_KIND_GRE,
NETDEV_KIND_SIT,
+ NETDEV_KIND_VETH,
+ NETDEV_KIND_VTI,
_NETDEV_KIND_MAX,
_NETDEV_KIND_INVALID = -1
} NetDevKind;
char *description;
char *ifname;
+ char *ifname_peer;
size_t mtu;
NetDevKind kind;
int ifindex;
NetDevState state;
+ bool tunnel_pmtudisc;
unsigned tunnel_ttl;
unsigned tunnel_tos;
struct in_addr tunnel_local;
LIST_HEAD(Network, networks);
usec_t network_dirs_ts_usec;
- struct kmod_ctx *kmod_ctx;
};
extern const char* const network_dirs[];
int netdev_set_ifindex(NetDev *netdev, sd_rtnl_message *newlink);
int netdev_enslave(NetDev *netdev, Link *link, sd_rtnl_message_handler_t cb);
int netdev_create_tunnel(Link *link, sd_rtnl_message_handler_t callback);
+int netdev_create_veth(NetDev *netdev, sd_rtnl_message_handler_t callback);
const char *netdev_kind_to_string(NetDevKind d) _const_;
NetDevKind netdev_kind_from_string(const char *d) _pure_;