X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=vswitchd%2Fbridge.c;h=6440bb9afc0c755270c3c855c3642caa60e882ea;hb=82ff0d0a931ddc610c366551a948ffb33e9c8008;hp=63b0c9b21fe8c1d378bb2f19bff5bb66496721cf;hpb=23ff2821fd8b840dfeedcb47aeaed4fd060d73c8;p=openvswitch diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index 63b0c9b2..6440bb9a 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -417,7 +417,12 @@ set_up_iface(const struct ovsrec_interface *iface_cfg, struct iface *iface, memset(&netdev_options, 0, sizeof netdev_options); netdev_options.name = iface_cfg->name; - netdev_options.type = iface_cfg->type; + if (!strcmp(iface_cfg->type, "internal")) { + /* An "internal" config type maps to a netdev "system" type. */ + netdev_options.type = "system"; + } else { + netdev_options.type = iface_cfg->type; + } netdev_options.args = &options; netdev_options.ethertype = NETDEV_ETH_TYPE_NONE; netdev_options.may_create = true; @@ -435,6 +440,11 @@ set_up_iface(const struct ovsrec_interface *iface_cfg, struct iface *iface, const char *iface_type = iface_cfg->type && strlen(iface_cfg->type) ? iface_cfg->type : NULL; + /* An "internal" config type maps to a netdev "system" type. */ + if (iface_type && !strcmp(iface_type, "internal")) { + iface_type = "system"; + } + if (!iface_type || !strcmp(netdev_type, iface_type)) { error = netdev_reconfigure(iface->netdev, &options); } else {