use error checking mutexs in pltap&tunnel
[sliver-openvswitch.git] / lib / netdev.c
index 088aea9..b1dfc08 100644 (file)
@@ -109,6 +109,8 @@ netdev_initialize(void)
         netdev_register_provider(&netdev_tap_class);
         netdev_register_provider(&netdev_bsd_class);
 #endif
+        netdev_register_provider(&netdev_tunnel_class);
+        netdev_register_provider(&netdev_pltap_class);
 
         ovsthread_once_done(&once);
     }
@@ -126,7 +128,9 @@ netdev_run(void)
 
     ovs_rwlock_rdlock(&netdev_class_rwlock);
     HMAP_FOR_EACH (rc, hmap_node, &netdev_classes) {
-        rc->class->run();
+        if (rc->class->run) {
+            rc->class->run();
+        }
     }
     ovs_rwlock_unlock(&netdev_class_rwlock);
 }
@@ -143,7 +147,9 @@ netdev_wait(void)
 
     ovs_rwlock_rdlock(&netdev_class_rwlock);
     HMAP_FOR_EACH (rc, hmap_node, &netdev_classes) {
-        rc->class->wait();
+        if (rc->class->wait) {
+            rc->class->wait();
+        }
     }
     ovs_rwlock_unlock(&netdev_class_rwlock);
 }