When OVS_VPORT_ATTR_NAME is specified and dp_ifindex is nonzero, the logical behavior would be for the vport name lookup scope to be limited to the specified datapath, but in fact the dp_ifindex value was ignored. This commit causes the search scope to be honored.
Signed-off-by: Ben Pfaff <b...@nicira.com> --- datapath/datapath.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/datapath/datapath.c b/datapath/datapath.c index 23fb1dc..bb96967 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -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]); -- 1.7.2.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev