MLXSW_ITEM32_INDEXED(reg, sfd, uc_lag_fid_vid, MLXSW_REG_SFD_BASE_LEN, 0, 16,
                     MLXSW_REG_SFD_REC_LEN, 0x08, false);
 
+/* reg_sfd_uc_lag_lag_vid
+ * Indicates VID in case of vFIDs. Reserved for FIDs.
+ * Access: RW
+ */
+MLXSW_ITEM32_INDEXED(reg, sfd, uc_lag_lag_vid, MLXSW_REG_SFD_BASE_LEN, 16, 12,
+                    MLXSW_REG_SFD_REC_LEN, 0x0C, false);
+
 /* reg_sfd_uc_lag_lag_id
  * LAG Identifier - pointer into the LAG descriptor table.
  * Access: RW
 mlxsw_reg_sfd_uc_lag_pack(char *payload, int rec_index,
                          enum mlxsw_reg_sfd_rec_policy policy,
                          const char *mac, u16 fid_vid,
-                         enum mlxsw_reg_sfd_rec_action action,
+                         enum mlxsw_reg_sfd_rec_action action, u16 lag_vid,
                          u16 lag_id)
 {
        mlxsw_reg_sfd_rec_pack(payload, rec_index,
                               policy, mac, action);
        mlxsw_reg_sfd_uc_lag_sub_port_set(payload, rec_index, 0);
        mlxsw_reg_sfd_uc_lag_fid_vid_set(payload, rec_index, fid_vid);
+       mlxsw_reg_sfd_uc_lag_lag_vid_set(payload, rec_index, lag_vid);
        mlxsw_reg_sfd_uc_lag_lag_id_set(payload, rec_index, lag_id);
 }
 
 
 
        mlxsw_reg_sfd_pack(sfd_pl, mlxsw_sp_sfd_op(adding), 0);
        mlxsw_reg_sfd_uc_lag_pack(sfd_pl, 0, mlxsw_sp_sfd_rec_policy(dynamic),
-                                 mac, fid, MLXSW_REG_SFD_REC_ACTION_NOP,
+                                 mac, fid, MLXSW_REG_SFD_REC_ACTION_NOP, 0,
                                  lag_id);
        err = mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(sfd), sfd_pl);
        kfree(sfd_pl);