-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[bgp, lib, tests, zebra] Add support for IPv6 VTEP for VXLAN Single Homing #18539
Draft
mikemallin
wants to merge
6
commits into
FRRouting:master
Choose a base branch
from
mikemallin:dev/ipv6-vtep-support-zebra
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
[bgp, lib, tests, zebra] Add support for IPv6 VTEP for VXLAN Single Homing #18539
mikemallin
wants to merge
6
commits into
FRRouting:master
from
mikemallin:dev/ipv6-vtep-support-zebra
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fb4d645
to
1090825
Compare
1090825
to
040f29d
Compare
cadf3c1
to
609e39d
Compare
ton31337
requested changes
Mar 29, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without documentation and topotests this is no go yet.
Ok, I'll finish porting of the BGP and topotest changes, and add documentation before asking for review. |
df5012b
to
bba2ecc
Compare
- %pI4 to %pIA - "struct in_addr" to "struct ipaddr" - Stop changes at the ZAPI boundary until BGP is IPv6 VTEP aware - Show command filter changes as necessary to support IPv6 VTEP arguments - Add "ipaddr_is_mcast" to lib/ipaddr.h This is intended to be a no-harm commit until more IPv6 VTEP code is committed. Signed-off-by: Mike Mallin <mmallin@cisco.com> Co-authored-by: Tarek Saad <tsaad@cisco.com> Co-authored-by: Ramanan Natarajan <ramannat@cisco.com>
This commit enables Kernel forwarding for IPv4 hosts which are reachable over an IPv6 overlay. The RTA_VIA attribute is used for correct forwarding in the kernel. A minor bugfix, when Zebra receives a route add, the nexthop type is used instead of the route address family in order to decode the EVPN Nexthop Address correctly. Otherwise it tries to truncate the IPv6 VTEP address and use it as a IPv4 VTEP... Signed-off-by: Mike Mallin <mmallin@cisco.com> Co-authored-by: Barry Friedman <friedman@cisco.com>
- %pI4 -> %pIA - struct in_addr -> struct ip_addr - Added zebra IPv6 VTEP handling code behind #if 0 (will enable in next commit with the topotests for Single Homed IPv6 VTEP) - Use either "mp_nexthop_global_in" (IPv4 VTEP) or "mp_nexthop_global" (IPv6 VTEP) for sending/receiving the nexthop of the route - Show commands with a VTEP filter will be extended for IPv6 support in an upcoming commit Signed-off-by: Mike Mallin <mmallin@cisco.com> Co-authored-by: Tarek Saad <tsaad@cisco.com>
This commit switches the ZAPI messaging to send/receive "struct ipaddr" between BGP and Zebra for L2VNI, L3VNI and MAC-IP. A variant of bgp_evpn_rt5 for V6 VTEP is added to test the changes from end-to-end. Signed-off-by: Mike Mallin <mmallin@cisco.com>
Signed-off-by: Mike Mallin <mmallin@cisco.com>
Signed-off-by: Mike Mallin <mmallin@cisco.com>
bba2ecc
to
dd95c6a
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TODO
Open Questions for Reviewers (
V6_VTEP_PR_QUESTION
)Description
This PR extends FRR to support IPv6 VTEPs for VxLAN. It also enables IPv4 over IPv6 VTEP forwarding in the Linux Kernel using the
RTA_VIA
attribute.Lib changes
ipaddr_is_mcast
Zebra Changes
%pI4
to%pIA
struct in_addr
tostruct ipaddr
arguments
BGP Changes
%pI4
->%pIA
struct in_addr
->struct ip_addr
mp_nexthop_global_in
(IPv4 VTEP) ormp_nexthop_global
(IPv6 VTEP) for sending/receiving the nexthop of the route
Topotest Changes
Added V6 VTEP variants of the following topotests:
Documentation Changes
TODO
This is part of the upstreaming process for #5885.