ironcore-dev / ironcore-dev/roadmap

Efficient network traffic offloading using asynchronous API

Open
#70 6 comments 0 reactions 1 assignee View on GitHub

@byteocean is already working on this.

Since Apr 16, 2025.

area/networking
Dominant language
Shell
Stars
1
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Summary

Ironcore dataplane component already supports offloading rule management using the synchronous APIs, which however will enter the development maintenance by the smartNic vendor. This initiative aims to introduce the asynchronous offloading rule management into the Ironcore's networking data-plane component. It is claimed by the smartNic vendor, such as Nvidia, that such template APIs enable fast and efficient provision of rules. More importantly, the smarNic vendor shifts their development focus and develop new features solely based on this asynchronous flow managment approach. Using this new offloading rule management method makes Ironcore dataplane component update-to-date and maintains its capability of incorporating new features.

Asynchronous APIs are still under development of the SmartNic vendors, and they need to deliver necessary driver/API support before this enhancement happens.


Scope

✅ In Scope
  • Verify driver/API support for Ironcore networking dataplane functions.
  • Implement offloading rule management based on asynchronous APIs:
    • IPinIP tunnel encapsulation/decapsulation
    • NAT / NAT64
    • Loadbalancer
    • Flow sampling
  • Verify the correctness of the implemented asynchronous offloading rule management method
    • Test on Mellanox ConnectX6 card
    • Test on Mellanox Bluefied card
❌ Out of Scope
  • Support for old model of Mellanox cards, such as ConnectX4 or ConnectX5.

Responsible Areas

  • Networking

Contributors

  • @byteocean
  • @guvenc

Acceptance Criteria

  • Networking
    • Confirmation that all needed driver support are delivered by the smartNic vendor
    • Network functions can be offloaded by using asynchronous template APIs

Action Items

  • Assign labels (e.g., kind/epic, area/virtualization, kind/api-change)
  • Set milestone (H1/2025)
  • Assign dependent sub-issues in each required area
  • Assign an owner to the issue using the GitHub "Assignee" field
  • List all contributors in the "Contributors" section above
  • Add this issue to the Roadmap project

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.