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

Add IPSec mechanism #660

Merged
merged 1 commit into from
Dec 6, 2022
Merged

Conversation

glazychev-art
Copy link
Contributor

@glazychev-art glazychev-art commented Nov 25, 2022

Issue: #638

Signed-off-by: Artem Glazychev artem.glazychev@xored.com

Description

IKEv2

This implementation is based on built-in vpp IKEv2 plugin - https://github.com/FDio/vpp/tree/master/src/plugins/ikev2
Many things have been implemented based on - https://wiki.fd.io/view/VPP/IPSec_and_IKEv2#IKEv2_negotiation_between_a_VPP_responder_and_a_VPP_initiator.2C_using_RSA_signature_authentication_method
We also use here UDP encapsulation of ESP packets.

Pinhole

This PR also modifies the pinhole chain element to pass additional rules via metadata. This is necessary because IPSec uses 2 UDP ports to function. One (4500) is passed in the mechanism and the other (500) is passed through the metadata as it is a constant.

Also added mutex for pinhole. This is necessary because the pinhole chain element dumps VPP, performs some manipulations and reassign ACL rules. Possible data race.

Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
@denis-tingaikin denis-tingaikin merged commit 1e7ed6b into networkservicemesh:main Dec 6, 2022
nsmbot pushed a commit to networkservicemesh/cmd-nse-vl3-vpp that referenced this pull request Dec 6, 2022
…k-vpp@main

PR link: networkservicemesh/sdk-vpp#660

Commit: 1e7ed6b
Author: Artem Glazychev
Date: 2022-12-06 16:29:44 +0700
Message:
  - Add IPSec mechanism (#660)
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
nsmbot pushed a commit to networkservicemesh/cmd-nse-vlan-vpp that referenced this pull request Dec 6, 2022
…k-vpp@main

PR link: networkservicemesh/sdk-vpp#660

Commit: 1e7ed6b
Author: Artem Glazychev
Date: 2022-12-06 16:29:44 +0700
Message:
  - Add IPSec mechanism (#660)
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
nsmbot pushed a commit to networkservicemesh/cmd-nse-icmp-responder-vpp that referenced this pull request Dec 6, 2022
…k-vpp@main

PR link: networkservicemesh/sdk-vpp#660

Commit: 1e7ed6b
Author: Artem Glazychev
Date: 2022-12-06 16:29:44 +0700
Message:
  - Add IPSec mechanism (#660)
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
nsmbot pushed a commit to networkservicemesh/cmd-nsc-simple-docker that referenced this pull request Dec 6, 2022
…k-vpp@main

PR link: networkservicemesh/sdk-vpp#660

Commit: 1e7ed6b
Author: Artem Glazychev
Date: 2022-12-06 16:29:44 +0700
Message:
  - Add IPSec mechanism (#660)
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
nsmbot pushed a commit to networkservicemesh/cmd-forwarder-vpp that referenced this pull request Dec 6, 2022
…k-vpp@main

PR link: networkservicemesh/sdk-vpp#660

Commit: 1e7ed6b
Author: Artem Glazychev
Date: 2022-12-06 16:29:44 +0700
Message:
  - Add IPSec mechanism (#660)
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
nsmbot pushed a commit to networkservicemesh/cmd-nsc-vpp that referenced this pull request Dec 6, 2022
…k-vpp@main

PR link: networkservicemesh/sdk-vpp#660

Commit: 1e7ed6b
Author: Artem Glazychev
Date: 2022-12-06 16:29:44 +0700
Message:
  - Add IPSec mechanism (#660)
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
nsmbot pushed a commit to networkservicemesh/cmd-nse-firewall-vpp that referenced this pull request Dec 6, 2022
…k-vpp@main

PR link: networkservicemesh/sdk-vpp#660

Commit: 1e7ed6b
Author: Artem Glazychev
Date: 2022-12-06 16:29:44 +0700
Message:
  - Add IPSec mechanism (#660)
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
nsmbot pushed a commit to networkservicemesh/cmd-nse-simple-vl3-docker that referenced this pull request Dec 6, 2022
…k-vpp@main

PR link: networkservicemesh/sdk-vpp#660

Commit: 1e7ed6b
Author: Artem Glazychev
Date: 2022-12-06 16:29:44 +0700
Message:
  - Add IPSec mechanism (#660)
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
nsmbot pushed a commit that referenced this pull request Apr 25, 2024
…k-kernel@main

PR link: networkservicemesh/sdk-kernel#660

Commit: 4e18004
Author: Network Service Mesh Bot
Date: 2024-04-25 13:52:03 -0500
Message:
  - Update go.mod and go.sum to latest version from networkservicemesh/sdk@main (#660)
PR link: networkservicemesh/sdk#1614
Commit: aa92e5b
Author: Network Service Mesh Bot
Date: 2024-04-25 13:49:29 -0500
Message:
    - Update go.mod and go.sum to latest version from networkservicemesh/api@main (#1614)
PR link: networkservicemesh/api#171
Commit: d0df988
Author: Nikita Skrynnik
Date: 2024-04-25 04:04:52 +0700
Message:
        - Create releases with Github CLI (#171)
* Create releases with Github CLI
* use reusable github actions for release and release-dependent-repositories jobs
* fix yaml linter issues
* remove get-tag job
---------
Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
nsmbot added a commit that referenced this pull request Apr 25, 2024
…k-kernel@main (#826)

PR link: networkservicemesh/sdk-kernel#660

Commit: 4e18004
Author: Network Service Mesh Bot
Date: 2024-04-25 13:52:03 -0500
Message:
  - Update go.mod and go.sum to latest version from networkservicemesh/sdk@main (#660)
PR link: networkservicemesh/sdk#1614
Commit: aa92e5b
Author: Network Service Mesh Bot
Date: 2024-04-25 13:49:29 -0500
Message:
    - Update go.mod and go.sum to latest version from networkservicemesh/api@main (#1614)
PR link: networkservicemesh/api#171
Commit: d0df988
Author: Nikita Skrynnik
Date: 2024-04-25 04:04:52 +0700
Message:
        - Create releases with Github CLI (#171)
* Create releases with Github CLI
* use reusable github actions for release and release-dependent-repositories jobs
* fix yaml linter issues
* remove get-tag job
---------

Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
Co-authored-by: NSMBot <nsmbot@networkservicmesh.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants