projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bridge: Make bridge_pick_local_hw_addr() easier to reason.
[openvswitch]
/
lib
/
dpif-linux.c
diff --git
a/lib/dpif-linux.c
b/lib/dpif-linux.c
index 2bcf96e03a02bddb410f9100fda98bab3c8892d8..55d22b40ca4845893c8d2da312b35875359df97c 100644
(file)
--- a/
lib/dpif-linux.c
+++ b/
lib/dpif-linux.c
@@
-308,6
+308,18
@@
dpif_linux_destroy(struct dpif *dpif_)
return dpif_linux_dp_transact(&dp, NULL, NULL);
}
return dpif_linux_dp_transact(&dp, NULL, NULL);
}
+static void
+dpif_linux_run(struct dpif *dpif OVS_UNUSED)
+{
+ rtnetlink_link_notifier_run();
+}
+
+static void
+dpif_linux_wait(struct dpif *dpif OVS_UNUSED)
+{
+ rtnetlink_link_notifier_wait();
+}
+
static int
dpif_linux_get_stats(const struct dpif *dpif_, struct ovs_dp_stats *stats)
{
static int
dpif_linux_get_stats(const struct dpif *dpif_, struct ovs_dp_stats *stats)
{
@@
-589,8
+601,6
@@
dpif_linux_port_poll_wait(const struct dpif *dpif_)
struct dpif_linux *dpif = dpif_linux_cast(dpif_);
if (!sset_is_empty(&dpif->changed_ports) || dpif->change_error) {
poll_immediate_wake();
struct dpif_linux *dpif = dpif_linux_cast(dpif_);
if (!sset_is_empty(&dpif->changed_ports) || dpif->change_error) {
poll_immediate_wake();
- } else {
- rtnetlink_link_notifier_wait();
}
}
}
}
@@
-1048,8
+1058,8
@@
const struct dpif_class dpif_linux_class = {
dpif_linux_open,
dpif_linux_close,
dpif_linux_destroy,
dpif_linux_open,
dpif_linux_close,
dpif_linux_destroy,
- NULL, /* run */
- NULL, /* wait */
+ dpif_linux_run,
+ dpif_linux_wait,
dpif_linux_get_stats,
dpif_linux_get_drop_frags,
dpif_linux_set_drop_frags,
dpif_linux_get_stats,
dpif_linux_get_drop_frags,
dpif_linux_set_drop_frags,