doc: add new crypto session information
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Wed, 5 Jul 2017 05:26:20 +0000 (06:26 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 6 Jul 2017 20:34:55 +0000 (22:34 +0200)
Modified cryptodev library section in Programmer's Guide,
with the recent changes in the crypto sessions.

Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
doc/guides/prog_guide/cryptodev_lib.rst
doc/guides/prog_guide/img/cryptodev_sym_sess.svg

index 8feaece..bfef7cc 100644 (file)
@@ -114,9 +114,8 @@ The rte_cryptodev_configure API is used to configure a Crypto device.
    int rte_cryptodev_configure(uint8_t dev_id,
                                struct rte_cryptodev_config *config)
 
-The ``rte_cryptodev_config`` structure is used to pass the configuration parameters.
-In contains parameter for socket selection, number of queue pairs and the
-session mempool configuration.
+The ``rte_cryptodev_config`` structure is used to pass the configuration
+parameters for socket selection and number of queue pairs.
 
 .. code-block:: c
 
@@ -125,12 +124,6 @@ session mempool configuration.
         /**< Socket to allocate resources on */
         uint16_t nb_queue_pairs;
         /**< Number of queue pairs to configure on device */
-
-        struct {
-            uint32_t nb_objs;
-            uint32_t cache_size;
-        } session_mp;
-        /**< Session mempool configuration */
     };
 
 
@@ -432,7 +425,7 @@ operations, as well as also supporting AEAD operations.
 
 Session and Session Management
 
-Session are used in symmetric cryptographic processing to store the immutable
+Sessions are used in symmetric cryptographic processing to store the immutable
 data defined in a cryptographic transform which is used in the operation
 processing of a packet flow. Sessions are used to manage information such as
 expand cipher keys and HMAC IPADs and OPADs, which need to be calculated for a
@@ -443,27 +436,33 @@ Crypto workloads.
 
 .. figure:: img/cryptodev_sym_sess.*
 
-The Crypto device framework provides a set of session pool management APIs for
-the creation and freeing of the sessions, utilizing the Mempool Library.
-
-The framework also provides hooks so the PMDs can pass the amount of memory
-required for that PMDs private session parameters, as well as initialization
-functions for the configuration of the session parameters and freeing function
-so the PMD can managed the memory on destruction of a session.
-
-**Note**: Sessions created on a particular device can only be used on Crypto
-devices of the same type - the same driver id used by this devices,
-and if you try to use a session on a device different
-to that on which it was created then the Crypto operation will fail.
-
-``rte_cryptodev_sym_session_create()`` is used to create a symmetric session on
-Crypto device. A symmetric transform chain is used to specify the particular
-operation and its parameters. See the section below for details on transforms.
-
-.. code-block:: c
-
-   struct rte_cryptodev_sym_session * rte_cryptodev_sym_session_create(
-          uint8_t dev_id, struct rte_crypto_sym_xform *xform);
+The Crypto device framework provides APIs to allocate and initizalize sessions
+for crypto devices, where sessions are mempool objects.
+It is the application's responsibility to create and manage the session mempools.
+This approach allows for different scenarios such as having a single session
+mempool for all crypto devices (where the mempool object size is big
+enough to hold the private session of any crypto device), as well as having
+multiple session mempools of different sizes for better memory usage.
+
+An application can use ``rte_cryptodev_get_private_session_size()`` to
+get the private session size of given crypto device. This function would allow
+an application to calculate the max device session size of all crypto devices
+to create a single session mempool.
+If instead an application creates multiple session mempools, the Crypto device
+framework also provides ``rte_cryptodev_get_header_session_size`` to get
+the size of an uninitialized session.
+
+Once the session mempools have been created, ``rte_cryptodev_sym_session_create()``
+is used to allocate an uninitialized session from the given mempool.
+The session then must be initialized using ``rte_cryptodev_sym_session_init()``
+for each of the required crypto devices. A symmetric transform chain
+is used to specify the operation and its parameters. See the section below for
+details on transforms.
+
+When a session is no longer used, user must call ``rte_cryptodev_sym_session_clear()``
+for each of the crypto devices that are using the session, to free all driver
+private session data. Once this is done, session should be freed using
+``rte_cryptodev_sym_session_free`` which returns them to their mempool.
 
 
 Transforms and Transform Chaining
