netdev: Fix carrier status for down interfaces.
[sliver-openvswitch.git] / lib / netdev-patch.c
index 22353a1..d2a0643 100644 (file)
 #include "openvswitch/datapath-protocol.h"
 #include "packets.h"
 #include "socket-util.h"
-
-#define THIS_MODULE VLM_netdev_patch
 #include "vlog.h"
 
+VLOG_DEFINE_THIS_MODULE(netdev_patch)
+
 struct netdev_dev_patch {
     struct netdev_dev netdev_dev;
 };
@@ -103,7 +103,7 @@ netdev_patch_create(const char *name, const char *type OVS_UNUSED,
     ova.config = (char *)peer;
 
     err = netdev_vport_do_ioctl(ODP_VPORT_ADD, &ova);
-    if (err == EEXIST) {
+    if (err == EBUSY) {
         VLOG_WARN("%s: destroying existing device", name);
 
         err = netdev_vport_do_ioctl(ODP_VPORT_DEL, ova.devname);
@@ -200,14 +200,25 @@ const struct netdev_class netdev_patch_class = {
     netdev_vport_get_etheraddr,
     netdev_vport_get_mtu,
     NULL,                       /* get_ifindex */
-    netdev_vport_get_carrier,
+    NULL,                       /* get_carrier */
     netdev_vport_get_stats,
-    NULL,                       /* set_stats */
+    netdev_vport_set_stats,
 
     NULL,                       /* get_features */
     NULL,                       /* set_advertisements */
     NULL,                       /* get_vlan_vid */
+
     NULL,                       /* set_policing */
+    NULL,                       /* get_qos_types */
+    NULL,                       /* get_qos_capabilities */
+    NULL,                       /* get_qos */
+    NULL,                       /* set_qos */
+    NULL,                       /* get_queue */
+    NULL,                       /* set_queue */
+    NULL,                       /* delete_queue */
+    NULL,                       /* get_queue_stats */
+    NULL,                       /* dump_queues */
+    NULL,                       /* dump_queue_stats */
 
     NULL,                       /* get_in4 */
     NULL,                       /* set_in4 */