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

Is PATH_CIDS_BLOCKED frame really needed? #500

Closed
mirjak opened this issue Feb 28, 2025 · 3 comments
Closed

Is PATH_CIDS_BLOCKED frame really needed? #500

mirjak opened this issue Feb 28, 2025 · 3 comments

Comments

@mirjak
Copy link
Collaborator

mirjak commented Feb 28, 2025

We discussed today in the interop call if the PATH_CIDS_BLOCKED frame is really needed because usually the peer should provide at least one unused CID for all active paths, otherwise this seems to be rather an implementation error. Also there is no really good reason to not just provide at least one CID for all paths up to the max path id limit. If you want to limit the number of paths, just set a lower max path id limit. This could be clarified in the draft.

However, the use case to send PATH_CIDS_BLOCKED frame when you want to open a new path but are not blocked by the max path id but instead by the fact that you didn't get any CID for an unused path ID seemed still relevant as this behaviour is allowed and therefore might not be an implementation error.

Also as we have now already specified it, there is no real harm in keeping it. A client can choose to not implement and a server can choose to ignore the frame.

@mirjak
Copy link
Collaborator Author

mirjak commented Feb 28, 2025

I created PR #495 to at least hint at the point that it's good to issue CIDs for all paths up to the max path id limit.

@flub
Copy link

flub commented Mar 3, 2025

I landed here while wondering what to do with PATH_CIDS_BLOCKED... I've tried to read the previous information about this in the issues here [0]. Receiving this frame doesn't really help you in practice I think. I'd rather REQUIRE that at least one CID is issued for each un-opened path up the max PathId limit. And maybe even REQUIRE to issue up to max_connection_id_limit CIDs for those unopened paths, at least RECOMMEND.

This mostly because I don't see the value of limiting those: you can already limit the number of paths. Keeping track of a few more CIDs really doesn't bring much value.

On the other hand I could see that the number of round-trips required to open a new path would be increased if implementations could hold off issuing more CIDs.

[0] references I found:

@mirjak
Copy link
Collaborator Author

mirjak commented Mar 19, 2025

This was discussed at IETF-122 and decided to keep it. BLOCKED frames are also useful for debugging.

@mirjak mirjak closed this as completed Mar 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants