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: Fix several problems with direct and delayed acknowledgments (backport #16351) #16358

Closed
wants to merge 1 commit into from

Conversation

mergify[bot]
Copy link

@mergify mergify bot commented Jul 9, 2024

  1. On P2MP interfaces, direct ack would include the same LSA multiple times multiple packets are processed before the OSPF interfae direct LSA acknowledgment event is processed. Now duplicates LSA in the same event are suppressed.
  2. On non-broadcast interfaces, direct acks for multiple neighbors would be unicast to the same neighbor due to the multiple OSPF LS Update packets being process prior to the OSPF interface direct ack event. Now, separate direct acks are unicast to the neighbors requiring them.
  3. The interface delayed acknowledgment timer runs would run continously (every second as long as the interace is up). Now, the timer is set when delayed acknowledgments are queued and all queued delayed acknowledges are sent when it fires.
  4. For non-broadcast interface delayed acknowledgments, the logic to send to multiple neighbors wasn't working because the list was emptied while building the packet for the first neighbor.
    This is an automatic backport of pull request ospfd: Fix several problems with direct and delayed acknowledgments  #16351 done by Mergify.

…delay acks.

   1. On P2MP interfaces, direct ack would include the same LSA multiple times
      multiple packets are processed before the OSPF interfae direct LSA
      acknowledgment event is processed. Now duplicates LSA in the same event
      are suppressed.
   2. On non-broadcast interfaces, direct acks for multiple neighbors would be
      unicast to the same neighbor due to the multiple OSPF LS Update packets
      being process prior to the OSPF interface direct ack event. Now, separate
      direct acks are unicast to the neighbors requiring them.
   3. The interface delayed acknowledgment timer runs would run continously
      (every second as long as the interace is up). Now, the timer is set
      when delayed acknowledgments are queued and all queued delayed
      acknowledges are sent when it fires.
   4. For non-broadcast interface delayed acknowledgments, the logic to send
      to multiple neighbors wasn't working because the list was emptied while
      building the packet for the first neighbor.

Signed-off-by: Acee Lindem <[email protected]>
(cherry picked from commit ed48014)

# Conflicts:
#	ospfd/ospf_flood.h
#	ospfd/ospf_packet.c
#	ospfd/ospf_packet.h
@mergify mergify bot added the conflicts label Jul 9, 2024
Copy link
Author

mergify bot commented Jul 9, 2024

Cherry-pick of ed48014 has failed:

On branch mergify/bp/stable/10.0/pr-16351
Your branch is up to date with 'origin/stable/10.0'.

You are currently cherry-picking commit ed48014884.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   lib/libospf.h
	modified:   ospfd/ospf_flood.c
	modified:   ospfd/ospf_interface.c
	modified:   ospfd/ospf_interface.h
	modified:   ospfd/ospf_ism.c

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   ospfd/ospf_flood.h
	both modified:   ospfd/ospf_packet.c
	both modified:   ospfd/ospf_packet.h

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@frrbot frrbot bot added the ospf label Jul 9, 2024
@ton31337 ton31337 closed this Jul 9, 2024
@ton31337 ton31337 deleted the mergify/bp/stable/10.0/pr-16351 branch July 9, 2024 08:04
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.

2 participants