OSDN Git Service

bridge: revert br_dellink change back to original
authorScott Feldman <sfeldma@gmail.com>
Sun, 10 May 2015 16:48:03 +0000 (09:48 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 12 May 2015 22:43:55 +0000 (18:43 -0400)
This is revert of:

commit 68e331c785b8 ("bridge: offload bridge port attributes to switch asic
if feature flag set")

Restore br_dellink back to original and don't call into SELF port driver.
rtnetlink.c:bridge_dellink() already does a call into port driver for SELF.

bridge vlan add/del cmd defaults to MASTER.  From man page for bridge vlan
add/del cmd:

       self   the vlan is configured on the specified physical device.
              Required if the device is the bridge device.

       master the vlan is configured on the software bridge (default).

Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Acked-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_netlink.c

index e9b9435..6b67ed3 100644 (file)
@@ -639,7 +639,7 @@ int br_dellink(struct net_device *dev, struct nlmsghdr *nlh, u16 flags)
 {
        struct nlattr *afspec;
        struct net_bridge_port *p;
-       int err = 0, ret_offload = 0;
+       int err = 0;
 
        afspec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC);
        if (!afspec)
@@ -658,15 +658,6 @@ int br_dellink(struct net_device *dev, struct nlmsghdr *nlh, u16 flags)
                 */
                br_ifinfo_notify(RTM_NEWLINK, p);
 
-       if (p && !(flags & BRIDGE_FLAGS_SELF)) {
-               /* del bridge attributes in hardware
-                */
-               ret_offload = switchdev_port_bridge_dellink(dev, nlh, flags);
-               if (ret_offload && ret_offload != -EOPNOTSUPP)
-                       br_warn(p->br, "error deleting attrs on port %u (%s)\n",
-                               (unsigned int)p->port_no, p->dev->name);
-       }
-
        return err;
 }
 static int br_validate(struct nlattr *tb[], struct nlattr *data[])