projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bridge: Improve name and comments for bond_entry's "iface_tag" member.
[openvswitch]
/
lib
/
netdev-vport.c
diff --git
a/lib/netdev-vport.c
b/lib/netdev-vport.c
index 97cc170a3a79f5c3478a57f4eb53af4de00b275f..39a1bb94d47604105a5e56f21e07554ef6e76749 100644
(file)
--- a/
lib/netdev-vport.c
+++ b/
lib/netdev-vport.c
@@
-26,6
+26,8
@@
#include <sys/ioctl.h>
#include "byte-order.h"
#include <sys/ioctl.h>
#include "byte-order.h"
+#include "daemon.h"
+#include "dirs.h"
#include "dpif-linux.h"
#include "hash.h"
#include "hmap.h"
#include "dpif-linux.h"
#include "hash.h"
#include "hmap.h"
@@
-693,8
+695,8
@@
parse_tunnel_config(const char *name, const char *type,
*/
use_ssl_cert = shash_find_data(args, "use_ssl_cert");
if (!use_ssl_cert || strcmp(use_ssl_cert, "true")) {
*/
use_ssl_cert = shash_find_data(args, "use_ssl_cert");
if (!use_ssl_cert || strcmp(use_ssl_cert, "true")) {
- VLOG_
WARN
("%s: 'peer_cert' requires 'certificate' argument",
-
name);
+ VLOG_
ERR
("%s: 'peer_cert' requires 'certificate' argument",
+ name);
return EINVAL;
}
ipsec_mech_set = true;
return EINVAL;
}
ipsec_mech_set = true;
@@
-716,14
+718,24
@@
parse_tunnel_config(const char *name, const char *type,
}
if (is_ipsec) {
}
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);
+ if (pid < 0) {
+ VLOG_ERR("%s: IPsec requires the ovs-monitor-ipsec daemon",
+ name);
+ return EINVAL;
+ }
+
if (shash_find(args, "peer_cert") && shash_find(args, "psk")) {
if (shash_find(args, "peer_cert") && shash_find(args, "psk")) {
- VLOG_
WARN
("%s: cannot define both 'peer_cert' and 'psk'", name);
+ VLOG_
ERR
("%s: cannot define both 'peer_cert' and 'psk'", name);
return EINVAL;
}
if (!ipsec_mech_set) {
return EINVAL;
}
if (!ipsec_mech_set) {
- VLOG_
WARN
("%s: IPsec requires an 'peer_cert' or psk' argument",
-
name);
+ VLOG_
ERR
("%s: IPsec requires an 'peer_cert' or psk' argument",
+ name);
return EINVAL;
}
}
return EINVAL;
}
}
@@
-734,8
+746,8
@@
parse_tunnel_config(const char *name, const char *type,
}
if (!daddr) {
}
if (!daddr) {
- VLOG_
WARN
("%s: %s type requires valid 'remote_ip' argument",
-
name, type);
+ VLOG_
ERR
("%s: %s type requires valid 'remote_ip' argument",
+ name, type);
return EINVAL;
}
nl_msg_put_be32(options, ODP_TUNNEL_ATTR_DST_IPV4, daddr);
return EINVAL;
}
nl_msg_put_be32(options, ODP_TUNNEL_ATTR_DST_IPV4, daddr);
@@
-858,22
+870,22
@@
parse_patch_config(const char *name, const char *type OVS_UNUSED,
peer = shash_find_data(args, "peer");
if (!peer) {
peer = shash_find_data(args, "peer");
if (!peer) {
- VLOG_
WARN
("%s: patch type requires valid 'peer' argument", name);
+ VLOG_
ERR
("%s: patch type requires valid 'peer' argument", name);
return EINVAL;
}
if (shash_count(args) > 1) {
return EINVAL;
}
if (shash_count(args) > 1) {
- VLOG_
WARN
("%s: patch type takes only a 'peer' argument", name);
+ VLOG_
ERR
("%s: patch type takes only a 'peer' argument", name);
return EINVAL;
}
if (strlen(peer) >= IFNAMSIZ) {
return EINVAL;
}
if (strlen(peer) >= IFNAMSIZ) {
- VLOG_
WARN
("%s: patch 'peer' arg too long", name);
+ VLOG_
ERR
("%s: patch 'peer' arg too long", name);
return EINVAL;
}
if (!strcmp(name, peer)) {
return EINVAL;
}
if (!strcmp(name, peer)) {
- VLOG_
WARN
("%s: patch peer must not be self", name);
+ VLOG_
ERR
("%s: patch peer must not be self", name);
return EINVAL;
}
return EINVAL;
}