tracking upstream with added nsh support.