X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-netdev.c;h=1519419c1f26f5444afff3369e9d675dd441f3a1;hb=a8330cd118993c20629565684144e0cc0e2edabe;hp=472028c447a47beeabd2d1d50c8ce1399b494376;hpb=10142d75cce10a92889cc11b7b1af07fecc78c5d;p=elogind.git diff --git a/src/network/networkd-netdev.c b/src/network/networkd-netdev.c index 472028c44..1519419c1 100644 --- a/src/network/networkd-netdev.c +++ b/src/network/networkd-netdev.c @@ -39,6 +39,7 @@ static const char* const netdev_kind_table[_NETDEV_KIND_MAX] = { [NETDEV_KIND_GRE] = "gre", [NETDEV_KIND_SIT] = "sit", [NETDEV_KIND_VETH] = "veth", + [NETDEV_KIND_VTI] = "vti" }; DEFINE_STRING_TABLE_LOOKUP(netdev_kind, NetDevKind); @@ -393,7 +394,8 @@ int netdev_enslave(NetDev *netdev, Link *link, sd_rtnl_message_handler_t callbac if(netdev->kind == NETDEV_KIND_IPIP || netdev->kind == NETDEV_KIND_GRE || - netdev->kind == NETDEV_KIND_SIT) + netdev->kind == NETDEV_KIND_SIT || + netdev->kind == NETDEV_KIND_VTI) return netdev_create_tunnel(link, netdev_create_handler); if (netdev->state == NETDEV_STATE_READY) { @@ -449,7 +451,6 @@ int netdev_set_ifindex(NetDev *netdev, sd_rtnl_message *message) { return r; } - if (netdev->ifindex > 0) { if (netdev->ifindex != ifindex) { log_error_netdev(netdev, "Could not set ifindex to %d, already set to %d", @@ -546,6 +547,7 @@ static int netdev_load_one(Manager *manager, const char *filename) { netdev->kind = _NETDEV_KIND_INVALID; netdev->macvlan_mode = _NETDEV_MACVLAN_MODE_INVALID; netdev->vlanid = VLANID_MAX + 1; + netdev->tunnel_pmtudisc = true; r = config_parse(NULL, filename, file, "Match\0NetDev\0VLAN\0MACVLAN\0Tunnel\0Peer\0", config_item_perf_lookup, (void*) network_netdev_gperf_lookup, @@ -606,7 +608,8 @@ static int netdev_load_one(Manager *manager, const char *filename) { netdev->kind != NETDEV_KIND_MACVLAN && netdev->kind != NETDEV_KIND_IPIP && netdev->kind != NETDEV_KIND_GRE && - netdev->kind != NETDEV_KIND_SIT) { + netdev->kind != NETDEV_KIND_SIT && + netdev->kind != NETDEV_KIND_VTI) { r = netdev_create(netdev, NULL, NULL); if (r < 0) return r;