dpif-netdev: Also allow "dummy" netdevs in a dpif-netdev.
[openvswitch] / debian / ovs-monitor-ipsec
index 12ff9f5f2f75e4b86e1262be9397cbe1e3e1c254..a9af8eca5b96e6edb0822df40d42f99e7d71422a 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/python
-# Copyright (c) 2009, 2010 Nicira Networks
+# Copyright (c) 2009, 2010, 2011 Nicira Networks
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -29,6 +29,7 @@ import getopt
 import glob
 import logging, logging.handlers
 import os
+import socket
 import subprocess
 import sys
 
@@ -38,16 +39,18 @@ import ovs.util
 import ovs.daemon
 import ovs.db.idl
 
-
-# By default log messages as DAEMON into syslog
 s_log = logging.getLogger("ovs-monitor-ipsec")
-l_handler = logging.handlers.SysLogHandler(
-        "/dev/log",
-        facility=logging.handlers.SysLogHandler.LOG_DAEMON)
-l_formatter = logging.Formatter('%(filename)s: %(levelname)s: %(message)s')
-l_handler.setFormatter(l_formatter)
-s_log.addHandler(l_handler)
-
+try:
+    # By default log messages as DAEMON into syslog
+    l_handler = logging.handlers.SysLogHandler(
+            "/dev/log",
+            facility=logging.handlers.SysLogHandler.LOG_DAEMON)
+    l_formatter = logging.Formatter('%(filename)s: %(levelname)s: %(message)s')
+    l_handler.setFormatter(l_formatter)
+    s_log.addHandler(l_handler)
+except socket.error, e:
+    logging.basicConfig()
+    s_log.warn("failed to connect to syslog (%s)" % e)
 
 setkey = "/usr/sbin/setkey"
 
@@ -83,6 +86,7 @@ path certificate "%s";
     cert_entry = """remote %s {
         exchange_mode main;
         nat_traversal on;
+        ike_frag on;
         certificate_type x509 "%s" "%s";
         my_identifier asn1dn;
         peers_identifier asn1dn;
@@ -116,6 +120,9 @@ path certificate "%s";
         self.psk_hosts = {}
         self.cert_hosts = {}
 
+        if not os.path.isdir(self.cert_dir):
+            os.mkdir(self.cert_dir)
+
         # Clean out stale peer certs from previous runs
         for ovs_cert in glob.glob("%s/ovs-*.pem" % self.cert_dir):
             try:
@@ -447,8 +454,6 @@ def main(argv):
                          "(use --help for help)\n" % ovs.util.PROGRAM_NAME)
         sys.exit(1)
 
-    ovs.daemon.die_if_already_running()
     remote = args[0]
     idl = ovs.db.idl.Idl(remote, "Open_vSwitch", monitor_uuid_schema_cb)