X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fdpif-linux.c;h=55d22b40ca4845893c8d2da312b35875359df97c;hb=3a48ace3e4799ce25099a8584372abe7a4d6d771;hp=2bcf96e03a02bddb410f9100fda98bab3c8892d8;hpb=df2c07f4338faac04f4969f243fe4e8083b309ac;p=openvswitch diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c index 2bcf96e0..55d22b40 100644 --- 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); } +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) { @@ -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(); - } 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, - NULL, /* run */ - NULL, /* wait */ + dpif_linux_run, + dpif_linux_wait, dpif_linux_get_stats, dpif_linux_get_drop_frags, dpif_linux_set_drop_frags,