moby / moby/libnetwork

"peer" option for ppp interfaces [IPAM]

Open
#2,080 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Hi!

IPAM drivers implement RequestAddress(), which returns the address that will be assigned to the interface returned by network driver's Join() call after that interface is moved to container's namespace.

The way it assigns the address is similar to:

ip addr add <IP> dev <device>

The problem is, if that interface is Point-to-Point (say, PPP), you might want to add peer IP (otherwise that interface will be useless); I mean something like this:

ip addr add <IP_local> peer <IP_remote> dev <device>

If you do not specify peer IP, same IP (the one returned by RequestAddress()) will be used for both local and remote addresses.

As far as I understand, currently libnetwork does not provide any means to set peer IP. Am I right, and are there any plans to provide such functionality?

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.

Research direction

Start by tracing the IPAM drivers' RequestAddress() flow and the network driver's Join() call described here. Determine where an optional peer address could be carried through to the interface setup, then verify that PPP-style interfaces can receive distinct local and remote addresses using the documented ip addr behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, linux
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.