Skip to content

Conversation

@ben-malbeclabs
Copy link
Contributor

Summary of Changes

  • RFC detailing FPGA routing and positioning between outer and inner rings.

@ben-malbeclabs ben-malbeclabs self-assigned this Dec 22, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces an RFC detailing the FPGA routing architecture for DoubleZero's edge-filtration (EF) mode, enabling FPGA-based packet filtering for Solana validators while maintaining interoperability with existing IBRL and multicast modes.

Key Changes:

  • Introduces a new vrf1-edge-filtration VRF to route traffic through FPGA hardware
  • Defines traffic flows between EF users, IBRL users, and non-DZ users with FPGA inline filtering
  • Specifies BGP routing policies and DZ-owned IP address space allocation for EF users

Reviewed changes

Copilot reviewed 2 out of 10 changed files in this pull request and generated 5 comments.

File Description
rfcs/rfc-fpga-routing-architecture.md New RFC document describing FPGA routing architecture, VRF design, traffic flows, BGP policies, and IP address management for edge-filtration mode
CHANGELOG.md Added entry for the new FPGA Routing Architecture RFC

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ben-malbeclabs ben-malbeclabs changed the title Fpga Routing Architecture RFC: Fpga Routing Architecture Dec 22, 2025
@ben-malbeclabs ben-malbeclabs changed the title RFC: Fpga Routing Architecture RFC: FPGA Routing Architecture Dec 22, 2025
3. EF user to EF user (different DZDs)
3. EF user to/from non-DZ user

Note that for EF users, intra-metro routing policies supports connectivity to any user - EF or IBRL - except for intra-DZD EF to EF users.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From our conversation in Chicago, my understanding was:
Users could in theory be able to subscribe to different types of Edge Filtering. For the moment, the only type we're going to create is Edge Filtering (Solana), but there might be Edge Filtering (SomeOtherChain). Other types of edge filtering would land into a different VRF lite instance for that type of filtering (vrf#-edge-filtration).

With that, EF(Solana)<->EF(Solana) users within a single DZD would still have connectivity, but their connectivity will not flow through the filtering since it won't have to leave the vrf1-edge-filtration.

EF(Solana)<->Any other type of user will go through the FGPAs. In the future this will include EF(solana)<->EF(some other type).

## Backward Compatibility
- IBRL and multicast connection modes should continue to operate as is.

## Open Questions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Should the implementation enable some DZDs to support edge filtration, while others do not?
    • This would allow us to only roll it out on DZDs that have sufficient DIA capacity to handle DZ<->NonDZ traffic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants