free(netdev->description);
free(netdev->ifname);
+ free(netdev->ifname_peer);
free(netdev->mac);
free(netdev->mac_peer);
return 0;
}
- if (netdev->kind != NETDEV_KIND_VXLAN && netdev->vlanid <= VXLAN_VID_MAX) {
- log_warning("VLAN Id configured for a %s in %s. Ignoring",
+ if (netdev->kind != NETDEV_KIND_VXLAN && netdev->vxlanid <= VXLAN_VID_MAX) {
+ log_warning("VXLAN Id configured for a %s in %s. Ignoring",
netdev_kind_to_string(netdev->kind), filename);
return 0;
}
LIST_HEAD_INIT(netdev->callbacks);
- if(netdev->kind == NETDEV_KIND_VETH) {
- if (netdev->ifname_peer) {
- log_warning("Veth NetDev without Peer Name configured "
+ switch (netdev->kind) {
+ case NETDEV_KIND_VETH:
+ if (!netdev->ifname_peer) {
+ log_warning("Veth NetDev without peer name configured "
"in %s. Ignoring", filename);
return 0;
}
}
}
- return netdev_create_veth(netdev, netdev_create_handler);
- }
+ r = netdev_create_veth(netdev, netdev_create_handler);
+ if (r < 0)
+ return r;
- if (netdev->kind != NETDEV_KIND_VLAN &&
- netdev->kind != NETDEV_KIND_MACVLAN &&
- netdev->kind != NETDEV_KIND_VXLAN &&
- netdev->kind != NETDEV_KIND_IPIP &&
- netdev->kind != NETDEV_KIND_GRE &&
- netdev->kind != NETDEV_KIND_SIT &&
- netdev->kind != NETDEV_KIND_VTI) {
+ break;
+ case NETDEV_KIND_BRIDGE:
+ case NETDEV_KIND_BOND:
r = netdev_create(netdev, NULL, NULL);
if (r < 0)
return r;
+ break;
+ default:
+ break;
}
log_debug_netdev(netdev, "loaded %s", netdev_kind_to_string(netdev->kind));