Issue #6394 has been reported by rascov (Min-Cheng Chan).

----------------------------------------
Feature #6394: Support SO_ORIGINAL_DST socket option
https://bugs.ruby-lang.org/issues/6394

Author: rascov (Min-Cheng Chan)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 


In Linux, SO_ORIGINAL_DST provides the original packet destination, which is very useful when packet is translated by NAT.
In C, this information can be obtained by getsockopt(fd, SOL_IP, SO_ORIGINAL_DST, &remote, &remote_len);
However, current Ruby Socket class does not provide this option.
Please consider adding this option into Ruby.

By the way, I am still working on the patch file.
This option is named with SO_ prefix. However it is an IP layer option (SOL_IP).
ext/socket/mkconstants.rb seems to generate options according to the option prefix, which goes wrong in this case.


-- 
http://bugs.ruby-lang.org/