From 2a586a5c1349177dcb9306e4b91ca4063ec79722 Mon Sep 17 00:00:00 2001 From: Arun Sharma Date: Mon, 2 Jul 2012 18:30:21 -0700 Subject: [PATCH] ipsec gre: Do not reread ovs monitor ipsec pidfile in netdev vport so much Instead of rereading ovs-monitor-ipsec pidfile in netdev-vport so much. It's probably only necessary to check once if ovs-monitor-ipsec is running, and then cache the result. If the result is negative, then it may be worthwhile to try again the next time someone tries to configure an ipsec tunnel. Signed-off-by: Arun Sharma Signed-off-by: Ben Pfaff --- lib/netdev-vport.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c index 7fe169e36..d2c2672b0 100644 --- a/lib/netdev-vport.c +++ b/lib/netdev-vport.c @@ -681,10 +681,14 @@ parse_tunnel_config(const char *name, const char *type, } if (is_ipsec) { - char *file_name = xasprintf("%s/%s", ovs_rundir(), - "ovs-monitor-ipsec.pid"); - pid_t pid = read_pidfile(file_name); - free(file_name); + static pid_t pid = 0; + if (pid == 0) { + char *file_name = xasprintf("%s/%s", ovs_rundir(), + "ovs-monitor-ipsec.pid"); + pid = read_pidfile(file_name); + free(file_name); + } + if (pid < 0) { VLOG_ERR("%s: IPsec requires the ovs-monitor-ipsec daemon", name); -- 2.45.2