docker swarm mode uses apparently wrong interface for UDP packets
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 2.2k
- Forks
- 875
- PR merge metrics
- No merged PRs in 30d
Description
I might be naïve, but I'm seeing this and it really looks like a bug, not a feature.
I'm running several services in a swarm, and all the exposed ports show essentially the same behavior. The service address is 10.0.0.81, and the node address is 10.0.0.18.
When I send TCP service requests to, say, port 443, they are received as packets like
(...)
13:46:29.762665 IP 10.0.0.81.37650 > 10.0.0.18.443: Flags [S] (...)
(...)
But when I send UDP packets to, say, port 10000, they are received like:
(...)
13:50:12.910212 IP 10.255.0.2.60602 > 10.255.5.25.10000: UDP, length 4 # those are npings
(...)
I would expect the same interface eth0 to be used for TCP and UDP services.
I'm using
$ docker version
Client:
Version: 18.05.0-ce
API version: 1.37
Go version: go1.9.5
Git commit: f150324
Built: Wed May 9 22:16:13 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.05.0-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: f150324
Built: Wed May 9 22:14:23 2018
OS/Arch: linux/amd64
Experimental: false
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported TCP and UDP packet paths in a Docker 18.05.0-ce swarm using the addresses and ports shown. Compare how swarm mode routes each protocol and verify whether UDP should use the node interface like TCP; done means identifying the cause and correcting or clearly documenting the behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- distributed-systems, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100