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

Automated backport of #2543: Shortening datapath downtime for libreswan cable #2598

Conversation

yboaron
Copy link
Contributor

@yboaron yboaron commented Jul 3, 2023

Backport of #2543 on release-0.13.

#2543: Shortening datapath downtime for libreswan cable

For details on the backport process, see the backport requests page.

@submariner-bot
Copy link
Contributor

🤖 Created branch: z_pr2598/yboaron/automated-backport-of-#2543-origin-release-0.13
🚀 Full E2E won't run until the "ready-to-test" label is applied. I will add it automatically once the PR has 2 approvals, or you can add it manually.

if !i.plutoStarted {
// Ensure Pluto is started
if err := i.runPluto(); err != nil {
logger.FatalOnError(err, "Error running Pluto")
Copy link
Member

Choose a reason for hiding this comment

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

This isn’t supported on 0.13, you need to use klog.

Currently there is about 2 seconds of downtime in datapath for
libreswan cable when the gateway pod restarts.

When Pluto starts running [1] the IPsec datapath rules created by the
previous GW pod are cleared, and traffic is only recovered after
ConnectToEndpoint events are handled by the libreswan cable driver.

This PR reduces datapath downtime by:
A. Checking Pluto control socket status at faster rate
B. Starting Pluto right before the first ConnectToEndpoint event
   is handled by libreswan cable driver.

With this PR, the datapath downtime is reduced to ~0.5 seconds.

[1]
https://github.com/submariner-io/submariner/blob/devel/pkg/cable/libreswan/libreswan.go#L158

Signed-off-by: Yossi Boaron <yboaron@redhat.com>
@yboaron yboaron force-pushed the automated-backport-of-#2543-origin-release-0.13 branch from beea115 to dc62215 Compare July 5, 2023 08:58
@nyechiel nyechiel requested a review from skitt July 5, 2023 11:43
@submariner-bot submariner-bot added the ready-to-test When a PR is ready for full E2E testing label Jul 5, 2023
@skitt skitt merged commit f7e001a into submariner-io:release-0.13 Jul 10, 2023
@submariner-bot
Copy link
Contributor

🤖 Closed branches: [z_pr2598/yboaron/automated-backport-of-#2543-origin-release-0.13]

@dfarrell07 dfarrell07 added the release-note-needed Should be mentioned in the release notes label Jul 18, 2023
@yboaron yboaron deleted the automated-backport-of-#2543-origin-release-0.13 branch February 14, 2024 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automated-backport ready-to-test When a PR is ready for full E2E testing release-note-handled release-note-needed Should be mentioned in the release notes
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

7 participants