Project

General

Profile

An XML based management protocol for strongSwan (SMP) » History » Version 1

Martin Willi, 05.07.2007 11:00

1 1 Martin Willi
= An XML based management protocol for strongSwan (SMP) =
2 1 Martin Willi
3 1 Martin Willi
== Overview ==
4 1 Martin Willi
The currently implemented communication interface to [wiki:charon] is called stroke. It's a simple protocol with it's own binary format. Only the input format is specified, output is redirected to the console.
5 1 Martin Willi
6 1 Martin Willi
While this protocol is usable for console applications (ipsec/starter), we need a better protocol to get feedback for an operation, query the status of the daemon, ...
7 1 Martin Willi
8 1 Martin Willi
== Requirements ==
9 1 Martin Willi
  * Querying
10 1 Martin Willi
    * IKE_SA list
11 1 Martin Willi
    * Daemon status
12 1 Martin Willi
    * ...
13 1 Martin Willi
  * Control
14 1 Martin Willi
    * initiate connection
15 1 Martin Willi
    * terminate connection
16 1 Martin Willi
    * ...
17 1 Martin Willi
  * Get notifications
18 1 Martin Willi
    * client connected
19 1 Martin Willi
    * client connect attempt failed
20 1 Martin Willi
    * ...
21 1 Martin Willi
22 1 Martin Willi
== Protocol ==
23 1 Martin Willi
To get an universal usable and easy to implement protocol, SMP is based on a XML. There are five different kind of messages:
24 1 Martin Willi
  * [wiki:SMPQueryRequest QueryRequest]: Request to query information from the daemon
25 1 Martin Willi
  * [wiki:SMPQueryResponse QueryResponse]: The response from the daemon to a !QueryResponse
26 1 Martin Willi
  * [wiki:SMPControlRequest ControlRequest]: Request to control the daemon
27 1 Martin Willi
  * [wiki:SMPControlResponse ControlResponse]: Response to a !ControlRequest
28 1 Martin Willi
  * [wiki:SMPNotification Notification]: Daemon raised notification