git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ofp-util: New functions hton_ofp_phy_port(), ntoh_ofp_phy_port().
[sliver-openvswitch.git]
/
ofproto
/
discovery.c
diff --git
a/ofproto/discovery.c
b/ofproto/discovery.c
index
3a4b1eb
..
1a9bb58
100644
(file)
--- a/
ofproto/discovery.c
+++ b/
ofproto/discovery.c
@@
-18,6
+18,7
@@
#include "discovery.h"
#include <errno.h>
#include <inttypes.h>
#include "discovery.h"
#include <errno.h>
#include <inttypes.h>
+#include <sys/socket.h>
#include <net/if.h>
#include <regex.h>
#include <stdlib.h>
#include <net/if.h>
#include <regex.h>
#include <stdlib.h>
@@
-36,6
+37,7
@@
#include "vlog.h"
struct discovery {
#include "vlog.h"
struct discovery {
+ char *dpif_name;
char *re;
bool update_resolv_conf;
regex_t *regex;
char *re;
bool update_resolv_conf;
regex_t *regex;
@@
-105,6
+107,8
@@
discovery_create(const char *re, bool update_resolv_conf,
d = xzalloc(sizeof *d);
d = xzalloc(sizeof *d);
+ d->dpif_name = xstrdup(wdp_base_name(wdp));
+
/* Controller regular expression. */
error = discovery_set_accept_controller_re(d, re);
if (error) {
/* Controller regular expression. */
error = discovery_set_accept_controller_re(d, re);
if (error) {
@@
-115,14
+119,16
@@
discovery_create(const char *re, bool update_resolv_conf,
/* Initialize DHCP client. */
error = wdp_port_get_name(wdp, OFPP_LOCAL, &local_name);
if (error) {
/* Initialize DHCP client. */
error = wdp_port_get_name(wdp, OFPP_LOCAL, &local_name);
if (error) {
- VLOG_ERR("failed to query datapath local port: %s", strerror(error));
+ VLOG_ERR("%s: failed to query datapath local port: %s",
+ d->dpif_name, strerror(error));
goto error_regfree;
}
error = dhclient_create(local_name, modify_dhcp_request,
validate_dhcp_offer, d, &d->dhcp);
free(local_name);
if (error) {
goto error_regfree;
}
error = dhclient_create(local_name, modify_dhcp_request,
validate_dhcp_offer, d, &d->dhcp);
free(local_name);
if (error) {
- VLOG_ERR("failed to initialize DHCP client: %s", strerror(error));
+ VLOG_ERR("%s: failed to initialize DHCP client: %s",
+ d->dpif_name, strerror(error));
goto error_regfree;
}
dhclient_set_max_timeout(d->dhcp, 3);
goto error_regfree;
}
dhclient_set_max_timeout(d->dhcp, 3);
@@
-138,6
+144,7
@@
error_regfree:
regfree(d->regex);
free(d->regex);
error_free:
regfree(d->regex);
free(d->regex);
error_free:
+ free(d->dpif_name);
free(d);
*discoveryp = 0;
return error;
free(d);
*discoveryp = 0;
return error;
@@
-152,6
+159,7
@@
discovery_destroy(struct discovery *d)
free(d->regex);
dhclient_destroy(d->dhcp);
switch_status_unregister(d->ss_cat);
free(d->regex);
dhclient_destroy(d->dhcp);
switch_status_unregister(d->ss_cat);
+ free(d->dpif_name);
free(d);
}
}
free(d);
}
}
@@
-190,7
+198,7
@@
discovery_set_accept_controller_re(struct discovery *d, const char *re_)
size_t length = regerror(error, regex, NULL, 0);
char *buffer = xmalloc(length);
regerror(error, regex, buffer, length);
size_t length = regerror(error, regex, NULL, 0);
char *buffer = xmalloc(length);
regerror(error, regex, buffer, length);
- VLOG_WARN("%s: %s
"
, re, buffer);
+ VLOG_WARN("%s: %s
: %s", d->dpif_name
, re, buffer);
free(regex);
free(re);
return EINVAL;
free(regex);
free(re);
return EINVAL;
@@
-236,12
+244,14
@@
discovery_run(struct discovery *d, char **controller_name)
if (dhclient_is_bound(d->dhcp)) {
*controller_name = dhcp_msg_get_string(dhclient_get_config(d->dhcp),
DHCP_CODE_OFP_CONTROLLER_VCONN);
if (dhclient_is_bound(d->dhcp)) {
*controller_name = dhcp_msg_get_string(dhclient_get_config(d->dhcp),
DHCP_CODE_OFP_CONTROLLER_VCONN);
- VLOG_INFO("%s: discovered controller", *controller_name);
+ VLOG_INFO("%s: discovered controller %s",
+ d->dpif_name, *controller_name);
d->n_changes++;
} else {
*controller_name = NULL;
if (d->n_changes) {
d->n_changes++;
} else {
*controller_name = NULL;
if (d->n_changes) {
- VLOG_INFO("discovered controller no longer available");
+ VLOG_INFO("%s: discovered controller no longer available",
+ d->dpif_name);
d->n_changes++;
}
}
d->n_changes++;
}
}
@@
-271,13
+281,14
@@
validate_dhcp_offer(const struct dhcp_msg *msg, void *d_)
vconn_name = dhcp_msg_get_string(msg, DHCP_CODE_OFP_CONTROLLER_VCONN);
if (!vconn_name) {
vconn_name = dhcp_msg_get_string(msg, DHCP_CODE_OFP_CONTROLLER_VCONN);
if (!vconn_name) {
- VLOG_WARN_RL(&rl, "rejecting DHCP offer missing controller vconn");
+ VLOG_WARN_RL(&rl, "%s: rejecting DHCP offer missing controller vconn",
+ d->dpif_name);
return false;
}
accept = !regexec(d->regex, vconn_name, 0, NULL, 0);
if (!accept) {
return false;
}
accept = !regexec(d->regex, vconn_name, 0, NULL, 0);
if (!accept) {
- VLOG_WARN_RL(&rl, "
rejecting controller vconn that fails to match %s",
- d->re);
+ VLOG_WARN_RL(&rl, "
%s: rejecting controller vconn that fails to "
+
"match %s", d->dpif_name,
d->re);
}
free(vconn_name);
return accept;
}
free(vconn_name);
return accept;