X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=debian%2Fovs-monitor-ipsec;h=414d18bae8f5a06e55b3a4aa51f14b4216107613;hb=0ef165ecb57943e17a8ee8270df68ffb8d032e29;hp=a4a4575491b31028ae1ba7e71027245cbad8446e;hpb=38aad449247134b294df4872f52b831c3229a8b4;p=sliver-openvswitch.git diff --git a/debian/ovs-monitor-ipsec b/debian/ovs-monitor-ipsec index a4a457549..414d18bae 100755 --- a/debian/ovs-monitor-ipsec +++ b/debian/ovs-monitor-ipsec @@ -1,5 +1,5 @@ #!/usr/bin/python -# Copyright (c) 2009, 2010, 2011 Nicira Networks +# Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -38,6 +38,7 @@ import ovs.util import ovs.daemon import ovs.db.idl import ovs.unixctl +import ovs.unixctl.server import ovs.vlog vlog = ovs.vlog.Vlog("ovs-monitor-ipsec") @@ -414,30 +415,33 @@ def main(): ovs.daemon.daemonize() ovs.unixctl.command_register("exit", "", 0, 0, unixctl_exit, None) - error, unixctl_server = ovs.unixctl.UnixctlServer.create(None) + error, unixctl_server = ovs.unixctl.server.UnixctlServer.create(None) if error: ovs.util.ovs_fatal(error, "could not create unixctl server", vlog) ipsec = IPsec() interfaces = {} + seqno = idl.change_seqno # Sequence number when we last processed the db while True: unixctl_server.run() if exiting: break - if not idl.run(): + idl.run() + if seqno == idl.change_seqno: poller = ovs.poller.Poller() unixctl_server.wait(poller) idl.wait(poller) poller.block() continue + seqno = idl.change_seqno ssl_cert = get_ssl_cert(idl.tables) new_interfaces = {} for rec in idl.tables["Interface"].rows.itervalues(): - if rec.type == "ipsec_gre": + if rec.type == "ipsec_gre" or rec.type == "ipsec_gre64": name = rec.name options = rec.options peer_cert_name = "ovs-%s.pem" % (options.get("remote_ip"))