aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/src/manual/ranch_tcp.asciidoc3
-rw-r--r--src/ranch_tcp.erl3
2 files changed, 5 insertions, 1 deletions
diff --git a/doc/src/manual/ranch_tcp.asciidoc b/doc/src/manual/ranch_tcp.asciidoc
index 1fc268d..6eb7fa3 100644
--- a/doc/src/manual/ranch_tcp.asciidoc
+++ b/doc/src/manual/ranch_tcp.asciidoc
@@ -30,6 +30,7 @@ opt() = {backlog, non_neg_integer()}
| inet
| inet6
| {ip, inet:ip_address()}
+ | {ipv6_v6only, boolean()}
| {keepalive, boolean()}
| {linger, {boolean(), non_neg_integer()}}
| {low_msgq_watermark, non_neg_integer()}
@@ -88,6 +89,8 @@ inet6::
Set up the socket for IPv6.
ip::
Interface to listen on. Listen on all interfaces by default.
+ipv6_v6only (false)::
+ Listen on IPv4 and IPv6 (false) or only on IPv6 (true). Use with inet6.
keepalive (false)::
Enable sending of keep-alive messages.
linger ({false, 0})::
diff --git a/src/ranch_tcp.erl b/src/ranch_tcp.erl
index e8429a5..958b3f9 100644
--- a/src/ranch_tcp.erl
+++ b/src/ranch_tcp.erl
@@ -47,6 +47,7 @@
| inet
| inet6
| {ip, inet:ip_address()}
+ | {ipv6_v6only, boolean()}
| {keepalive, boolean()}
| {linger, {boolean(), non_neg_integer()}}
| {low_msgq_watermark, non_neg_integer()}
@@ -91,7 +92,7 @@ listen(Opts) ->
%% The 4-tuple 'raw' option is also handled specifically.
listen_options() ->
[backlog, buffer, delay_send, dontroute, exit_on_close, fd,
- high_msgq_watermark, high_watermark, ip,
+ high_msgq_watermark, high_watermark, ip, ipv6_v6only,
keepalive, linger, low_msgq_watermark,
low_watermark, nodelay, port, priority, recbuf,
send_timeout, send_timeout_close, sndbuf, tos].