.ndo_add_slave          = bond_enslave,
        .ndo_del_slave          = bond_release,
        .ndo_fix_features       = bond_fix_features,
-       .ndo_bridge_setlink     = ndo_dflt_switchdev_port_bridge_setlink,
+       .ndo_bridge_setlink     = switchdev_port_bridge_setlink,
        .ndo_bridge_dellink     = ndo_dflt_switchdev_port_bridge_dellink,
        .ndo_features_check     = passthru_features_check,
 };
 
        return idx;
 }
 
-static int rocker_port_bridge_setlink(struct net_device *dev,
-                                     struct nlmsghdr *nlh, u16 flags)
-{
-       struct rocker_port *rocker_port = netdev_priv(dev);
-       struct nlattr *protinfo;
-       struct nlattr *attr;
-       int err;
-
-       protinfo = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg),
-                                  IFLA_PROTINFO);
-       if (protinfo) {
-               attr = nla_find_nested(protinfo, IFLA_BRPORT_LEARNING);
-               if (attr) {
-                       if (nla_len(attr) < sizeof(u8))
-                               return -EINVAL;
-
-                       if (nla_get_u8(attr))
-                               rocker_port->brport_flags |= BR_LEARNING;
-                       else
-                               rocker_port->brport_flags &= ~BR_LEARNING;
-                       err = rocker_port_set_learning(rocker_port,
-                                                      SWITCHDEV_TRANS_NONE);
-                       if (err)
-                               return err;
-               }
-               attr = nla_find_nested(protinfo, IFLA_BRPORT_LEARNING_SYNC);
-               if (attr) {
-                       if (nla_len(attr) < sizeof(u8))
-                               return -EINVAL;
-
-                       if (nla_get_u8(attr))
-                               rocker_port->brport_flags |= BR_LEARNING_SYNC;
-                       else
-                               rocker_port->brport_flags &= ~BR_LEARNING_SYNC;
-               }
-       }
-
-       return 0;
-}
-
 static int rocker_port_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
                                      struct net_device *dev,
                                      u32 filter_mask, int nlflags)
        .ndo_fdb_add                    = rocker_port_fdb_add,
        .ndo_fdb_del                    = rocker_port_fdb_del,
        .ndo_fdb_dump                   = rocker_port_fdb_dump,
-       .ndo_bridge_setlink             = rocker_port_bridge_setlink,
+       .ndo_bridge_setlink             = switchdev_port_bridge_setlink,
        .ndo_bridge_getlink             = rocker_port_bridge_getlink,
        .ndo_get_phys_port_name         = rocker_port_get_phys_port_name,
 };
 
        .ndo_del_slave          = team_del_slave,
        .ndo_fix_features       = team_fix_features,
        .ndo_change_carrier     = team_change_carrier,
-       .ndo_bridge_setlink     = ndo_dflt_switchdev_port_bridge_setlink,
+       .ndo_bridge_setlink     = switchdev_port_bridge_setlink,
        .ndo_bridge_dellink     = ndo_dflt_switchdev_port_bridge_dellink,
        .ndo_features_check     = passthru_features_check,
 };