X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=vswitchd%2Fovs-brcompatd.c;h=41aabe48205c260f9d62ce60f3942cf3f5d23629;hb=5e0c05bc058c78a11be6747f62e6ad88e5d06b70;hp=c88684f94c3fb79ebbda7ed9055d0e04df8e927f;hpb=4f356133b56d7e907393118f41c17beac4260dd0;p=openvswitch diff --git a/vswitchd/ovs-brcompatd.c b/vswitchd/ovs-brcompatd.c index c88684f9..41aabe48 100644 --- a/vswitchd/ovs-brcompatd.c +++ b/vswitchd/ovs-brcompatd.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -43,13 +44,13 @@ #include "leak-checker.h" #include "netdev.h" #include "netlink.h" +#include "netlink-notifier.h" #include "netlink-socket.h" #include "ofpbuf.h" #include "openvswitch/brcompat-netlink.h" #include "packets.h" #include "poll-loop.h" #include "process.h" -#include "rtnetlink.h" #include "rtnetlink-link.h" #include "signals.h" #include "sset.h" @@ -724,7 +725,7 @@ brc_recv_update(void) * (XenServer Tools 5.5.0 does not exhibit this behavior, and neither does * a VM without Tools installed at all.) */ - rtnetlink_link_notifier_run(); + rtnetlink_link_run(); switch (genlmsghdr->cmd) { case BRC_GENL_C_DP_ADD: @@ -790,7 +791,7 @@ netdev_changed_cb(const struct rtnetlink_link_change *change, port_name, br_name); run_vsctl(vsctl_program, VSCTL_OPTIONS, - "--", "--if-exists", "del-port", br_name, port_name, + "--", "--if-exists", "del-port", port_name, "--", "comment", "ovs-brcompatd:", port_name, "disappeared", (char *) NULL); } @@ -799,7 +800,7 @@ int main(int argc, char *argv[]) { extern struct vlog_module VLM_reconnect; - struct rtnetlink_notifier link_notifier; + struct nln_notifier *link_notifier; struct unixctl_server *unixctl; int retval; @@ -823,26 +824,25 @@ main(int argc, char *argv[]) "\"brcompat\" kernel module."); } - - rtnetlink_link_notifier_register(&link_notifier, netdev_changed_cb, NULL); + link_notifier = rtnetlink_link_notifier_create(netdev_changed_cb, NULL); daemonize_complete(); for (;;) { unixctl_server_run(unixctl); - rtnetlink_link_notifier_run(); + rtnetlink_link_run(); brc_recv_update(); netdev_run(); nl_sock_wait(brc_sock, POLLIN); unixctl_server_wait(unixctl); - rtnetlink_link_notifier_wait(); + rtnetlink_link_wait(); netdev_wait(); poll_block(); } - rtnetlink_link_notifier_unregister(&link_notifier); + rtnetlink_link_notifier_destroy(link_notifier); return 0; }