From: Justin Pettit Date: Wed, 14 Nov 2012 23:49:47 +0000 (-0800) Subject: bridge: Open internal ports with the correct type. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b4f4b737f901a43eba962bec2280b52b95ad10d5;p=openvswitch bridge: Open internal ports with the correct type. Use the new ofproto function that returns how a port should be opened based on the datapath type. This fixes a problem with internal ports being attached to userspace datapaths. Signed-off-by: Justin Pettit --- diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index 9fe77504..dbce59a3 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -3141,14 +3141,18 @@ static const char * iface_get_type(const struct ovsrec_interface *iface, const struct ovsrec_bridge *br) { - /* The local port always has type "internal" unless the bridge is of - * type "dummy". Other ports take their type from the database and - * default to "system" if none is specified. */ + const char *type; + + /* The local port always has type "internal". Other ports take + * their type from the database and default to "system" if none is + * specified. */ if (!strcmp(iface->name, br->name)) { - return !strcmp(br->datapath_type, "dummy") ? "dummy" : "internal"; + type = "internal"; } else { - return iface->type[0] ? iface->type : "system"; + type = iface->type[0] ? iface->type : "system"; } + + return ofproto_port_open_type(br->datapath_type, type); } static void