netdev: Make run and wait functions optional as documented.
authorEthan Jackson <ethan@nicira.com>
Wed, 21 Aug 2013 19:59:28 +0000 (12:59 -0700)
committerEthan Jackson <ethan@nicira.com>
Wed, 21 Aug 2013 20:19:48 +0000 (13:19 -0700)
Signed-off-by: Ethan Jackson <ethan@nicira.com>
Reported-by: Guolin Yang <gyang@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
lib/netdev.c

index 088aea9..bf942a0 100644 (file)
@@ -126,7 +126,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 +145,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);
 }