rtnetlink: catch -EOPNOTSUPP errors from ndo_bridge_getlink
authorRoopa Prabhu <roopa@cumulusnetworks.com>
Tue, 15 Sep 2015 21:44:29 +0000 (14:44 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Sep 2015 22:03:57 +0000 (15:03 -0700)
commitd64f69b0373a7d0bcec8b5da7712977518a8f42b
tree046d2d594dd93ad4b8654cfed864d5c978146f2e
parentdaf158d0d544cec80b7b30deff8cfc59a6e17610
rtnetlink: catch -EOPNOTSUPP errors from ndo_bridge_getlink

problem reported:
kernel 4.1.3
------------
# bridge vlan
port vlan ids
eth0  1 PVID Egress Untagged
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
  100

vmbr0  1 PVID Egress Untagged
  94

kernel 4.2
-----------
# bridge vlan
port vlan ids

ndo_bridge_getlink can return -EOPNOTSUPP when an interfaces
ndo_bridge_getlink op is set to switchdev_port_bridge_getlink
and CONFIG_SWITCHDEV is not defined. This today can happen to
bond, rocker and team devices. This patch adds -EOPNOTSUPP
checks after calls to ndo_bridge_getlink.

Fixes: 85fdb956726ff2a ("switchdev: cut over to new switchdev_port_bridge_getlink")
Reported-by: Alexandre DERUMIER <aderumier@odiso.com>
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/rtnetlink.c