Yilong tuffy port

This is a temporary pull request to review the changes.
yes, this change is due to the merge (already exists in master). Since id is unreliable (will be assigned on the fly).