dpif-linux: Lookup netdev to get netdev type string.
authorJoe Stringer <joestringer@nicira.com>
Wed, 26 Feb 2014 21:22:35 +0000 (13:22 -0800)
committerAlex Wang <alexw@nicira.com>
Wed, 26 Feb 2014 21:23:10 +0000 (13:23 -0800)
commit5ed512094a2f5534b031d2b3873262f870dc4083
tree6c445db4bd7396773403e6e02a74c399589c2fe2
parent21a955fc29ed9cb0b1e3ec54e3a412412fec99a9
dpif-linux: Lookup netdev to get netdev type string.

When creating tap ports in dpif-linux, the "tap" type is treated the
same as "system", and the type is discarded. When dumping datapath
port types, this would cause "tap" type to be reported as a "system"
type.

Each time we see a port of the wrong type in bridge_reconfigure(), we
remove it and add a port with the correct configuration. This would
always occur for tap ports, causing deletion and re-creation of all tap
ports each time the bridge was reconfigured.

This patch makes dpif-linux use netdev to look up port types if the
datapath reports that they are of type OVS_VPORT_TYPE_NETDEV.

Bug #1196289.

Reported-by: James Schmidt <jschmidt@vmware.com>
Signed-off-by: Joe Stringer <joestringer@nicira.com>
Acked-by: Alex Wang <alexw@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
lib/dpif-linux.c