Code duplication with basic_proxy.cpp's resolve_next_hop?  (Generally, stateful_proxy.cpp seems to duplicate quite a lot of function from basic_proxy.cpp - have we got the split right here?)