datapath: Honor dp_ifindex, when specified, for vport lookup by name.
[cascardo/ovs.git] / datapath / datapath.c
index 23fb1dc..bb96967 100644 (file)
@@ -1729,6 +1729,9 @@ static struct vport *lookup_vport(struct net *net,
                vport = ovs_vport_locate(net, nla_data(a[OVS_VPORT_ATTR_NAME]));
                if (!vport)
                        return ERR_PTR(-ENODEV);
+               if (ovs_header->dp_ifindex &&
+                   ovs_header->dp_ifindex != get_dpifindex(vport->dp))
+                       return ERR_PTR(-ENODEV);
                return vport;
        } else if (a[OVS_VPORT_ATTR_PORT_NO]) {
                u32 port_no = nla_get_u32(a[OVS_VPORT_ATTR_PORT_NO]);