fix: report distinct client/server tunnel addresses for VXLAN and VLAN - #155
Merged
GyulyVGC merged 1 commit intoAug 12, 2026
Merged
Conversation
vlan_setup and vxlan_setup are each called twice per tunnel (once per side, distinguished by remote_server_name.is_some()), but both always returned the server-side address regardless of which side the call represented. That made ClientInfo.client_net == server_net by construction, so Sessions/Topology/Dashboard showed identical client and server addresses for every VXLAN and VLAN session. Return the already-computed per-side local address (local_veth / local_net_ip) instead. host_mapping is unchanged, since it's meant to always resolve to the server's address. Added regression tests in net.rs asserting the client-side and server-side setup calls return distinct addresses; verified they fail against the pre-fix code.
GyulyVGC
approved these changes
Aug 12, 2026
This file contains hidden or 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
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.
vlan_setupandvxlan_setupare each called twice per tunnel (once per side, distinguished byremote_server_name.is_some()), but both always returned the server-side address regardless of which side the call represented. That madeClientInfo.client_net == server_netby construction, soSessions/Topology/Dashboardshowed identical client and server addresses for every VXLAN and VLAN session.Return the already-computed per-side local address (
local_veth/local_net_ip) instead.host_mappingis unchanged, since it's meant to always resolve to the server's address.Added regression tests in
net.rsasserting the client-side and server-side setup calls return distinct addresses; verified they fail against the pre-fix code.Fixes #134