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

RIB is not thread safe #82

Closed
pulsejet opened this issue Dec 24, 2024 · 8 comments
Closed

RIB is not thread safe #82

pulsejet opened this issue Dec 24, 2024 · 8 comments
Labels
fw YaNFD issues

Comments

@pulsejet
Copy link
Collaborator

pulsejet commented Dec 24, 2024

Got a race while removing a face

@pulsejet pulsejet added bug Something isn't working fw YaNFD issues labels Dec 24, 2024
@zjkmxy
Copy link
Member

zjkmxy commented Dec 24, 2024

I remember a previous decision is to move RIB outside the forwarder app. Is this still the case?

@pulsejet pulsejet removed the bug Something isn't working label Dec 30, 2024
@pulsejet
Copy link
Collaborator Author

pulsejet commented Jan 2, 2025

I want to, but this seems like the shortest path to not break NFD compatibility for now :(

@Pesa
Copy link
Member

Pesa commented Jan 3, 2025

this seems like the shortest path to not break NFD compatibility for now :(

What do you mean by NFD compatibility here? And why does it matter for NFD compatibility whether the NDNd RIB is internal or separate? From the point of view of an NDN app, this is little more than an implementation detail.

@pulsejet
Copy link
Collaborator Author

pulsejet commented Jan 3, 2025

What do you mean by NFD compatibility here? And why does it matter for NFD compatibility whether the NDNd RIB is internal or separate? From the point of view of an NDN app, this is little more than an implementation detail.

If we remove the RIB, the management protocol would need to change (rib/register, for instance wouldn't make sense when there's no RIB). This will break tooling (nfdc) as well as NDN apps that call management directly (e.g. Workspace).

@Pesa
Copy link
Member

Pesa commented Jan 3, 2025

I'm still not following. rib/register is handled by the RIB component, whether that's built-in or external makes no difference. Again, the app doesn't need to care.

@Pesa
Copy link
Member

Pesa commented Jan 3, 2025

And for the record, I'm still not convinced that an external/separate RIB is a good idea.

@pulsejet
Copy link
Collaborator Author

pulsejet commented Jan 3, 2025

I'm still not following. rib/register is handled by the RIB component, whether that's built-in or external makes no difference. Again, the app doesn't need to care.

Say the RIB is in the router instead of NFD, then it won't be /localhost/nfd/rib/register, no? (not an NFD route anymore)

And for the record, I'm still not convinced that an external/separate RIB is a good idea.

Earlier I didn't fully understand what the RIB was doing in NFD, but now it makes more sense to me. For now I've no plan to remove the RIB / change the existing design.

@Pesa
Copy link
Member

Pesa commented Jan 3, 2025

I'm still not following. rib/register is handled by the RIB component, whether that's built-in or external makes no difference. Again, the app doesn't need to care.

Say the RIB is in the router instead of NFD, then it won't be /localhost/nfd/rib/register, no? (not an NFD route anymore)

Are you concerned about the nfd component in the name? I don't think it matters, it's just a convention. It simply means "this is the NFD management protocol". Isn't that the whole point of names btw? what, not where.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fw YaNFD issues
Projects
None yet
Development

No branches or pull requests

3 participants