Since kernel >= 2.6.33 the kernel option "accept_local" can be modified:
/proc/sys/net/ipv4/conf/{interfaceID}/
accept_local - BOOLEAN
Accept packets with local source addresses. In combination with
suitable routing, this can be used to direct packets between two
local interfaces over the wire and have them accepted properly.
default FALSE
Is there any IPv6 equivalent to this option?
If not, will kernel hackers implement it in the near future?