So I ran some tests and looks like the forwarding overhead is not negligible. The assignation, the if statement and the try statement add a very little overhead but it's negligible. 

I don't think there is a better way to perform the forwarding though, any idea ?

@clofresh : I just wrote a small script to profile the cost of: assigning a random message to a variable, checking a boolean, and sending the random message over a udp socket in a try statement at a very high frequency