-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UDP socket should also disable dual stack mode. #2768
Comments
Two more things I tried but forgot to mention:
In summary, it appears that the fix for #2682 is incompatible with the |
@repeatedly can you check this? |
Yeah, I will check it. v1.8 didn't touch socket initialization, so need step-by-step debug. |
"regression" is misleading title. Changed. |
repeatedly
added a commit
that referenced
this issue
Jan 17, 2020
Signed-off-by: Masahiro Nakagawa <[email protected]>
repeatedly
added a commit
that referenced
this issue
Jan 17, 2020
Signed-off-by: Masahiro Nakagawa <[email protected]>
repeatedly
added a commit
that referenced
this issue
Jan 20, 2020
server: Fix IPv6 dual stack mode issue for udp socket. fix #2768
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
Following an upgrade from 1.7.4, to 1.8.1, my
forward
source no longer listens on both v4 and v6 when usingbind ::
.Seeing #2682, I tried configuring two separate
in_forward
sources, one usingbind ::
for IPv6, the other usingbind 0.0.0.0
for IPv4, however that configuration fails to start:[error]: fluent/log.rb:362:error: unexpected error error_class=Errno::EADDRINUSE error="Address already in use - bind(2) for \"0.0.0.0\" port 24224"
It seems that proper "dual stack" listening is broken.
To Reproduce
Use the configuration below. When using
bind ::
, try an IPv4 connection and it will come back as "connection refused." When usingbind 0.0.0.0
, try an IPv6 connection and it too will fail. When using separatebind
statements for IPv4 and IPv6 listeners on the same port, fluentd will fail to start.Expected behavior
I expected fluentd to continue its pre-1.8.0 behaviour where
bind ::
binds to both IPv4 and IPv6 addresses, as determined by the kernel'snet.ipv6.bindv6only
sysctl. Alternatively, if the position of the fluentd project is that::
implies v6only, then I expect to be able to define separate v4 and v6 listeners without anEADDRINUSE
error.Your Environment
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
4.9.0-11-amd64
Your Configuration
This is a very simple configuration defining two separate listeners, one for v4 and one for v6. Nothing special is required to reproduce the bug.
Your Error Log
Additional context
This is the above configuration with in_forward4 commented-out; only in_forward6 active.
This is the above configuration with in_forward6 commented-out; only in_forward4 active.
This is the above configuration with in_forward4 listening on 1234, and in_forward6 listening on 1236.
Finally, here's the original configuration working as-expected with a single listener under fluentd 1.7.4
The text was updated successfully, but these errors were encountered: