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

A problem about routing #31

Closed
ykxian opened this issue Jun 12, 2024 · 4 comments
Closed

A problem about routing #31

ykxian opened this issue Jun 12, 2024 · 4 comments

Comments

@ykxian
Copy link

ykxian commented Jun 12, 2024

Hi @pfandzelter , I noticed that the platform can query the shortest path between nodes, and the ping results indicate that the latency seems to match the calculated path delay.
image
However, after checking the code, it seems there is no routing implementation for this part, only inter-host routing.
image
How is the routing in Celestial implemented?

Thank you!

@pfandzelter
Copy link
Member

Hi @ykxian, you can find the core of the update logic starting in pkg/orchestrator/orchestrator.go:208. There are methods for BlockLink, UnblockLink, SetLatency, and SetBandwidth, all pertaining to a link between to nodes (i.e., satellites). If you follow this through pkg/orchestrator/virt.go and pkg/virt, you will end up in our emulation backend, which currently is in pkg/ebpfem. Here the methods are implemented using our eBPF-based network emulation. Hope that helps!

@ykxian
Copy link
Author

ykxian commented Jun 12, 2024

Hi @pfandzelter , thanks for your reply!
What I meant to ask is whether the data is forwarded along the shortest path when using ping. If so, how is it implemented? It seems like the next-hop matrix isn't being used. This matrix is only used during queries.

image

These four methods are just for adjusting link connectivity, bandwidth, and latency, right?
BlockLink, UnblockLink, SetLatency, and SetBandwidth

@pfandzelter
Copy link
Member

That's right, the matrix is only used during queries to the info API. The normal routing uses simply the IP forwarding capabilities of the host. There is no further routing, every to microVMs connect directly to each other.

@ykxian
Copy link
Author

ykxian commented Jun 12, 2024

Okay, I understand. Thank you!

@ykxian ykxian closed this as completed Jun 12, 2024
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

No branches or pull requests

2 participants