netdev: Fix carrier status for down interfaces.
[sliver-openvswitch.git] / lib / netdev-patch.c
index 21a0363..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;
 };
@@ -41,14 +41,14 @@ struct netdev_patch {
 static struct netdev_dev_patch *
 netdev_dev_patch_cast(const struct netdev_dev *netdev_dev)
 {
-    netdev_dev_assert_class(netdev_dev, &netdev_patchnew_class);
+    netdev_dev_assert_class(netdev_dev, &netdev_patch_class);
     return CONTAINER_OF(netdev_dev, struct netdev_dev_patch, netdev_dev);
 }
 
 static struct netdev_patch *
 netdev_patch_cast(const struct netdev *netdev)
 {
-    netdev_assert_class(netdev, &netdev_patchnew_class);
+    netdev_assert_class(netdev, &netdev_patch_class);
     return CONTAINER_OF(netdev, struct netdev_patch, netdev);
 }
 
@@ -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);
@@ -119,7 +119,7 @@ netdev_patch_create(const char *name, const char *type OVS_UNUSED,
     }
 
     netdev_dev = xmalloc(sizeof *netdev_dev);
-    netdev_dev_init(&netdev_dev->netdev_dev, name, &netdev_patchnew_class);
+    netdev_dev_init(&netdev_dev->netdev_dev, name, &netdev_patch_class);
 
     *netdev_devp = &netdev_dev->netdev_dev;
     return 0;
@@ -173,8 +173,8 @@ netdev_patch_close(struct netdev *netdev_)
     free(netdev);
 }
 
-const struct netdev_class netdev_patchnew_class = {
-    "patchnew",
+const struct netdev_class netdev_patch_class = {
+    "patch",
 
     NULL,                       /* init */
     NULL,                       /* run */
@@ -200,14 +200,25 @@ const struct netdev_class netdev_patchnew_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 */