allow link-local multicast on ingress ports#222
Merged
rcgoodfellow merged 1 commit intomainfrom Feb 20, 2026
Merged
Conversation
Nieuwejaar
approved these changes
Feb 20, 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.
On Asilomar, we were not able to peer with Juniper routers using BGP unnumbered. There is a bit of a quirk the the Juniper unnumbered implementation in that when you send it an NDP router solicitation, it will send a corresponding router advertisement back on
ff02::1instead of responding directly to the peers link-local unicast address.Packet traces were showing our router solicitation packets arriving on the Juniper router, and the Juniper router was sending back advertisements to
ff02::1, but we were not seeing them in the switch zone.I used the forthcoming snapshot tool to debug this. The following sets up a capture filter on a destination of
ff02::1and a source filter on the link local address of the Juniper router we are trying to peer with. The-fflags are the fields we want to capture. We use pipeline 1 because that is the pipeline this particular port is on.the values shown at each stage are measured at the end of stage execution. That means we were setting the
meta.droppedvalue some time in stage 6. The table output shows this is the stage we are executing theNatIngresscontrol in. From there it was pretty straightforward to see that we had determined this was not a NAT ingress packet and it was also not a packet destined to a switch address, so we drop it. But we need to also let link-local multicast through to the switch zone in this case.After deploying this patch to madrid, our peering session with the juniper sprung to life.