X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=vswitchd%2Fbridge.c;h=205577738fe58e0b187b7a8539c6d50bd24d275d;hb=e073f944f58df72091db46fad0bef76715d30f5d;hp=2aeb3f76f8023b0c7ce7cb131147e2c0fc7aaeb0;hpb=1e50dd6c34222ac5a823a9064e0ba6cacbdbfa74;p=openvswitch diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index 2aeb3f76..20557773 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -1232,14 +1232,21 @@ bridge_reconfigure_one(const struct ovsrec_open_vswitch *ovs_cfg, br->name, name); } } + + /* If we have a controller, then we need a local port. Complain if the + * user didn't specify one. + * + * XXX perhaps we should synthesize a port ourselves in this case. */ if (bridge_get_controller(ovs_cfg, br)) { char local_name[IF_NAMESIZE]; int error; error = dpif_port_get_name(br->dpif, ODPP_LOCAL, local_name, sizeof local_name); - if (!error) { - shash_add_once(&new_ports, local_name, NULL); + if (!error && !shash_find(&new_ports, local_name)) { + VLOG_WARN("bridge %s: controller specified but no local port " + "(port named %s) defined", + br->name, local_name); } }