add udebug support
[project/netifd.git] / veth.c
diff --git a/veth.c b/veth.c
index e109f273aedefa8b3872b8f9fb7bab7b640cc8a1..fdab38a4b70b310ad434e034f8a68c8cb71fb2f2 100644 (file)
--- a/veth.c
+++ b/veth.c
 #include <stdio.h>
 #include <assert.h>
 #include <errno.h>
-#include <net/ethernet.h>
-
-#ifdef linux
-#include <netinet/ether.h>
-#endif
 
 #include "netifd.h"
 #include "device.h"
@@ -218,7 +213,12 @@ veth_create(const char *name, struct device_type *devtype,
                return NULL;
 
        dev = &veth->dev;
-       device_init(dev, devtype, name);
+       if (device_init(dev, devtype, name) < 0) {
+               device_cleanup(dev);
+               free(veth);
+               return NULL;
+       }
+
        dev->config_pending = true;
 
        veth->set_state = dev->set_state;