Failing to attach containers to encrypted overlay network since linux 5.15.17
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 2.2k
- Forks
- 875
- PR merge metrics
- No merged PRs in 30d
Description
(I've phrased the issue for moby/moby before realizing that this is a separate component - so sorry for the docker-based description)
Description
Its currently not possible to communicate over encrypted overlay networks with kernel 5.15.17 due to an unset interface id when configuring the ipsec tunnel.
Downstream issue: https://github.com/coreos/fedora-coreos-tracker/issues/1111
Steps to reproduce the issue:
With two linux 5.15.17 hosts: Create an encrypted overlay network in a swarm and try to communicate between two containers on different nodes attached to that overlay network.
Additional information you deem important (e.g. issue happens only occasionally):
related linux change: https://github.com/torvalds/linux/commit/68ac0f3810e7
potential workaround in netlink library: https://github.com/vishvananda/netlink/pull/727
Missing Ifid for netlink.XfrmPolicy struct: (there may be more)
https://github.com/moby/libnetwork/blob/64b7a4574d1426139437d20e81c0b6d391130ec8/drivers/overlay/encryption.go#L343
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 in drivers/overlay/encryption.go around the XfrmPolicy configuration at line 343, then compare the related Linux change and the proposed netlink workaround. Reproduce with two Linux 5.15.17 hosts running encrypted overlay networking across swarm nodes. Done means containers on different nodes can communicate over the encrypted overlay without the missing interface ID.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, linux
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100