diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2021-11-09 20:37:48 +0100 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2021-11-09 20:38:14 +0100 |
commit | 28579236a99534a35ed73b423f4eb157f7b3085f (patch) | |
tree | 466998de9c0c55e5ba1b16abd72017e77a424389 /pkg/tcpip | |
parent | 3a63a894aa3c88c71a9d8536eef89257859c62cf (diff) |
Implement OriginalDestinationAddrgonet-originaldestination
Diffstat (limited to 'pkg/tcpip')
-rw-r--r-- | pkg/tcpip/adapters/gonet/gonet.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/tcpip/adapters/gonet/gonet.go b/pkg/tcpip/adapters/gonet/gonet.go index 1f2bcaf65..16650024f 100644 --- a/pkg/tcpip/adapters/gonet/gonet.go +++ b/pkg/tcpip/adapters/gonet/gonet.go @@ -449,6 +449,15 @@ func (c *TCPConn) RemoteAddr() net.Addr { return fullToTCPAddr(a) } +// Extension +func (c *TCPConn) OriginalDestinationAddr() net.Addr { + var v tcpip.OriginalDestinationOption + if err := c.ep.GetSockOpt(&v); err != nil { + return nil + } + return fullToTCPAddr(tcpip.FullAddress(v)) +} + func (c *TCPConn) newOpError(op string, err error) *net.OpError { return &net.OpError{ Op: op, |