Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

container: T6218: fix host IPv6 link-local address for VRF networks #3286

Merged
merged 1 commit into from
Apr 9, 2024

Conversation

jvoss
Copy link
Contributor

@jvoss jvoss commented Apr 9, 2024

Change Summary

Fix IPv6 EUI64 link-local address generation for host (pod-) interfaces assigned to a VRF.

Currently, container networks that are assigned to a VRF result in not having a valid IPv6 link-local address on the host. This is due to the address being assigned and then the VRF being changed resulting in the loss of the link-local address.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes)
  • Migration from an old Vyatta component to vyos-1x, please link to related PR inside obsoleted component
  • Other (please describe):

Related Task(s)

Related PR(s)

Component(s) name

  • container

Proposed changes

Correct the ordering of the VRF assignment and link-local address generation logic. (Swap lines 476 and 477).

How to test

Create a container network that is assigned to any VRF other than default and ensure an IPv6 EUI64 link-local address is generated:

Configuration:

set container network TEST prefix '169.254.1.0/24'
set container network TEST prefix 'fd00:169:254:1::/64'
set container network TEST vrf TESTVRF
set container name SERVICE1 network TEST

Verification:

6: pod-SERVICES: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master SERVICE state UP group default qlen 1000
    link/ether 8a:61:51:a0:21:09 brd ff:ff:ff:ff:ff:ff
    inet 169.254.1.1/24 brd 169.254.1.255 scope global pod-SERVICES
       valid_lft forever preferred_lft forever
    inet6 fd00:169:254:1::1/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::8861:51ff:fea0:2109/64 scope link
       valid_lft forever preferred_lft forever

Smoketest result

N/A

Checklist:

  • I have read the CONTRIBUTING document
  • I have linked this PR to one or more Phabricator Task(s)
  • I have run the components SMOKETESTS if applicable
  • My commit headlines contain a valid Task id
  • My change requires a change to the documentation
  • I have updated the documentation accordingly

@vyosbot vyosbot requested review from a team, dmbaturin, sarthurdev, zdc, jestabro, sever-sever and c-po and removed request for a team April 9, 2024 18:31
@c-po c-po merged commit 5d89003 into vyos:current Apr 9, 2024
8 checks passed
@c-po
Copy link
Member

c-po commented Apr 9, 2024

@Mergifyio backport sagitta

Copy link
Contributor

mergify bot commented Apr 9, 2024

backport sagitta

✅ Backports have been created

@jvoss jvoss deleted the eui64_podman_vrf branch April 9, 2024 18:41
sever-sever added a commit that referenced this pull request Apr 9, 2024
container: T6218: fix host IPv6 link-local address for VRF networks (backport #3286)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

2 participants