index e5f41ec..a807ceb 100644 (file)
@@ -1,10 +1,50 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
 <!-- Generated by Microsoft Visio, SVG Export cryptodev_sym_sess.svg Page-1 -->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
-               width="2.17241in" height="2.8102in" viewBox="0 0 156.413 202.335" xml:space="preserve" color-interpolation-filters="sRGB"
-               class="st10">
-       <style type="text/css">
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="4.8933434in"
+   height="3.8972795in"
+   viewBox="0 0 352.31955 280.60496"
+   xml:space="preserve"
+   class="st10"
+   version="1.1"
+   id="svg70"
+   sodipodi:docname="cryptodev_sym_sess.svg"
+   style="font-size:12px;overflow:visible;color-interpolation-filters:sRGB;fill:none;fill-rule:evenodd;stroke-linecap:square;stroke-miterlimit:3"
+   inkscape:version="0.92.1 r15371"><metadata
+   id="metadata74"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1051"
+   id="namedview72"
+   showgrid="false"
+   inkscape:zoom="1.7495789"
+   inkscape:cx="208.74719"
+   inkscape:cy="216.52777"
+   inkscape:window-x="-9"
+   inkscape:window-y="-9"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="g68-0" />
+       <style
+   type="text/css"
+   id="style2">
        <![CDATA[
                .st1 {fill:url(#grad0-4);stroke:#386288;stroke-width:0.75}
                .st2 {fill:#386288;font-family:Calibri;font-size:0.833336em}
        ]]>
        </style>
 
-       <defs id="Patterns_And_Gradients">
-               <linearGradient id="grad0-4" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(60 0.5 0.5)">
-                       <stop offset="0" stop-color="#e8ebef" stop-opacity="1"/>
-                       <stop offset="0.24" stop-color="#f4f5f7" stop-opacity="1"/>
-                       <stop offset="0.54" stop-color="#feffff" stop-opacity="1"/>
+       <defs
+   id="Patterns_And_Gradients"><marker
+   inkscape:isstock="true"
+   style="overflow:visible"
+   id="marker5421"
+   refX="0"
+   refY="0"
+   orient="auto"
+   inkscape:stockid="Arrow2Lend"><path
+     transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+     d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+     style="fill:#41719c;fill-opacity:1;fill-rule:evenodd;stroke:#41719c;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+     id="path5419"
+     inkscape:connector-curvature="0" /></marker><marker
+   inkscape:stockid="Arrow2Lend"
+   orient="auto"
+   refY="0"
+   refX="0"
+   id="Arrow2Lend"
+   style="overflow:visible"
+   inkscape:isstock="true"><path
+     id="path5004"
+     style="fill:#41719c;fill-opacity:1;fill-rule:evenodd;stroke:#41719c;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+     d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+     transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+     inkscape:connector-curvature="0" /></marker><marker
+   inkscape:stockid="Arrow1Lend"
+   orient="auto"
+   refY="0"
+   refX="0"
+   id="Arrow1Lend"
+   style="overflow:visible"
+   inkscape:isstock="true"><path
+     id="path4986"
+     d="M 0,0 5,-5 -12.5,0 5,5 Z"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+     transform="matrix(-0.8,0,0,-0.8,-10,0)"
+     inkscape:connector-curvature="0" /></marker>
+               <linearGradient
+   id="grad0-4"
+   x1="0"
+   y1="0"
+   x2="1"
+   y2="0"
+   gradientTransform="rotate(60,0.5,0.5)">
+                       <stop
+   offset="0"
+   stop-color="#e8ebef"
+   stop-opacity="1"
+   id="stop4" />
+                       <stop
+   offset="0.24"
+   stop-color="#f4f5f7"
+   stop-opacity="1"
+   id="stop6" />
+                       <stop
+   offset="0.54"
+   stop-color="#feffff"
+   stop-opacity="1"
+   id="stop8" />
                </linearGradient>
-       </defs>
-       <defs id="Filters">
-               <filter id="filter_2">
-                       <feGaussianBlur stdDeviation="2"/>
+       <filter
+   id="filter_2-4"><feGaussianBlur
+     stdDeviation="2"
+     id="feGaussianBlur12-0" /></filter><linearGradient
+   inkscape:collect="always"
+   xlink:href="#grad0-4"
+   id="linearGradient189"
+   gradientTransform="scale(0.8787489,1.1379815)"
+   x1="-0.42674366"
+   y1="0.98859203"
+   x2="176.71146"
+   y2="0.98859203"
+   gradientUnits="userSpaceOnUse" /><filter
+   id="filter_2-5"><feGaussianBlur
+     stdDeviation="2"
+     id="feGaussianBlur12-8" /></filter><filter
+   id="filter_2-3"><feGaussianBlur
+     stdDeviation="2"
+     id="feGaussianBlur12-2" /></filter><linearGradient
+   inkscape:collect="always"
+   xlink:href="#grad0-4"
+   id="linearGradient189-7"
+   gradientTransform="scale(0.8787489,1.1379815)"
+   x1="-0.42674366"
+   y1="0.98859203"
+   x2="176.71146"
+   y2="0.98859203"
+   gradientUnits="userSpaceOnUse" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#grad0-4"
+   id="linearGradient500"
+   gradientTransform="matrix(0.8787489,0,0,1.1379815,12.431599,21.739241)"
+   x1="-0.42674366"
+   y1="0.98859203"
+   x2="176.71146"
+   y2="0.98859203"
+   gradientUnits="userSpaceOnUse" /></defs>
+       <defs
+   id="Filters">
+               <filter
+   id="filter_2">
+                       <feGaussianBlur
+   stdDeviation="2"
+   id="feGaussianBlur12" />
                </filter>
        </defs>
-       <g>
-               <title>Page-1</title>
-               <g id="shape18-1" transform="translate(0.749889,-0.75)">
-                       <title>Rounded Rectangle.12</title>
-                       <desc>Crypto Symmetric Session</desc>
-                       <path d="M6.78 202.33 L148.14 202.33 A6.77735 6.77735 -180 0 0 154.91 195.56 L154.91 8.28 A6.77735 6.77735 -180 0 0 148.14
-                                                1.5 L6.78 1.5 A6.77735 6.77735 -180 0 0 -0 8.28 L0 195.56 A6.77735 6.77735 -180 0 0 6.78 202.33 Z"
-                                       class="st1"/>
-                       <text x="24.76" y="14.5" class="st2">Crypto Symmetric Session</text>            </g>
-               <g id="shape19-6" transform="translate(10.6711,-9.82087)">
-                       <title>Rounded Rectangle.13</title>
-                       <desc>Private Session Data</desc>
-                       <g id="shadow19-7" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st3">
-                               <path d="M5.91 202.33 L129.16 202.33 A5.90925 5.90925 -180 0 0 135.07 196.43 L135.07 103.65 A5.90925 5.90925 -180
-                                                        0 0 129.16 97.74 L5.91 97.74 A5.90925 5.90925 -180 0 0 -0 103.65 L0 196.43 A5.90925 5.90925 -180 0 0
-                                                        5.91 202.33 Z" class="st4"/>
-                       </g>
-                       <path d="M5.91 202.33 L129.16 202.33 A5.90925 5.90925 -180 0 0 135.07 196.43 L135.07 103.65 A5.90925 5.90925 -180 0 0
-                                                129.16 97.74 L5.91 97.74 A5.90925 5.90925 -180 0 0 -0 103.65 L0 196.43 A5.90925 5.90925 -180 0 0 5.91 202.33
-                                                Z" class="st5"/>
-                       <text x="26.34" y="153.04" class="st6">Private Session Data</text>              </g>
-               <g id="shape20-12" transform="translate(10.6711,-122.923)">
-                       <title>Rounded Rectangle.15</title>
-                       <desc>General Session Data (struct rte_cryptodev_sym_session)</desc>
-                       <path d="M5.91 202.33 L129.16 202.33 A5.90925 5.90925 -180 0 0 135.07 196.43 L135.07 160.06 A5.90925 5.90925 -180 0 0
-                                                129.16 154.15 L5.91 154.15 A5.90925 5.90925 -180 0 0 -0 160.06 L0 196.43 A5.90925 5.90925 -180 0 0 5.91
-                                                202.33 Z" class="st7"/>
-                       <text x="24.58" y="175.24" class="st6">General Session Data <tspan x="9.16" dy="1.5em" class="st8">(</tspan><tspan
-                                               class="st9">struct </tspan><tspan class="st8">rte</tspan><tspan class="st8">_</tspan><tspan class="st8">cryptodev</tspan><tspan
-                                               class="st8">_</tspan><tspan class="st8">sym</tspan><tspan class="st8">_</tspan><tspan class="st8">session</tspan><tspan
-                                               class="st8">)</tspan></text>            </g>
+       <g
+   id="g68"
+   transform="matrix(1,0,0,0.41409874,-12.807629,-5.4621159)">
+               <title
+   id="title16">Page-1</title>
+               <g
+   id="shape18-1"
+   transform="translate(0.749889,-0.75)">
+                       <title
+   id="title18">Rounded Rectangle.12</title>
+                       <desc
+   id="desc20">Crypto Symmetric Session</desc>
+                       <path
+   d="M 19.211599,224.06924 H 160.5716 a 6.77735,6.77735 0 0 0 6.77,-6.77 V 30.019241 a 6.77735,6.77735 0 0 0 -6.77,-6.78 H 19.211599 a 6.77735,6.77735 0 0 0 -6.78,6.78 V 217.29924 a 6.77735,6.77735 0 0 0 6.78,6.77 z"
+   class="st1"
+   id="path22"
+   style="fill:url(#linearGradient500);stroke:#386288;stroke-width:0.75"
+   inkscape:connector-curvature="0" />
+                       <text
+   x="63.123039"
+   y="28.531481"
+   class="st2"
+   id="text24"
+   style="font-size:16.97244835px;font-family:Calibri;fill:#386288;stroke-width:1.69723928"
+   transform="scale(0.58919214,1.6972392)">Crypto Symmetric Session</text>
+
+               </g>
+               <g
+   id="shape19-6"
+   transform="translate(10.6711,-9.82087)">
+                       <title
+   id="title27">Rounded Rectangle.13</title>
+                       <desc
+   id="desc29">Private Session Data</desc>
+               </g>
+               <g
+   id="shape20-12"
+   transform="matrix(1,0,0,2.5278193,23.531375,-309.78186)">
+                       <title
+   id="title39">Rounded Rectangle.15</title>
+                       <desc
+   id="desc41">void *sess_private_data[]</desc>
+                       <path
+   d="m 5.91,202.33 h 123.25 a 5.90925,5.90925 -180 0 0 5.91,-5.9 v -36.37 a 5.90925,5.90925 -180 0 0 -5.91,-5.91 H 5.91 A 5.90925,5.90925 -180 0 0 0,160.06 v 36.37 a 5.90925,5.90925 -180 0 0 5.91,5.9 z"
+   class="st7"
+   id="path43"
+   inkscape:connector-curvature="0"
+   style="fill:#ffffff;stroke:#41719c;stroke-width:0.75" />
+                       <text
+   x="14.072042"
+   y="159.1931"
+   class="st6"
+   id="text65"
+   style="font-size:11.41061592px;font-family:Calibri;fill:#41719c;stroke-width:1.14105785"
+   transform="scale(0.92359087,1.0827305)">void *sess_private_data[] <tspan
+   x="-3.5230706"
+   class="st9"
+   id="tspan47"
+   style="font-weight:bold;font-size:9.12843513px;stroke-width:1.14105785" /></text>
+
+               <rect
+   style="fill:none;fill-opacity:1;stroke:#41719c;stroke-width:0.73305672;stroke-opacity:1"
+   id="rect4604"
+   width="15.968175"
+   height="14.230948"
+   x="13.494645"
+   y="181.68814" /><rect
+   style="font-size:12px;overflow:visible;color-interpolation-filters:sRGB;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#41719c;stroke-width:0.73305672;stroke-linecap:square;stroke-miterlimit:3;stroke-opacity:1"
+   id="rect4604-7"
+   width="15.968174"
+   height="14.230948"
+   x="29.46282"
+   y="181.68814" /><rect
+   style="font-size:12px;overflow:visible;color-interpolation-filters:sRGB;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#41719c;stroke-width:0.73305672;stroke-linecap:square;stroke-miterlimit:3;stroke-opacity:1"
+   id="rect4604-7-6"
+   width="15.968174"
+   height="14.230948"
+   x="45.430992"
+   y="181.68814" /><rect
+   style="font-size:12px;overflow:visible;color-interpolation-filters:sRGB;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#41719c;stroke-width:0.73305672;stroke-linecap:square;stroke-miterlimit:3;stroke-opacity:1"
+   id="rect4604-7-6-9"
+   width="15.968174"
+   height="14.230948"
+   x="61.399166"
+   y="181.68814" /><rect
+   style="font-size:12px;overflow:visible;color-interpolation-filters:sRGB;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#41719c;stroke-width:0.73305672;stroke-linecap:square;stroke-miterlimit:3;stroke-opacity:1"
+   id="rect4604-7-6-9-8"
+   width="15.968174"
+   height="14.230948"
+   x="77.36734"
+   y="181.68814" /><rect
+   style="font-size:12px;overflow:visible;color-interpolation-filters:sRGB;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#41719c;stroke-width:0.73305672;stroke-linecap:square;stroke-miterlimit:3;stroke-opacity:1"
+   id="rect4604-7-6-9-8-9"
+   width="15.968174"
+   height="14.230948"
+   x="93.33551"
+   y="181.68814" /><rect
+   style="font-size:12px;overflow:visible;color-interpolation-filters:sRGB;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#41719c;stroke-width:0.73305672;stroke-linecap:square;stroke-miterlimit:3;stroke-opacity:1"
+   id="rect4604-7-6-9-8-9-6"
+   width="15.968174"
+   height="14.230948"
+   x="109.30369"
+   y="181.68814" /><path
+   style="fill:none;fill-opacity:1;stroke:#41719c;stroke-width:0.72427988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+   d="m 117.64885,196.01764 0.22164,18.77485 44.6966,-0.0725 -0.22163,-20.00716 16.84434,0.43494"
+   id="path5030"
+   inkscape:connector-curvature="0" /></g>
        </g>
-</svg>
+<g
+   transform="translate(190.70887,-0.53319281)"
+   id="g68-0"><title
+     id="title16-2">Page-1</title><g
+     id="shape18-1-4"
+     transform="matrix(1,0,0,0.57815109,0.749889,-0.11722686)"><title
+   id="title18-4">Rounded Rectangle.12</title><desc
+   id="desc20-6">Crypto Symmetric Session</desc><path
+   inkscape:connector-curvature="0"
+   d="m 6.78,202.33 h 141.36 a 6.77735,6.77735 -180 0 0 6.77,-6.77 V 8.28 A 6.77735,6.77735 -180 0 0 148.14,1.5 H 6.78 A 6.77735,6.77735 -180 0 0 0,8.28 v 187.28 a 6.77735,6.77735 -180 0 0 6.78,6.77 z"
+   class="st1"
+   id="path22-0"
+   style="fill:url(#linearGradient189);stroke:#386288;stroke-width:0.75" /><text
+   x="26.317923"
+   y="17.335487"
+   class="st2"
+   id="text24-5"
+   style="font-size:14.02988338px;font-family:Calibri;fill:#386288;stroke-width:1.40298378"
+   transform="scale(0.71276665,1.4029837)">Crypto Driver Private Session</text>
+
+</g><g
+     id="shape19-6-5"
+     transform="matrix(1.022976,0,0,0.71529071,9.1114734,-39.403506)"><title
+   id="title27-2">Rounded Rectangle.13</title><desc
+   id="desc29-0">Private Session Data</desc><g
+   id="shadow19-7-1"
+   transform="translate(0.345598,1.97279)"
+   class="st3"
+   style="visibility:visible"><path
+     inkscape:connector-curvature="0"
+     d="m 5.91,202.33 h 123.25 a 5.90925,5.90925 -180 0 0 5.91,-5.9 v -92.78 a 5.90925,5.90925 -180 0 0 -5.91,-5.91 H 5.91 A 5.90925,5.90925 -180 0 0 0,103.65 v 92.78 a 5.90925,5.90925 -180 0 0 5.91,5.9 z"
+     class="st4"
+     id="path31-8"
+     style="fill:#bdd0e9;fill-opacity:0.25;stroke:#bdd0e9;stroke-opacity:0.25;filter:url(#filter_2)" /></g><path
+   inkscape:connector-curvature="0"
+   d="m 5.91,202.33 h 123.25 a 5.90925,5.90925 -180 0 0 5.91,-5.9 v -92.78 a 5.90925,5.90925 -180 0 0 -5.91,-5.91 H 5.91 A 5.90925,5.90925 -180 0 0 0,103.65 v 92.78 a 5.90925,5.90925 -180 0 0 5.91,5.9 z"
+   class="st5"
+   id="path34-8"
+   style="fill:#a6b6cd;stroke:#41719c;stroke-width:0.75" /><text
+   x="34.639763"
+   y="119.96548"
+   class="st6"
+   id="text36-7"
+   style="font-size:13.15105343px;font-family:Calibri;fill:#41719c;stroke-width:1.31510115"
+   transform="scale(0.76039781,1.3151011)">Private Session Data</text>
+
+</g><g
+     id="shape18-1-4-7"
+     transform="matrix(1,0,0,0.57815109,0.90591369,163.94402)"><title
+   id="title18-4-3">Rounded Rectangle.12</title><desc
+   id="desc20-6-5">Crypto Symmetric Session</desc><path
+   inkscape:connector-curvature="0"
+   d="m 6.78,202.33 h 141.36 a 6.77735,6.77735 -180 0 0 6.77,-6.77 V 8.28 A 6.77735,6.77735 -180 0 0 148.14,1.5 H 6.78 A 6.77735,6.77735 -180 0 0 0,8.28 v 187.28 a 6.77735,6.77735 -180 0 0 6.78,6.77 z"
+   class="st1"
+   id="path22-0-8"
+   style="fill:url(#linearGradient189-7);stroke:#386288;stroke-width:0.75" /><text
+   x="26.317923"
+   y="17.335487"
+   class="st2"
+   id="text24-5-1"
+   style="font-size:14.02988338px;font-family:Calibri;fill:#386288;stroke-width:1.40298378"
+   transform="scale(0.71276665,1.4029837)">Crypto Driver Private Session</text>
+
+</g><g
+     id="shape19-6-5-1"
+     transform="matrix(1.022976,0,0,0.71529071,9.2675037,124.65774)"><title
+   id="title27-2-4">Rounded Rectangle.13</title><desc
+   id="desc29-0-9">Private Session Data</desc><g
+   id="shadow19-7-1-8"
+   transform="translate(0.345598,1.97279)"
+   class="st3"
+   style="visibility:visible"><path
+     inkscape:connector-curvature="0"
+     d="m 5.91,202.33 h 123.25 a 5.90925,5.90925 -180 0 0 5.91,-5.9 v -92.78 a 5.90925,5.90925 -180 0 0 -5.91,-5.91 H 5.91 A 5.90925,5.90925 -180 0 0 0,103.65 v 92.78 a 5.90925,5.90925 -180 0 0 5.91,5.9 z"
+     class="st4"
+     id="path31-8-4"
+     style="fill:#bdd0e9;fill-opacity:0.25;stroke:#bdd0e9;stroke-opacity:0.25;filter:url(#filter_2-3)" /></g><path
+   inkscape:connector-curvature="0"
+   d="m 5.91,202.33 h 123.25 a 5.90925,5.90925 -180 0 0 5.91,-5.9 v -92.78 a 5.90925,5.90925 -180 0 0 -5.91,-5.91 H 5.91 A 5.90925,5.90925 -180 0 0 0,103.65 v 92.78 a 5.90925,5.90925 -180 0 0 5.91,5.9 z"
+   class="st5"
+   id="path34-8-3"
+   style="fill:#a6b6cd;stroke:#41719c;stroke-width:0.75" /><text
+   x="34.639763"
+   y="119.96548"
+   class="st6"
+   id="text36-7-6"
+   style="font-size:13.15105343px;font-family:Calibri;fill:#41719c;stroke-width:1.31510115"
+   transform="scale(0.76039781,1.3151011)">Private Session Data</text>
+
+</g><text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:30.00008774px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75000221"
+     x="57.540585"
+     y="145.94679"
+     id="text5070"><tspan
+       sodipodi:role="line"
+       id="tspan5068"
+       x="57.540585"
+       y="173.31679"
+       style="stroke-width:0.75000221"></tspan></text>
+<text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.00006485px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75000221"
+     x="60.571766"
+     y="143.21872"
+     id="text5074"><tspan
+       sodipodi:role="line"
+       id="tspan5072"
+       x="60.571766"
+       y="143.21872"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.00006485px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.75000221">...</tspan></text>
+<path
+     style="fill:none;stroke:#41719c;stroke-width:0.74499911px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5421)"
+     d="M -158.57624,71.371238 -157.38,232.04055 -1.1215065,232.19212"
+     id="path5076"
+     inkscape:connector-curvature="0" /></g></svg>