The 23-year-old cost the Black Cats £5.5m from Manchester United in 2016 and scored five goals in 18 matches last term, finishing the campaign strongly after returning from injury.
With Sunderland now in League One, several of their key players have been linked with moves away from the Stadium of Light.
According to Sky Sports News, McNair is due to have a medical on Monday ahead of a transfer to the Championship side worth in the region of £5m.
The report states that the two North-East clubs agreed the fee last week, while Brighton & Hove Albion were also thought to be in the running to sign the 23-year-old but had two bids rebuffed.
McNair is also a Northern Ireland international, making his debut in 2015 and being part of Michael O'Neill's squad that reached the last 16 at Euro 2016.