openvswitch: avoid list corruption by fixing representant port replace

We need to check if the cur_port in not the one being removed inside
__find_vport_by_swdev_id inner loop. Otherwise, the same port might be
selected as a replacement leading to list corruption.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Acked-by: Scott Feldman <sfeldma@cumulusnetworks.com>
rocker: action outdev can be internal ports as well (e.g. br0)

Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: some flows have no actions, so remove BUG_ON check

Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>