Repository navigation
p4: implement SC_ARP_NEEDED / SC_NEIGHBOR_NEEDED #181
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
Open
taspelund
wants to merge
11
commits into
oxidecomputer:main
Choose a base branch
from
taspelund:trey/arp-needed
base: main
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.
+609
−177
Open
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
0bf3081
p4: implement SC_ARP_NEEDED / SC_NEIGHBOR_NEEDED
taspelund 8c75174
[multicast] restrict scrimlet multicast to IPv6 link-local
zeeshanlakhani c174b21
Merge pull request #1 from oxidecomputer/zl/arp-needed-mcast
taspelund 917fb1b
[test] update tests
zeeshanlakhani e0d5b8d
[nit] fix
zeeshanlakhani 5885940
Merge pull request #2 from oxidecomputer/zl/arp-needed-mcast-test-fix
taspelund 7e446ef
[nit] fix
zeeshanlakhani 82bf148
[fmt]
zeeshanlakhani a3bb85b
softnpu: update scrimlet_mcast_copies test comment
taspelund c9dd501
[mcast] switch-zone mcast goes out the mcast path
zeeshanlakhani 840ce97
[mcast, mac] switch-zone traffic out sc_egress; SMAC rewrite @ end of…
zeeshanlakhani File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Oops, something went wrong.
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.
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.
It's still not clear to me why this logic should change. If a packet is coming from the switch zone, it should just be sent out the port the driver on the host identifies in the sidecar header. There is no resolution to do and any multicast should be handled within the host itself. e.g. we are acting more as a gigantic NIC in this case than a switch.
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.
After some discussion with @rcgoodfellow, including:
I'm going with the giant-NIC model. The next push will return the switch-zone path back to
main'sfwd_from_scrimlet(i.e., no replication/TTL/DMAC handling for anything coming from the switch zone itself). Instead, we'll move the SMAC rewrite to the end of the ingress control for non-mcast packets that make it through to that point and aren't dropped or headed to the scrimlet, akin to DPD's current sidecar approach. tfportd's re-injected packets get their SMAC applied there too, which is how sidecar.p4 already handles them.