• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

containernetworking / plugins
53%
master: 55%

Build:
Build:
LAST BUILD BRANCH: host-device-l3-info
DEFAULT BRANCH: master
Repo Added 15 Nov 2017 08:41AM UTC
Files 70
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH host-device-l3-info
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • CNV-75526
  • add-aks-integration
  • bridge-error
  • bridge-port-isolation
  • bugfix/wrong_startrange
  • bump-go-version
  • bump-go-version-2
  • bump-golang-ci
  • bump-libcni
  • codeql
  • contact-info
  • coryright-attribution
  • deletevlaniface
  • dependabot/docker/dot-github/actions/retest-action/alpine-3.18
  • dependabot/docker/dot-github/actions/retest-action/alpine-3.19
  • dependabot/docker/dot-github/actions/retest-action/alpine-3.20
  • dependabot/docker/dot-github/actions/retest-action/alpine-3.21
  • dependabot/docker/dot-github/actions/retest-action/alpine-3.22
  • dependabot/docker/dot-github/actions/retest-action/alpine-3.23
  • dependabot/github_actions/actions/checkout-4
  • dependabot/github_actions/actions/checkout-5
  • dependabot/github_actions/actions/checkout-6
  • dependabot/github_actions/actions/setup-go-5
  • dependabot/github_actions/actions/setup-go-6
  • dependabot/github_actions/golangci/golangci-lint-action-4
  • dependabot/github_actions/golangci/golangci-lint-action-5
  • dependabot/github_actions/golangci/golangci-lint-action-6
  • dependabot/github_actions/golangci/golangci-lint-action-9
  • dependabot/go_modules/github.com/Microsoft/hcsshim-0.10.0
  • dependabot/go_modules/github.com/Microsoft/hcsshim-0.11.0
  • dependabot/go_modules/github.com/Microsoft/hcsshim-0.11.1
  • dependabot/go_modules/github.com/Microsoft/hcsshim-0.9.10
  • dependabot/go_modules/github.com/Microsoft/hcsshim-0.9.7
  • dependabot/go_modules/github.com/Microsoft/hcsshim-0.9.9
  • dependabot/go_modules/github.com/containerd/containerd-1.6.26
  • dependabot/go_modules/github.com/coreos/go-iptables-0.7.0
  • dependabot/go_modules/github.com/networkplumbing/go-nft-0.3.0
  • dependabot/go_modules/github.com/networkplumbing/go-nft-0.4.0
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.11.0
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.12.0
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.12.1
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.13.0
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.13.1
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.8.3
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.8.4
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.9.0
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.9.1
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.9.4
  • dependabot/go_modules/github.com/onsi/ginkgo/v2-2.9.7
  • dependabot/go_modules/github.com/onsi/gomega-1.25.0
  • dependabot/go_modules/github.com/onsi/gomega-1.26.0
  • dependabot/go_modules/github.com/onsi/gomega-1.27.1
  • dependabot/go_modules/github.com/onsi/gomega-1.27.10
  • dependabot/go_modules/github.com/onsi/gomega-1.27.2
  • dependabot/go_modules/github.com/onsi/gomega-1.27.3
  • dependabot/go_modules/github.com/onsi/gomega-1.27.8
  • dependabot/go_modules/github.com/onsi/gomega-1.27.9
  • dependabot/go_modules/github.com/onsi/gomega-1.28.0
  • dependabot/go_modules/github.com/onsi/gomega-1.30.0
  • dependabot/go_modules/github.com/opencontainers/selinux-1.11.0
  • dependabot/go_modules/golang-09a819dc01
  • dependabot/go_modules/golang-0ff27c0dc8
  • dependabot/go_modules/golang-103bedb26b
  • dependabot/go_modules/golang-1eaf3aa819
  • dependabot/go_modules/golang-29835453c6
  • dependabot/go_modules/golang-2cb2537523
  • dependabot/go_modules/golang-2d6cee5bad
  • dependabot/go_modules/golang-2f005b8ca9
  • dependabot/go_modules/golang-383d838611
  • dependabot/go_modules/golang-439c5fc513
  • dependabot/go_modules/golang-4dd97b104e
  • dependabot/go_modules/golang-51f3cddb77
  • dependabot/go_modules/golang-5c8df2ff5e
  • dependabot/go_modules/golang-61257cff18
  • dependabot/go_modules/golang-6263b2479d
  • dependabot/go_modules/golang-6a70725da1
  • dependabot/go_modules/golang-7e0ee1aacf
  • dependabot/go_modules/golang-82cdb19fbc
  • dependabot/go_modules/golang-82e3264b6f
  • dependabot/go_modules/golang-8bfbea899d
  • dependabot/go_modules/golang-8c40cefe07
  • dependabot/go_modules/golang-8f3a99df9e
  • dependabot/go_modules/golang-9b7ee4a467
  • dependabot/go_modules/golang-9fbc68838b
  • dependabot/go_modules/golang-a01909eac1
  • dependabot/go_modules/golang-a90ed34d00
  • dependabot/go_modules/golang-ac7443b549
  • dependabot/go_modules/golang-b1fd1a5525
  • dependabot/go_modules/golang-b711640f48
  • dependabot/go_modules/golang-c05031af0a
  • dependabot/go_modules/golang-c722575f0f
  • dependabot/go_modules/golang-cbe0ec1090
  • dependabot/go_modules/golang-db9f2d353e
  • dependabot/go_modules/golang-e423e5d544
  • dependabot/go_modules/golang-e5a06e9046
  • dependabot/go_modules/golang-efff583b38
  • dependabot/go_modules/golang-f04424bbb8
  • dependabot/go_modules/golang-f1c86e0e78
  • dependabot/go_modules/golang-f6d18035b1
  • dependabot/go_modules/golang-fb115483cc
  • dependabot/go_modules/golang-fd31490dbe
  • dependabot/go_modules/golang.org/x/net-0.17.0
  • dependabot/go_modules/golang.org/x/net-0.23.0
  • dependabot/go_modules/golang.org/x/net-0.36.0
  • dependabot/go_modules/golang.org/x/net-0.38.0
  • dependabot/go_modules/golang.org/x/sys-0.10.0
  • dependabot/go_modules/golang.org/x/sys-0.11.0
  • dependabot/go_modules/golang.org/x/sys-0.13.0
  • dependabot/go_modules/golang.org/x/sys-0.4.0
  • dependabot/go_modules/golang.org/x/sys-0.5.0
  • dependabot/go_modules/golang.org/x/sys-0.7.0
  • dependabot/go_modules/golang.org/x/sys-0.8.0
  • dependabot/go_modules/golang.org/x/sys-0.9.0
  • dependabot/go_modules/google.golang.org/grpc-1.56.3
  • dependabot/go_modules/google.golang.org/grpc-1.79.3
  • dependabot/go_modules/google.golang.org/protobuf-1.33.0
  • dhcp-daemon-terminate-iface-nonexist
  • enable-vlan-uplink-interface
  • feature/go_version_bump
  • feature/group-fwd-mask
  • feature/modernize_forvar
  • feature/modernize_update
  • fix
  • fix-bw-nil
  • fix-firewall-ci
  • fix-integ-tests
  • fix-long-hostvethname
  • fix-portmap_nftables
  • fix-unshare
  • fix-windows-ginko
  • fix/portmap
  • fixdad
  • fixglobalroutes
  • fixvlantrunk
  • fixvrfglobalroutes
  • go-1.25
  • go-mod-separate
  • go-mod-verify
  • go-version
  • go1.24
  • host-device
  • host-device-l3-info
  • increatetimeoutvrf
  • ingress-same-bridge-isolate
  • jell/per_if_sysctl
  • jell/vlan-1
  • jell/vlan-2
  • keeponaddripv6
  • macvlan/stop-setting-proxy-arp
  • main
  • master
  • new-maintainers
  • oif_rule
  • pin-actions-to-sha
  • refs/tags/v0.9.0
  • refs/tags/v0.9.1
  • refs/tags/v1.0.0
  • refs/tags/v1.0.0-rc1
  • refs/tags/v1.0.1
  • refs/tags/v1.1.0
  • refs/tags/v1.1.1
  • refs/tags/v1.2.0
  • refs/tags/v1.4.0
  • refs/tags/v1.4.1
  • refs/tags/v1.5.0
  • refs/tags/v1.5.1
  • release-1.1
  • remove-bryan
  • remove-release-sh2
  • retry
  • revert_c1069bd
  • scorecard
  • setpreservedefaultvlanfalse
  • test-ipam-ecmp1
  • v0.8.2
  • v0.8.3
  • v0.8.4
  • v0.8.5
  • v0.8.6
  • v0.8.7
  • wip-remove-dup
  • zerofix

04 May 2026 05:25PM UTC coverage: 53.006%. First build
25333195384

Pull #1257

github

SchSeba
host-device: copy host interface IP addresses and routes into container

Add a new configuration option `useInterfaceNetwork` that instructs the
host-device plugin to capture the interface's IP addresses and routes
from the host before moving the device into the container namespace,
and then apply them inside the container.

This is critical for virtual environments (AWS, IBM Cloud, GPC) where
the cloud provider configures IP addresses and routes directly on the
network device. In these environments, there is no traditional IPAM
source; the ground truth for L3 configuration lives on the host
interface itself.

When `useInterfaceNetwork` is enabled, the plugin:
  - Captures all global-scope addresses and non-local routes from the
    host device before moving it into the container namespace.
  - Applies the captured addresses and routes to the interface inside
    the container.
  - Reports the addresses and routes in the CNI result (merged with
    any IPAM result if an IPAM plugin is also configured).

NOTE: The interface configuration on the host node must be persistent.
When the device is moved back to the host (via DEL) and renamed to its
original name, the system's network management service (e.g.
NetworkManager, systemd-networkd, cloud-init, or cloud-specific agents)
is expected to detect the device and re-apply the IP addresses and
routes. This plugin does NOT re-configure the host interface on DEL; it
relies on the node's network configuration being declarative and
reconciled by the platform's networking stack.

