Skip to content
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

Create FNIC Concept #649

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions documentation/FNIC/FNIC Concept
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
### Floating NIC Concept:
Here we describe its purpose and how it can be used to accelerate VMs and provide routing functionality without the need for a VM.

**Concept Introduction:** This concept aims to optimize network performance and reduce the reliance on VMs for certain tasks.

**Current Pipeline:** Our current pipeline focuses on accelerating VMs by offloading rule processing to the Smart Switch DPU. The Floating concept builds on this by eliminating the need for a VM in certain scenarios.

**Routing Functionality:** the Floating Nic can handle routing tasks that would typically require a VM. This includes evaluating policies and bouncing packets within the Smart Switch DPU, thus improving efficiency and performance.

**Floating NIC Scenarios:**
Traffic inspection between virtual networks, ACL and Routing Policy application to streamline the process and improve performance

On-Prem Connectivity:
Handle routing tasks directly within the Smart Switch DPU(s), reducing the need for additional hardware and improve efficiency.

Performance Improvements:
Reduces the reliance on VMs and optimizes network processing within the DPU.

Cost Savings:
Reduces the need for compute-heavy VMs and leverages the capabilities of the Smart Switch DPU for routing tasks.

Prototype and Deployment:
The concept has been prototyped and tested, sand has shown significant benefits. The goal is to move from the prototype phase to full implementation in DASH and Smart Switch(es). The prototypes focused on On-Prem connectivity and Private Link services.
Full implementation would involve integrating the Floating NIC concept into the existing infrastructure to leverage its benefits.

Future Developments:
Future developments could include optimizing the pipeline and introducing packet-based configuration for even greater flexibility and performance.


### Examples:

**DASH in 'VM' Mode**

Packet Flow Using NVA VM (Current Scenario) 

The diagram below demonstrates the current legacy scenario.
Here the packet flows from the source and needs to transit a VM for processing before making its way to the destination

**DASH in 'Floating NIC' Mode**

Packet Flow USING FLOATING NIC (New Scenario)

The diagram below builds upon the legacy scenario. Here the NVA VM is completely removed and just a NIC exists. This NIC is termed “floating” since it is not attached to any VM. 




Example DPU (as Floating NIC) Accelerated Scenarios

Floating NIC – PL Fast Path 

On-prem to Azure Connectivity via GW 


Example PL Fast Path: Onprem to Azure Connectivity via Sirius Appliance 


Floating NIC - Pl Fast Path [DPU Apliance] 

ON-Prem to PE CA 


PE-CA to Onprem 
Loading