X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=vswitchd%2Fovs-brcompatd.c;h=41aabe48205c260f9d62ce60f3942cf3f5d23629;hb=5e48dc2b45a1629ad8b32847ee104d7fc2c08345;hp=41187b171489ac3916084b4481dc5056e05020ff;hpb=0a811051ffd7f836f66ef770d7a3dcc92ec7d51a;p=openvswitch diff --git a/vswitchd/ovs-brcompatd.c b/vswitchd/ovs-brcompatd.c index 41187b17..41aabe48 100644 --- a/vswitchd/ovs-brcompatd.c +++ b/vswitchd/ovs-brcompatd.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -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 nln_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; }