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

ospfd: Send LS Updates in response to LS Request as unicast. #15555

Merged

Conversation

aceelindem
Copy link
Collaborator

@aceelindem aceelindem commented Mar 14, 2024

With this fix, OSPF LS Updates sent in response to OSPF LS Requests during the DB Exchange process will be sent as unicasts. Unless the timing of multiple database exchanges coincides, there is little chance that the LSAs in the LS Update are required by OSPF routers other than the one which elicited the LS Update.

While RFC 2328 is somewhat ambiguous on this point, FRR OSPFv3 (ospf6d) already does it correctly - see ospf6_lsupdate_send_neighbor(struct event *thread). Also, if there is any doubt, one can refer to the C++ code at ospf.org (John Moy's seminal OSPF reference implementation).

@aceelindem
Copy link
Collaborator Author

CI:rerun

1 similar comment
@aceelindem
Copy link
Collaborator Author

CI:rerun

@ton31337
Copy link
Member

Can we put these details in the commit directly (for history purposes)?

With this fix, OSPF LS Updates sent in response to OSPF LS Requests during the DB Exchange process will be sent as unicasts. Unless the timing of multiple database exchanges coincides, there is little chance that the LSAs in the LS Update are required by OSPF routers other than the one which elicited the LS Update.

This is somewhat ambigous in RFC 2328 and two errata have been filed for clarification:

https://www.rfc-editor.org/errata/eid7850
https://www.rfc-editor.org/errata/eid7851

FRR OSPFv3 (ospf6d) already does it correctly - see ospf6_lsupdate_send_neighbor(struct event *thread). Also, if there is any doubt, one can refer to the C++ code at ospf.org (John Moy's seminal OSPF reference implementation).

Signed-off-by: Acee Lindem <[email protected]>
@aceelindem aceelindem force-pushed the acee/ospf-ls-request-direct-response branch from a312473 to def1455 Compare March 18, 2024 14:42
@aceelindem
Copy link
Collaborator Author

Can we put these details in the commit directly (for history purposes)?

Good point - I've amended the commit and pushed. However, I may have over achieved with description.

@aceelindem
Copy link
Collaborator Author

CI:rerun

2 similar comments
@aceelindem
Copy link
Collaborator Author

CI:rerun

@aceelindem
Copy link
Collaborator Author

CI:rerun

Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

@riw777 riw777 merged commit a497c74 into FRRouting:master Mar 19, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants