feature: pass IPAM options at docker run

Open
#2,066 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
go
Domain
networking

Research direction

Start with the docker run command and its --help output, then trace how network creation options reach the /IpamDriver.RequestAddress endpoint. Done means docker run accepts IPAM options and passes them through to that endpoint, including an option such as vnid=.

Written by the indexing model from the issue text.

Description

Currently, when a user creates a network, the user can pass IPAM options via --ipam-opt.

However, when a user creates a container, the user cannot pass IPAM options.

docker run --help | grep ipam

In conventional/traditional networking, e.g. DHCP, a request might contain the following options.

I suggest adding the ability to pass IPAM options at docker run and make sure that the options are passed all the way to /IpamDriver.RequestAddress endpoint. This way IPAM plugin would be capable of passing a lot more information to remote IPAM servers for the servers to make IP address management decisions.

For example, --ipam-opt vnid=<id> would allow IPAM driver to notify that the IP address request have VXLAN identifier associated with it. The IPAM servers would then use that information for routing purposes.

Dominant language
Go
Stars
2.2k
Forks
875
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from moby/libnetwork

All issues in moby/libnetwork

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.