Also implements the STATUS command to verify the host device exists,
replacing the previous TODO stub.

Signed-off-by: Sebastian Sch <sebassch@gmail.com>
Pull Request #1257: host-device: copy host interface IP addresses and routes into container

162 of 224 new or added lines in 2 files covered. (72.32%)

5166 of 9746 relevant lines covered (53.01%)

27.42 hits per line

Relevant lines Covered
Build:
Build:
9746 RELEVANT LINES 5166 COVERED LINES
27.42 HITS PER LINE
Source Files on master
  • Tree
  • List 70
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
25333195384 host-device-l3-info host-device: copy host interface IP addresses and routes into container Add a new configuration option `useInterfaceNetwork` that instructs the host-device plugin to capture the interface's IP addresses and routes from the host before moving the ... Pull #1257 04 May 2026 05:37PM UTC SchSeba github
53.01
25298092141 dependabot/go_modules/golang-cbe0ec1090 build(deps): bump the golang group across 1 directory with 6 updates Bumps the golang group with 4 updates in the / directory: [github.com/Microsoft/hcsshim](https://github.com/Microsoft/hcsshim), [github.com/buger/jsonparser](https://github.com/... Pull #1255 04 May 2026 02:38AM UTC web-flow github
52.54
24973668458 dependabot/go_modules/golang-9fbc68838b build(deps): bump the golang group across 1 directory with 4 updates Bumps the golang group with 4 updates in the / directory: [github.com/Microsoft/hcsshim](https://github.com/Microsoft/hcsshim), [github.com/mattn/go-shellwords](https://github.c... Pull #1252 27 Apr 2026 02:36AM UTC web-flow github
52.54
24735360223 revert_c1069bd Revert "ipam: test ECMP support" This reverts commit c1069bdc2. I misunderstood the conditions required for ECMP to be established, and the criteria used in this test case to determine whether ECMP was established ... Pull #1251 21 Apr 2026 05:21PM UTC yushoyamaguchi github
52.54
24645536671 dependabot/go_modules/golang-ac7443b549 build(deps): bump the golang group with 3 updates Bumps the golang group with 3 updates: [github.com/Microsoft/hcsshim](https://github.com/Microsoft/hcsshim), [github.com/mattn/go-shellwords](https://github.com/mattn/go-shellwords) and [golang.or... Pull #1250 20 Apr 2026 02:35AM UTC web-flow github
52.54
24358827765 feature/modernize_update Simplify some code with slices and for-range. Signed-off-by: Mads Jensen <atombrella@users.noreply.github.com> Pull #1237 13 Apr 2026 06:12PM UTC atombrella github
52.6
24358821497 feature/modernize_forvar Remove redefinitions of loop variables in for-loops. This pattern was made obsolete with the GoLang 1.22 semantics for the for-loop. Signed-off-by: Mads Jensen <atombrella@users.noreply.github.com> Pull #1240 13 Apr 2026 06:12PM UTC atombrella github
52.54
24355225691 feature/group-fwd-mask bridge: add group_fwd_mask support for multicast forwarding (PTP) Signed-off-by: Vaishnav Sreekumar <vaishnavsreekumar301@gmail.com> Pull #1247 13 Apr 2026 04:52PM UTC VaishnavSreekumar github
52.53
24349664503 fix/portmap fix(portmap): correct masquerading source address handling - Use 0.0.0.0/0 or ::/0 as source address when MasqAll is true for full traffic match Signed-off-by: l1b0k <libokang.lbk@alibaba-inc.com> Pull #1235 13 Apr 2026 02:55PM UTC squeed github
52.54
24306572918 test-ipam-ecmp1 ipam: test ECMP support - add static IPAM spec proving multiple routes with the same dst keep distinct GWs - add ConfigureIface ECMP test that inspects netlink routes for both gateways Signed-off-by: Yusho Yamaguchi <ys-yamaguchi@kddi.com> Pull #1248 12 Apr 2026 12:27PM UTC yushoyamaguchi github
52.1
See All Builds (1477)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc