diff options
| author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2026-03-04 12:01:50 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-04 12:01:50 +0200 |
| commit | 2a4d52b2b8c39f4f77b526ce80686247dd4d0f95 (patch) | |
| tree | edcf61a295a71c50d8ca20c22a8bec3378f5e86d /interface-definitions | |
| parent | 3030e33b26c1a895179747f2444a0cd79d59f891 (diff) | |
| parent | 673ec335b885ae1de8391dd8c48a5fe16b282db5 (diff) | |
| download | vyos-1x-2a4d52b2b8c39f4f77b526ce80686247dd4d0f95.tar.gz vyos-1x-2a4d52b2b8c39f4f77b526ce80686247dd4d0f95.zip | |
Merge pull request #4930 from giga1699/T8136
ipsec: T8136: IPSEC PPK support
Diffstat (limited to 'interface-definitions')
| -rw-r--r-- | interface-definitions/include/ipsec/childless.xml.i | 29 | ||||
| -rw-r--r-- | interface-definitions/include/ipsec/ppk.xml.i | 24 | ||||
| -rw-r--r-- | interface-definitions/vpn_ipsec.xml.in | 46 |
3 files changed, 97 insertions, 2 deletions
diff --git a/interface-definitions/include/ipsec/childless.xml.i b/interface-definitions/include/ipsec/childless.xml.i new file mode 100644 index 000000000..76ba8d548 --- /dev/null +++ b/interface-definitions/include/ipsec/childless.xml.i @@ -0,0 +1,29 @@ +<!-- include start from ipsec/childless.xml.i --> +<leafNode name="childless"> + <properties> + <help>Enable support for childless IKE SA initiation</help> + <completionHelp> + <list>allow prefer force never</list> + </completionHelp> + <valueHelp> + <format>allow</format> + <description>Accept childless IKE SA in responder mode. Create regular IKE SA in initiator mode</description> + </valueHelp> + <valueHelp> + <format>prefer</format> + <description>In both responder and initiator modes, accept and create childless IKE SA correspondingly</description> + </valueHelp> + <valueHelp> + <format>force</format> + <description>Require the use of childless IKE SA in both responder and initiator modes</description> + </valueHelp> + <valueHelp> + <format>never</format> + <description>Disable support for childless IKE SAs when acting as a responder</description> + </valueHelp> + <constraint> + <regex>(allow|prefer|force|never)</regex> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/ipsec/ppk.xml.i b/interface-definitions/include/ipsec/ppk.xml.i new file mode 100644 index 000000000..bd420766c --- /dev/null +++ b/interface-definitions/include/ipsec/ppk.xml.i @@ -0,0 +1,24 @@ +<!-- include start from ipsec/ppk.xml.i --> +<node name="ppk"> + <properties> + <help>Post-quantum preshared key</help> + </properties> + <children> + <leafNode name="id"> + <properties> + <help>Post-quantum preshared key for this connection</help> + <valueHelp> + <format>txt</format> + <description>ID used for PPK</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="required"> + <properties> + <help>Require a valid PPK for connection to establish</help> + <valueless/> + </properties> + </leafNode> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/vpn_ipsec.xml.in b/interface-definitions/vpn_ipsec.xml.in index a2721e2a1..ffdfeaedf 100644 --- a/interface-definitions/vpn_ipsec.xml.in +++ b/interface-definitions/vpn_ipsec.xml.in @@ -45,10 +45,48 @@ <properties> <help>Secret type</help> <completionHelp> - <list>base64 plaintext</list> + <list>base64 hex plaintext</list> </completionHelp> <constraint> - <regex>(base64|plaintext)</regex> + <regex>(base64|hex|plaintext)</regex> + </constraint> + </properties> + <defaultValue>plaintext</defaultValue> + </leafNode> + </children> + </tagNode> + <tagNode name="ppk"> + <properties> + <help>Post-quantum preshared key name</help> + </properties> + <children> + <leafNode name="id"> + <properties> + <help>ID for PPK</help> + <valueHelp> + <format>txt</format> + <description>ID used for PPK</description> + </valueHelp> + <multi/> + </properties> + </leafNode> + <leafNode name="secret"> + <properties> + <help>Post-quantum preshared secret key</help> + <valueHelp> + <format>txt</format> + <description>Post-quantum preshared secret key</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="secret-type"> + <properties> + <help>Secret type</help> + <completionHelp> + <list>base64 hex plaintext</list> + </completionHelp> + <constraint> + <regex>(base64|hex|plaintext)</regex> </constraint> </properties> <defaultValue>plaintext</defaultValue> @@ -896,9 +934,11 @@ </properties> <defaultValue>x509</defaultValue> </leafNode> + #include <include/ipsec/ppk.xml.i> #include <include/ipsec/authentication-pre-shared-secret.xml.i> </children> </node> + #include <include/ipsec/childless.xml.i> #include <include/generic-description.xml.i> #include <include/generic-disable-node.xml.i> #include <include/ipsec/esp-group.xml.i> @@ -1113,6 +1153,7 @@ </properties> <children> #include <include/ipsec/authentication-id.xml.i> + #include <include/ipsec/ppk.xml.i> #include <include/ipsec/authentication-rsa.xml.i> #include <include/ipsec/authentication-x509.xml.i> <leafNode name="mode"> @@ -1156,6 +1197,7 @@ </leafNode> </children> </node> + #include <include/ipsec/childless.xml.i> <leafNode name="connection-type"> <properties> <help>Connection type</help> |
