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

cilium / cilium / 10486
39%

Build:
DEFAULT BRANCH: master
Ran 30 Aug 2019 03:39PM UTC
Jobs 1
Files 439
Run time 27s
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

30 Aug 2019 03:18PM UTC coverage: 44.015% (-0.01%) from 44.025%
10486

push

travis-ci-com

borkmann
cilium: fix restore v6 router ip to not break pod connectivity on restart

Currently restoration of ROUTER_IP is broken. The result is that upon agent
restart we randomly allocate a new ROUTER_IP address each time, and pods/
containers loose their v6 connectivity. Reason for the latter is because we
install the ROUTER_IP as default route into the pod's netns upon pod creation,
and in Cilium datapath out of bpf_lxc we reply to neighbor solicitation
requests via icmp6_handle() but by comparing the current (!) ROUTER_IP. Thus
pods still have the old ROUTER_IP as their default v6 route installed and
neighbor requests now start to fail since Cilium is not replying to them
anymore, and hence pod stops answering. I noticed that we have this behavior
visible since ae856dda43b4 ("ipam: Make router IP allocation independent of
allocation CIDR"), but real commit that broke it is 9d9cef4c442d ("bpf: Replace
data definitions with static variables") because it stops matching on ROUTER_IP
define since we now emit:

-#define ROUTER_IP 0xbe, 0xef, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0
+DEFINE_IPV6(ROUTER_IP, 0xbe, 0xef, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0);

Fix this and do not let this depend on C code, but use a fixed match instead,
namely defaults.RestoreV{4,6}Addr which is placed in the comment. The old
defines are kept for compat/upgrade reasons. With that in place, we keep
sticking to the restored address and do not allocate new/random ones on agent
restart:

  [...]
  level=info msg="Initializing node addressing" subsys=daemon
  level=info msg="Restored IPv4 internal node IP: 10.11.0.1" subsys=node
  level=info msg="Restored IPv6 router IP: 2001:db8:5::d3f" subsys=node
  level=info msg="Initializing hostscope IPAM" subsys=ipam v4Prefix=10.11.0.0/16 v6Prefix="2001:db8:5::/112"
  [...]

Fixes: #9086
Fixes: 9d9cef4c442d ("bpf: Replace data definitions with static variables")
Fixes: ae856dda43b4 ("ipam... (continued)

38 of 38 new or added lines in 3 files covered. (100.0%)

25462 of 57849 relevant lines covered (44.01%)

1164.53 hits per line

Jobs
ID Job ID Ran Files Coverage
1 10486.1 30 Aug 2019 03:39PM UTC 0
44.01
Travis Job 10486.1
Source Files on build 10486
Detailed source file information is not available for this build.
  • Back to Repo
  • Build #10486
  • c67da316 on github
  • Prev Build on master (#10476)
  • Next Build on master (#10495)
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