hi Sam/Alin, This is a followup to the discussion we had over IRC this morning about adding vports.
The question was about what should happen in the kernel if userspace tries to add a VIF port that is not existent on the hyper-v switch. Should we support it? In general, you cannot add a vport to the kernel from userspace that does not exist in the system. Eg. if you try to add a vport (using ovs-vsctl add-port) using its user friendly name that does not exist on the hyper-v switch, vswitchd flags this as a failure. The reason for the failure is this piece of code in bridge.c: iface_do_create(): 1698 error = netdev_open(iface_cfg->name, 1699 iface_get_type(iface_cfg, br->cfg), &netdev); 1700 if (error) { 1701 VLOG_WARN_BUF(errp, "could not open network device %s (%s)", 1702 iface_cfg->name, ovs_strerror(error)); 1703 goto error; 1704 } I understand that netdev_open() is not implemented on Windows. But, when it does get implemented, it should be done in such a way that it return success only if a VM's NIC (VIF) is connected to the hyper-v switch. This way, we can make an assumption in the OVS kernel code that if there's a request to add a vport that corresponds to a VIF, userspace had validated that such an VIF exists on the system. We still need to figure out a lot of things, but one thing for sure is that in the kernel we won't have to store ports that are not non-existent on the hyper-v switch. Thanks, -- Nithin _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev