crypto/dpaa: update the flib RTA
authorHemant Agrawal <hemant.agrawal@nxp.com>
Thu, 30 Aug 2018 05:50:56 +0000 (11:20 +0530)
committerAkhil Goyal <akhil.goyal@nxp.com>
Wed, 26 Sep 2018 11:18:38 +0000 (13:18 +0200)
hw flib code is updated as per the latest set of APIs and macros

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
drivers/crypto/dpaa2_sec/hw/desc.h
drivers/crypto/dpaa2_sec/hw/desc/algo.h
drivers/crypto/dpaa2_sec/hw/desc/ipsec.h
drivers/crypto/dpaa2_sec/hw/rta/protocol_cmd.h
drivers/crypto/dpaa2_sec/hw/rta/sec_run_time_asm.h
drivers/crypto/dpaa_sec/dpaa_sec.c

index d5342a0..aed612b 100644 (file)
@@ -2328,7 +2328,7 @@ dpaa2_sec_set_ipsec_session(struct rte_cryptodev *dev,
 
                session->dir = DIR_ENC;
                bufsize = cnstr_shdsc_ipsec_new_encap(priv->flc_desc[0].desc,
-                               1, 0, &encap_pdb,
+                               1, 0, SHR_SERIAL, &encap_pdb,
                                (uint8_t *)&ip4_hdr,
                                &cipherdata, &authdata);
        } else if (ipsec_xform->direction ==
@@ -2338,7 +2338,8 @@ dpaa2_sec_set_ipsec_session(struct rte_cryptodev *dev,
                decap_pdb.options = sizeof(struct ip) << 16;
                session->dir = DIR_DEC;
                bufsize = cnstr_shdsc_ipsec_new_decap(priv->flc_desc[0].desc,
-                               1, 0, &decap_pdb, &cipherdata, &authdata);
+                               1, 0, SHR_SERIAL,
+                               &decap_pdb, &cipherdata, &authdata);
        } else
                goto out;
 
index e925583..ca94ea3 100644 (file)
 #define OP_PCLID_TLS10_PRF     (0x09 << OP_PCLID_SHIFT)
 #define OP_PCLID_TLS11_PRF     (0x0a << OP_PCLID_SHIFT)
 #define OP_PCLID_TLS12_PRF     (0x0b << OP_PCLID_SHIFT)
-#define OP_PCLID_DTLS10_PRF    (0x0c << OP_PCLID_SHIFT)
+#define OP_PCLID_DTLS_PRF      (0x0c << OP_PCLID_SHIFT)
 #define OP_PCLID_PUBLICKEYPAIR (0x14 << OP_PCLID_SHIFT)
 #define OP_PCLID_DSASIGN       (0x15 << OP_PCLID_SHIFT)
 #define OP_PCLID_DSAVERIFY     (0x16 << OP_PCLID_SHIFT)
 #define OP_PCLID_TLS10         (0x09 << OP_PCLID_SHIFT)
 #define OP_PCLID_TLS11         (0x0a << OP_PCLID_SHIFT)
 #define OP_PCLID_TLS12         (0x0b << OP_PCLID_SHIFT)
-#define OP_PCLID_DTLS10                (0x0c << OP_PCLID_SHIFT)
+#define OP_PCLID_DTLS          (0x0c << OP_PCLID_SHIFT)
 #define OP_PCLID_BLOB          (0x0d << OP_PCLID_SHIFT)
 #define OP_PCLID_IPSEC_NEW     (0x11 << OP_PCLID_SHIFT)
 #define OP_PCLID_3G_DCRC       (0x31 << OP_PCLID_SHIFT)
 
 #define OP_PCL_SRTP_HMAC_SHA1_160               0x0007
 
-/* For SSL 3.0 - OP_PCLID_SSL30 */
-#define OP_PCL_SSL30_AES_128_CBC_SHA            0x002f
-#define OP_PCL_SSL30_AES_128_CBC_SHA_2          0x0030
-#define OP_PCL_SSL30_AES_128_CBC_SHA_3          0x0031
-#define OP_PCL_SSL30_AES_128_CBC_SHA_4          0x0032
-#define OP_PCL_SSL30_AES_128_CBC_SHA_5          0x0033
-#define OP_PCL_SSL30_AES_128_CBC_SHA_6          0x0034
-#define OP_PCL_SSL30_AES_128_CBC_SHA_7          0x008c
-#define OP_PCL_SSL30_AES_128_CBC_SHA_8          0x0090
-#define OP_PCL_SSL30_AES_128_CBC_SHA_9          0x0094
-#define OP_PCL_SSL30_AES_128_CBC_SHA_10                 0xc004
-#define OP_PCL_SSL30_AES_128_CBC_SHA_11                 0xc009
-#define OP_PCL_SSL30_AES_128_CBC_SHA_12                 0xc00e
-#define OP_PCL_SSL30_AES_128_CBC_SHA_13                 0xc013
-#define OP_PCL_SSL30_AES_128_CBC_SHA_14                 0xc018
-#define OP_PCL_SSL30_AES_128_CBC_SHA_15                 0xc01d
-#define OP_PCL_SSL30_AES_128_CBC_SHA_16                 0xc01e
-#define OP_PCL_SSL30_AES_128_CBC_SHA_17                 0xc01f
-
-#define OP_PCL_SSL30_AES_256_CBC_SHA            0x0035
-#define OP_PCL_SSL30_AES_256_CBC_SHA_2          0x0036
-#define OP_PCL_SSL30_AES_256_CBC_SHA_3          0x0037
-#define OP_PCL_SSL30_AES_256_CBC_SHA_4          0x0038
-#define OP_PCL_SSL30_AES_256_CBC_SHA_5          0x0039
-#define OP_PCL_SSL30_AES_256_CBC_SHA_6          0x003a
-#define OP_PCL_SSL30_AES_256_CBC_SHA_7          0x008d
-#define OP_PCL_SSL30_AES_256_CBC_SHA_8          0x0091
-#define OP_PCL_SSL30_AES_256_CBC_SHA_9          0x0095
-#define OP_PCL_SSL30_AES_256_CBC_SHA_10                 0xc005
-#define OP_PCL_SSL30_AES_256_CBC_SHA_11                 0xc00a
-#define OP_PCL_SSL30_AES_256_CBC_SHA_12                 0xc00f
-#define OP_PCL_SSL30_AES_256_CBC_SHA_13                 0xc014
-#define OP_PCL_SSL30_AES_256_CBC_SHA_14                 0xc019
-#define OP_PCL_SSL30_AES_256_CBC_SHA_15                 0xc020
-#define OP_PCL_SSL30_AES_256_CBC_SHA_16                 0xc021
-#define OP_PCL_SSL30_AES_256_CBC_SHA_17                 0xc022
-
-#define OP_PCL_SSL30_AES_128_GCM_SHA256_1       0x009C
-#define OP_PCL_SSL30_AES_256_GCM_SHA384_1       0x009D
-#define OP_PCL_SSL30_AES_128_GCM_SHA256_2       0x009E
-#define OP_PCL_SSL30_AES_256_GCM_SHA384_2       0x009F
-#define OP_PCL_SSL30_AES_128_GCM_SHA256_3       0x00A0
-#define OP_PCL_SSL30_AES_256_GCM_SHA384_3       0x00A1
-#define OP_PCL_SSL30_AES_128_GCM_SHA256_4       0x00A2
-#define OP_PCL_SSL30_AES_256_GCM_SHA384_4       0x00A3
-#define OP_PCL_SSL30_AES_128_GCM_SHA256_5       0x00A4
-#define OP_PCL_SSL30_AES_256_GCM_SHA384_5       0x00A5
-#define OP_PCL_SSL30_AES_128_GCM_SHA256_6       0x00A6
-
-#define OP_PCL_TLS_DH_ANON_AES_256_GCM_SHA384   0x00A7
-#define OP_PCL_TLS_PSK_AES_128_GCM_SHA256       0x00A8
-#define OP_PCL_TLS_PSK_AES_256_GCM_SHA384       0x00A9
-#define OP_PCL_TLS_DHE_PSK_AES_128_GCM_SHA256   0x00AA
-#define OP_PCL_TLS_DHE_PSK_AES_256_GCM_SHA384   0x00AB
-#define OP_PCL_TLS_RSA_PSK_AES_128_GCM_SHA256   0x00AC
-#define OP_PCL_TLS_RSA_PSK_AES_256_GCM_SHA384   0x00AD
-#define OP_PCL_TLS_PSK_AES_128_CBC_SHA256       0x00AE
-#define OP_PCL_TLS_PSK_AES_256_CBC_SHA384       0x00AF
-#define OP_PCL_TLS_DHE_PSK_AES_128_CBC_SHA256   0x00B2
-#define OP_PCL_TLS_DHE_PSK_AES_256_CBC_SHA384   0x00B3
-#define OP_PCL_TLS_RSA_PSK_AES_128_CBC_SHA256   0x00B6
-#define OP_PCL_TLS_RSA_PSK_AES_256_CBC_SHA384   0x00B7
-
-#define OP_PCL_SSL30_3DES_EDE_CBC_MD5           0x0023
-
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA           0x001f
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_2                 0x008b
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_3                 0x008f
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_4                 0x0093
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_5                 0x000a
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_6                 0x000d
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_7                 0x0010
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_8                 0x0013
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_9                 0x0016
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_10        0x001b
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_11        0xc003
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_12        0xc008
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_13        0xc00d
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_14        0xc012
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_15        0xc017
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_16        0xc01a
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_17        0xc01b
-#define OP_PCL_SSL30_3DES_EDE_CBC_SHA_18        0xc01c
-
-#define OP_PCL_SSL30_DES40_CBC_MD5              0x0029
-
-#define OP_PCL_SSL30_DES_CBC_MD5                0x0022
-
-#define OP_PCL_SSL30_DES40_CBC_SHA              0x0008
-#define OP_PCL_SSL30_DES40_CBC_SHA_2            0x000b
-#define OP_PCL_SSL30_DES40_CBC_SHA_3            0x000e
-#define OP_PCL_SSL30_DES40_CBC_SHA_4            0x0011
-#define OP_PCL_SSL30_DES40_CBC_SHA_5            0x0014
-#define OP_PCL_SSL30_DES40_CBC_SHA_6            0x0019
-#define OP_PCL_SSL30_DES40_CBC_SHA_7            0x0026
-
-#define OP_PCL_SSL30_DES_CBC_SHA                0x001e
-#define OP_PCL_SSL30_DES_CBC_SHA_2              0x0009
-#define OP_PCL_SSL30_DES_CBC_SHA_3              0x000c
-#define OP_PCL_SSL30_DES_CBC_SHA_4              0x000f
-#define OP_PCL_SSL30_DES_CBC_SHA_5              0x0012
-#define OP_PCL_SSL30_DES_CBC_SHA_6              0x0015
-#define OP_PCL_SSL30_DES_CBC_SHA_7              0x001a
-
-#define OP_PCL_SSL30_RC4_128_MD5                0x0024
-#define OP_PCL_SSL30_RC4_128_MD5_2              0x0004
-#define OP_PCL_SSL30_RC4_128_MD5_3              0x0018
-
-#define OP_PCL_SSL30_RC4_40_MD5                         0x002b
-#define OP_PCL_SSL30_RC4_40_MD5_2               0x0003
-#define OP_PCL_SSL30_RC4_40_MD5_3               0x0017
-
-#define OP_PCL_SSL30_RC4_128_SHA                0x0020
-#define OP_PCL_SSL30_RC4_128_SHA_2              0x008a
-#define OP_PCL_SSL30_RC4_128_SHA_3              0x008e
-#define OP_PCL_SSL30_RC4_128_SHA_4              0x0092
-#define OP_PCL_SSL30_RC4_128_SHA_5              0x0005
-#define OP_PCL_SSL30_RC4_128_SHA_6              0xc002
-#define OP_PCL_SSL30_RC4_128_SHA_7              0xc007
-#define OP_PCL_SSL30_RC4_128_SHA_8              0xc00c
-#define OP_PCL_SSL30_RC4_128_SHA_9              0xc011
-#define OP_PCL_SSL30_RC4_128_SHA_10             0xc016
-
-#define OP_PCL_SSL30_RC4_40_SHA                         0x0028
-
-/* For TLS 1.0 - OP_PCLID_TLS10 */
-#define OP_PCL_TLS10_AES_128_CBC_SHA            0x002f
-#define OP_PCL_TLS10_AES_128_CBC_SHA_2          0x0030
-#define OP_PCL_TLS10_AES_128_CBC_SHA_3          0x0031
-#define OP_PCL_TLS10_AES_128_CBC_SHA_4          0x0032
-#define OP_PCL_TLS10_AES_128_CBC_SHA_5          0x0033
-#define OP_PCL_TLS10_AES_128_CBC_SHA_6          0x0034
-#define OP_PCL_TLS10_AES_128_CBC_SHA_7          0x008c
-#define OP_PCL_TLS10_AES_128_CBC_SHA_8          0x0090
-#define OP_PCL_TLS10_AES_128_CBC_SHA_9          0x0094
-#define OP_PCL_TLS10_AES_128_CBC_SHA_10                 0xc004
-#define OP_PCL_TLS10_AES_128_CBC_SHA_11                 0xc009
-#define OP_PCL_TLS10_AES_128_CBC_SHA_12                 0xc00e
-#define OP_PCL_TLS10_AES_128_CBC_SHA_13                 0xc013
-#define OP_PCL_TLS10_AES_128_CBC_SHA_14                 0xc018
-#define OP_PCL_TLS10_AES_128_CBC_SHA_15                 0xc01d
-#define OP_PCL_TLS10_AES_128_CBC_SHA_16                 0xc01e
-#define OP_PCL_TLS10_AES_128_CBC_SHA_17                 0xc01f
-
-#define OP_PCL_TLS10_AES_256_CBC_SHA            0x0035
-#define OP_PCL_TLS10_AES_256_CBC_SHA_2          0x0036
-#define OP_PCL_TLS10_AES_256_CBC_SHA_3          0x0037
-#define OP_PCL_TLS10_AES_256_CBC_SHA_4          0x0038
-#define OP_PCL_TLS10_AES_256_CBC_SHA_5          0x0039
-#define OP_PCL_TLS10_AES_256_CBC_SHA_6          0x003a
-#define OP_PCL_TLS10_AES_256_CBC_SHA_7          0x008d
-#define OP_PCL_TLS10_AES_256_CBC_SHA_8          0x0091
-#define OP_PCL_TLS10_AES_256_CBC_SHA_9          0x0095
-#define OP_PCL_TLS10_AES_256_CBC_SHA_10                 0xc005
-#define OP_PCL_TLS10_AES_256_CBC_SHA_11                 0xc00a
-#define OP_PCL_TLS10_AES_256_CBC_SHA_12                 0xc00f
-#define OP_PCL_TLS10_AES_256_CBC_SHA_13                 0xc014
-#define OP_PCL_TLS10_AES_256_CBC_SHA_14                 0xc019
-#define OP_PCL_TLS10_AES_256_CBC_SHA_15                 0xc020
-#define OP_PCL_TLS10_AES_256_CBC_SHA_16                 0xc021
-#define OP_PCL_TLS10_AES_256_CBC_SHA_17                 0xc022
-
-#define OP_PCL_TLS_ECDHE_ECDSA_AES_128_CBC_SHA256  0xC023
-#define OP_PCL_TLS_ECDHE_ECDSA_AES_256_CBC_SHA384  0xC024
-#define OP_PCL_TLS_ECDH_ECDSA_AES_128_CBC_SHA256   0xC025
-#define OP_PCL_TLS_ECDH_ECDSA_AES_256_CBC_SHA384   0xC026
-#define OP_PCL_TLS_ECDHE_RSA_AES_128_CBC_SHA256           0xC027
-#define OP_PCL_TLS_ECDHE_RSA_AES_256_CBC_SHA384           0xC028
-#define OP_PCL_TLS_ECDH_RSA_AES_128_CBC_SHA256    0xC029
-#define OP_PCL_TLS_ECDH_RSA_AES_256_CBC_SHA384    0xC02A
-#define OP_PCL_TLS_ECDHE_ECDSA_AES_128_GCM_SHA256  0xC02B
-#define OP_PCL_TLS_ECDHE_ECDSA_AES_256_GCM_SHA384  0xC02C
-#define OP_PCL_TLS_ECDH_ECDSA_AES_128_GCM_SHA256   0xC02D
-#define OP_PCL_TLS_ECDH_ECDSA_AES_256_GCM_SHA384   0xC02E
-#define OP_PCL_TLS_ECDHE_RSA_AES_128_GCM_SHA256           0xC02F
-#define OP_PCL_TLS_ECDHE_RSA_AES_256_GCM_SHA384           0xC030
-#define OP_PCL_TLS_ECDH_RSA_AES_128_GCM_SHA256    0xC031
-#define OP_PCL_TLS_ECDH_RSA_AES_256_GCM_SHA384    0xC032
-#define OP_PCL_TLS_ECDHE_PSK_RC4_128_SHA          0xC033
-#define OP_PCL_TLS_ECDHE_PSK_3DES_EDE_CBC_SHA     0xC034
-#define OP_PCL_TLS_ECDHE_PSK_AES_128_CBC_SHA      0xC035
-#define OP_PCL_TLS_ECDHE_PSK_AES_256_CBC_SHA      0xC036
-#define OP_PCL_TLS_ECDHE_PSK_AES_128_CBC_SHA256           0xC037
-#define OP_PCL_TLS_ECDHE_PSK_AES_256_CBC_SHA384           0xC038
-
-/* #define OP_PCL_TLS10_3DES_EDE_CBC_MD5       0x0023 */
-
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA           0x001f
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_2                 0x008b
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_3                 0x008f
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_4                 0x0093
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_5                 0x000a
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_6                 0x000d
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_7                 0x0010
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_8                 0x0013
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_9                 0x0016
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_10        0x001b
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_11        0xc003
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_12        0xc008
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_13        0xc00d
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_14        0xc012
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_15        0xc017
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_16        0xc01a
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_17        0xc01b
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA_18        0xc01c
-
-#define OP_PCL_TLS10_DES40_CBC_MD5              0x0029
-
-#define OP_PCL_TLS10_DES_CBC_MD5                0x0022
-
-#define OP_PCL_TLS10_DES40_CBC_SHA              0x0008
-#define OP_PCL_TLS10_DES40_CBC_SHA_2            0x000b
-#define OP_PCL_TLS10_DES40_CBC_SHA_3            0x000e
-#define OP_PCL_TLS10_DES40_CBC_SHA_4            0x0011
-#define OP_PCL_TLS10_DES40_CBC_SHA_5            0x0014
-#define OP_PCL_TLS10_DES40_CBC_SHA_6            0x0019
-#define OP_PCL_TLS10_DES40_CBC_SHA_7            0x0026
-
-#define OP_PCL_TLS10_DES_CBC_SHA                0x001e
-#define OP_PCL_TLS10_DES_CBC_SHA_2              0x0009
-#define OP_PCL_TLS10_DES_CBC_SHA_3              0x000c
-#define OP_PCL_TLS10_DES_CBC_SHA_4              0x000f
-#define OP_PCL_TLS10_DES_CBC_SHA_5              0x0012
-#define OP_PCL_TLS10_DES_CBC_SHA_6              0x0015
-#define OP_PCL_TLS10_DES_CBC_SHA_7              0x001a
-
-#define OP_PCL_TLS10_RC4_128_MD5                0x0024
-#define OP_PCL_TLS10_RC4_128_MD5_2              0x0004
-#define OP_PCL_TLS10_RC4_128_MD5_3              0x0018
-
-#define OP_PCL_TLS10_RC4_40_MD5                         0x002b
-#define OP_PCL_TLS10_RC4_40_MD5_2               0x0003
-#define OP_PCL_TLS10_RC4_40_MD5_3               0x0017
-
-#define OP_PCL_TLS10_RC4_128_SHA                0x0020
-#define OP_PCL_TLS10_RC4_128_SHA_2              0x008a
-#define OP_PCL_TLS10_RC4_128_SHA_3              0x008e
-#define OP_PCL_TLS10_RC4_128_SHA_4              0x0092
-#define OP_PCL_TLS10_RC4_128_SHA_5              0x0005
-#define OP_PCL_TLS10_RC4_128_SHA_6              0xc002
-#define OP_PCL_TLS10_RC4_128_SHA_7              0xc007
-#define OP_PCL_TLS10_RC4_128_SHA_8              0xc00c
-#define OP_PCL_TLS10_RC4_128_SHA_9              0xc011
-#define OP_PCL_TLS10_RC4_128_SHA_10             0xc016
-
-#define OP_PCL_TLS10_RC4_40_SHA                         0x0028
-
-#define OP_PCL_TLS10_3DES_EDE_CBC_MD5           0xff23
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA160        0xff30
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA224        0xff34
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA256        0xff36
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA384        0xff33
-#define OP_PCL_TLS10_3DES_EDE_CBC_SHA512        0xff35
-#define OP_PCL_TLS10_AES_128_CBC_SHA160                 0xff80
-#define OP_PCL_TLS10_AES_128_CBC_SHA224                 0xff84
-#define OP_PCL_TLS10_AES_128_CBC_SHA256                 0xff86
-#define OP_PCL_TLS10_AES_128_CBC_SHA384                 0xff83
-#define OP_PCL_TLS10_AES_128_CBC_SHA512                 0xff85
-#define OP_PCL_TLS10_AES_192_CBC_SHA160                 0xff20
-#define OP_PCL_TLS10_AES_192_CBC_SHA224                 0xff24
-#define OP_PCL_TLS10_AES_192_CBC_SHA256                 0xff26
-#define OP_PCL_TLS10_AES_192_CBC_SHA384                 0xff23
-#define OP_PCL_TLS10_AES_192_CBC_SHA512                 0xff25
-#define OP_PCL_TLS10_AES_256_CBC_SHA160                 0xff60
-#define OP_PCL_TLS10_AES_256_CBC_SHA224                 0xff64
-#define OP_PCL_TLS10_AES_256_CBC_SHA256                 0xff66
-#define OP_PCL_TLS10_AES_256_CBC_SHA384                 0xff63
-#define OP_PCL_TLS10_AES_256_CBC_SHA512                 0xff65
-
-#define OP_PCL_TLS_PVT_AES_192_CBC_SHA160       0xff90
-#define OP_PCL_TLS_PVT_AES_192_CBC_SHA384       0xff93
-#define OP_PCL_TLS_PVT_AES_192_CBC_SHA224       0xff94
-#define OP_PCL_TLS_PVT_AES_192_CBC_SHA512       0xff95
-#define OP_PCL_TLS_PVT_AES_192_CBC_SHA256       0xff96
-#define OP_PCL_TLS_PVT_MASTER_SECRET_PRF_FE     0xfffe
-#define OP_PCL_TLS_PVT_MASTER_SECRET_PRF_FF     0xffff
-
-/* For TLS 1.1 - OP_PCLID_TLS11 */
-#define OP_PCL_TLS11_AES_128_CBC_SHA            0x002f
-#define OP_PCL_TLS11_AES_128_CBC_SHA_2          0x0030
-#define OP_PCL_TLS11_AES_128_CBC_SHA_3          0x0031
-#define OP_PCL_TLS11_AES_128_CBC_SHA_4          0x0032
-#define OP_PCL_TLS11_AES_128_CBC_SHA_5          0x0033
-#define OP_PCL_TLS11_AES_128_CBC_SHA_6          0x0034
-#define OP_PCL_TLS11_AES_128_CBC_SHA_7          0x008c
-#define OP_PCL_TLS11_AES_128_CBC_SHA_8          0x0090
-#define OP_PCL_TLS11_AES_128_CBC_SHA_9          0x0094
-#define OP_PCL_TLS11_AES_128_CBC_SHA_10                 0xc004
-#define OP_PCL_TLS11_AES_128_CBC_SHA_11                 0xc009
-#define OP_PCL_TLS11_AES_128_CBC_SHA_12                 0xc00e
-#define OP_PCL_TLS11_AES_128_CBC_SHA_13                 0xc013
-#define OP_PCL_TLS11_AES_128_CBC_SHA_14                 0xc018
-#define OP_PCL_TLS11_AES_128_CBC_SHA_15                 0xc01d
-#define OP_PCL_TLS11_AES_128_CBC_SHA_16                 0xc01e
-#define OP_PCL_TLS11_AES_128_CBC_SHA_17                 0xc01f
-
-#define OP_PCL_TLS11_AES_256_CBC_SHA            0x0035
-#define OP_PCL_TLS11_AES_256_CBC_SHA_2          0x0036
-#define OP_PCL_TLS11_AES_256_CBC_SHA_3          0x0037
-#define OP_PCL_TLS11_AES_256_CBC_SHA_4          0x0038
-#define OP_PCL_TLS11_AES_256_CBC_SHA_5          0x0039
-#define OP_PCL_TLS11_AES_256_CBC_SHA_6          0x003a
-#define OP_PCL_TLS11_AES_256_CBC_SHA_7          0x008d
-#define OP_PCL_TLS11_AES_256_CBC_SHA_8          0x0091
-#define OP_PCL_TLS11_AES_256_CBC_SHA_9          0x0095
-#define OP_PCL_TLS11_AES_256_CBC_SHA_10                 0xc005
-#define OP_PCL_TLS11_AES_256_CBC_SHA_11                 0xc00a
-#define OP_PCL_TLS11_AES_256_CBC_SHA_12                 0xc00f
-#define OP_PCL_TLS11_AES_256_CBC_SHA_13                 0xc014
-#define OP_PCL_TLS11_AES_256_CBC_SHA_14                 0xc019
-#define OP_PCL_TLS11_AES_256_CBC_SHA_15                 0xc020
-#define OP_PCL_TLS11_AES_256_CBC_SHA_16                 0xc021
-#define OP_PCL_TLS11_AES_256_CBC_SHA_17                 0xc022
-
-/* #define OP_PCL_TLS11_3DES_EDE_CBC_MD5       0x0023 */
-
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA           0x001f
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_2                 0x008b
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_3                 0x008f
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_4                 0x0093
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_5                 0x000a
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_6                 0x000d
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_7                 0x0010
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_8                 0x0013
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_9                 0x0016
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_10        0x001b
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_11        0xc003
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_12        0xc008
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_13        0xc00d
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_14        0xc012
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_15        0xc017
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_16        0xc01a
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_17        0xc01b
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA_18        0xc01c
-
-#define OP_PCL_TLS11_DES40_CBC_MD5              0x0029
-
-#define OP_PCL_TLS11_DES_CBC_MD5                0x0022
-
-#define OP_PCL_TLS11_DES40_CBC_SHA              0x0008
-#define OP_PCL_TLS11_DES40_CBC_SHA_2            0x000b
-#define OP_PCL_TLS11_DES40_CBC_SHA_3            0x000e
-#define OP_PCL_TLS11_DES40_CBC_SHA_4            0x0011
-#define OP_PCL_TLS11_DES40_CBC_SHA_5            0x0014
-#define OP_PCL_TLS11_DES40_CBC_SHA_6            0x0019
-#define OP_PCL_TLS11_DES40_CBC_SHA_7            0x0026
-
-#define OP_PCL_TLS11_DES_CBC_SHA                0x001e
-#define OP_PCL_TLS11_DES_CBC_SHA_2              0x0009
-#define OP_PCL_TLS11_DES_CBC_SHA_3              0x000c
-#define OP_PCL_TLS11_DES_CBC_SHA_4              0x000f
-#define OP_PCL_TLS11_DES_CBC_SHA_5              0x0012
-#define OP_PCL_TLS11_DES_CBC_SHA_6              0x0015
-#define OP_PCL_TLS11_DES_CBC_SHA_7              0x001a
-
-#define OP_PCL_TLS11_RC4_128_MD5                0x0024
-#define OP_PCL_TLS11_RC4_128_MD5_2              0x0004
-#define OP_PCL_TLS11_RC4_128_MD5_3              0x0018
-
-#define OP_PCL_TLS11_RC4_40_MD5                         0x002b
-#define OP_PCL_TLS11_RC4_40_MD5_2               0x0003
-#define OP_PCL_TLS11_RC4_40_MD5_3               0x0017
-
-#define OP_PCL_TLS11_RC4_128_SHA                0x0020
-#define OP_PCL_TLS11_RC4_128_SHA_2              0x008a
-#define OP_PCL_TLS11_RC4_128_SHA_3              0x008e
-#define OP_PCL_TLS11_RC4_128_SHA_4              0x0092
-#define OP_PCL_TLS11_RC4_128_SHA_5              0x0005
-#define OP_PCL_TLS11_RC4_128_SHA_6              0xc002
-#define OP_PCL_TLS11_RC4_128_SHA_7              0xc007
-#define OP_PCL_TLS11_RC4_128_SHA_8              0xc00c
-#define OP_PCL_TLS11_RC4_128_SHA_9              0xc011
-#define OP_PCL_TLS11_RC4_128_SHA_10             0xc016
-
-#define OP_PCL_TLS11_RC4_40_SHA                         0x0028
-
-#define OP_PCL_TLS11_3DES_EDE_CBC_MD5           0xff23
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA160        0xff30
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA224        0xff34
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA256        0xff36
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA384        0xff33
-#define OP_PCL_TLS11_3DES_EDE_CBC_SHA512        0xff35
-#define OP_PCL_TLS11_AES_128_CBC_SHA160                 0xff80
-#define OP_PCL_TLS11_AES_128_CBC_SHA224                 0xff84
-#define OP_PCL_TLS11_AES_128_CBC_SHA256                 0xff86
-#define OP_PCL_TLS11_AES_128_CBC_SHA384                 0xff83
-#define OP_PCL_TLS11_AES_128_CBC_SHA512                 0xff85
-#define OP_PCL_TLS11_AES_192_CBC_SHA160                 0xff20
-#define OP_PCL_TLS11_AES_192_CBC_SHA224                 0xff24
-#define OP_PCL_TLS11_AES_192_CBC_SHA256                 0xff26
-#define OP_PCL_TLS11_AES_192_CBC_SHA384                 0xff23
-#define OP_PCL_TLS11_AES_192_CBC_SHA512                 0xff25
-#define OP_PCL_TLS11_AES_256_CBC_SHA160                 0xff60
-#define OP_PCL_TLS11_AES_256_CBC_SHA224                 0xff64
-#define OP_PCL_TLS11_AES_256_CBC_SHA256                 0xff66
-#define OP_PCL_TLS11_AES_256_CBC_SHA384                 0xff63
-#define OP_PCL_TLS11_AES_256_CBC_SHA512                 0xff65
-
-
-/* For TLS 1.2 - OP_PCLID_TLS12 */
-#define OP_PCL_TLS12_AES_128_CBC_SHA            0x002f
-#define OP_PCL_TLS12_AES_128_CBC_SHA_2          0x0030
-#define OP_PCL_TLS12_AES_128_CBC_SHA_3          0x0031
-#define OP_PCL_TLS12_AES_128_CBC_SHA_4          0x0032
-#define OP_PCL_TLS12_AES_128_CBC_SHA_5          0x0033
-#define OP_PCL_TLS12_AES_128_CBC_SHA_6          0x0034
-#define OP_PCL_TLS12_AES_128_CBC_SHA_7          0x008c
-#define OP_PCL_TLS12_AES_128_CBC_SHA_8          0x0090
-#define OP_PCL_TLS12_AES_128_CBC_SHA_9          0x0094
-#define OP_PCL_TLS12_AES_128_CBC_SHA_10                 0xc004
-#define OP_PCL_TLS12_AES_128_CBC_SHA_11                 0xc009
-#define OP_PCL_TLS12_AES_128_CBC_SHA_12                 0xc00e
-#define OP_PCL_TLS12_AES_128_CBC_SHA_13                 0xc013
-#define OP_PCL_TLS12_AES_128_CBC_SHA_14                 0xc018
-#define OP_PCL_TLS12_AES_128_CBC_SHA_15                 0xc01d
-#define OP_PCL_TLS12_AES_128_CBC_SHA_16                 0xc01e
-#define OP_PCL_TLS12_AES_128_CBC_SHA_17                 0xc01f
-
-#define OP_PCL_TLS12_AES_256_CBC_SHA            0x0035
-#define OP_PCL_TLS12_AES_256_CBC_SHA_2          0x0036
-#define OP_PCL_TLS12_AES_256_CBC_SHA_3          0x0037
-#define OP_PCL_TLS12_AES_256_CBC_SHA_4          0x0038
-#define OP_PCL_TLS12_AES_256_CBC_SHA_5          0x0039
-#define OP_PCL_TLS12_AES_256_CBC_SHA_6          0x003a
-#define OP_PCL_TLS12_AES_256_CBC_SHA_7          0x008d
-#define OP_PCL_TLS12_AES_256_CBC_SHA_8          0x0091
-#define OP_PCL_TLS12_AES_256_CBC_SHA_9          0x0095
-#define OP_PCL_TLS12_AES_256_CBC_SHA_10                 0xc005
-#define OP_PCL_TLS12_AES_256_CBC_SHA_11                 0xc00a
-#define OP_PCL_TLS12_AES_256_CBC_SHA_12                 0xc00f
-#define OP_PCL_TLS12_AES_256_CBC_SHA_13                 0xc014
-#define OP_PCL_TLS12_AES_256_CBC_SHA_14                 0xc019
-#define OP_PCL_TLS12_AES_256_CBC_SHA_15                 0xc020
-#define OP_PCL_TLS12_AES_256_CBC_SHA_16                 0xc021
-#define OP_PCL_TLS12_AES_256_CBC_SHA_17                 0xc022
-
-/* #define OP_PCL_TLS12_3DES_EDE_CBC_MD5       0x0023 */
-
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA           0x001f
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_2                 0x008b
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_3                 0x008f
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_4                 0x0093
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_5                 0x000a
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_6                 0x000d
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_7                 0x0010
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_8                 0x0013
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_9                 0x0016
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_10        0x001b
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_11        0xc003
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_12        0xc008
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_13        0xc00d
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_14        0xc012
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_15        0xc017
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_16        0xc01a
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_17        0xc01b
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA_18        0xc01c
-
-#define OP_PCL_TLS12_DES40_CBC_MD5              0x0029
-
-#define OP_PCL_TLS12_DES_CBC_MD5                0x0022
-
-#define OP_PCL_TLS12_DES40_CBC_SHA              0x0008
-#define OP_PCL_TLS12_DES40_CBC_SHA_2            0x000b
-#define OP_PCL_TLS12_DES40_CBC_SHA_3            0x000e
-#define OP_PCL_TLS12_DES40_CBC_SHA_4            0x0011
-#define OP_PCL_TLS12_DES40_CBC_SHA_5            0x0014
-#define OP_PCL_TLS12_DES40_CBC_SHA_6            0x0019
-#define OP_PCL_TLS12_DES40_CBC_SHA_7            0x0026
-
-#define OP_PCL_TLS12_DES_CBC_SHA                0x001e
-#define OP_PCL_TLS12_DES_CBC_SHA_2              0x0009
-#define OP_PCL_TLS12_DES_CBC_SHA_3              0x000c
-#define OP_PCL_TLS12_DES_CBC_SHA_4              0x000f
-#define OP_PCL_TLS12_DES_CBC_SHA_5              0x0012
-#define OP_PCL_TLS12_DES_CBC_SHA_6              0x0015
-#define OP_PCL_TLS12_DES_CBC_SHA_7              0x001a
-
-#define OP_PCL_TLS12_RC4_128_MD5                0x0024
-#define OP_PCL_TLS12_RC4_128_MD5_2              0x0004
-#define OP_PCL_TLS12_RC4_128_MD5_3              0x0018
-
-#define OP_PCL_TLS12_RC4_40_MD5                         0x002b
-#define OP_PCL_TLS12_RC4_40_MD5_2               0x0003
-#define OP_PCL_TLS12_RC4_40_MD5_3               0x0017
-
-#define OP_PCL_TLS12_RC4_128_SHA                0x0020
-#define OP_PCL_TLS12_RC4_128_SHA_2              0x008a
-#define OP_PCL_TLS12_RC4_128_SHA_3              0x008e
-#define OP_PCL_TLS12_RC4_128_SHA_4              0x0092
-#define OP_PCL_TLS12_RC4_128_SHA_5              0x0005
-#define OP_PCL_TLS12_RC4_128_SHA_6              0xc002
-#define OP_PCL_TLS12_RC4_128_SHA_7              0xc007
-#define OP_PCL_TLS12_RC4_128_SHA_8              0xc00c
-#define OP_PCL_TLS12_RC4_128_SHA_9              0xc011
-#define OP_PCL_TLS12_RC4_128_SHA_10             0xc016
-
-#define OP_PCL_TLS12_RC4_40_SHA                         0x0028
-
-/* #define OP_PCL_TLS12_AES_128_CBC_SHA256     0x003c */
-#define OP_PCL_TLS12_AES_128_CBC_SHA256_2       0x003e
-#define OP_PCL_TLS12_AES_128_CBC_SHA256_3       0x003f
-#define OP_PCL_TLS12_AES_128_CBC_SHA256_4       0x0040
-#define OP_PCL_TLS12_AES_128_CBC_SHA256_5       0x0067
-#define OP_PCL_TLS12_AES_128_CBC_SHA256_6       0x006c
-
-/* #define OP_PCL_TLS12_AES_256_CBC_SHA256     0x003d */
-#define OP_PCL_TLS12_AES_256_CBC_SHA256_2       0x0068
-#define OP_PCL_TLS12_AES_256_CBC_SHA256_3       0x0069
-#define OP_PCL_TLS12_AES_256_CBC_SHA256_4       0x006a
-#define OP_PCL_TLS12_AES_256_CBC_SHA256_5       0x006b
-#define OP_PCL_TLS12_AES_256_CBC_SHA256_6       0x006d
-
-/* AEAD_AES_xxx_CCM/GCM remain to be defined... */
-
-#define OP_PCL_TLS12_3DES_EDE_CBC_MD5           0xff23
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA160        0xff30
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA224        0xff34
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA256        0xff36
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA384        0xff33
-#define OP_PCL_TLS12_3DES_EDE_CBC_SHA512        0xff35
-#define OP_PCL_TLS12_AES_128_CBC_SHA160                 0xff80
-#define OP_PCL_TLS12_AES_128_CBC_SHA224                 0xff84
-#define OP_PCL_TLS12_AES_128_CBC_SHA256                 0xff86
-#define OP_PCL_TLS12_AES_128_CBC_SHA384                 0xff83
-#define OP_PCL_TLS12_AES_128_CBC_SHA512                 0xff85
-#define OP_PCL_TLS12_AES_192_CBC_SHA160                 0xff20
-#define OP_PCL_TLS12_AES_192_CBC_SHA224                 0xff24
-#define OP_PCL_TLS12_AES_192_CBC_SHA256                 0xff26
-#define OP_PCL_TLS12_AES_192_CBC_SHA384                 0xff23
-#define OP_PCL_TLS12_AES_192_CBC_SHA512                 0xff25
-#define OP_PCL_TLS12_AES_256_CBC_SHA160                 0xff60
-#define OP_PCL_TLS12_AES_256_CBC_SHA224                 0xff64
-#define OP_PCL_TLS12_AES_256_CBC_SHA256                 0xff66
-#define OP_PCL_TLS12_AES_256_CBC_SHA384                 0xff63
-#define OP_PCL_TLS12_AES_256_CBC_SHA512                 0xff65
-
-/* For DTLS - OP_PCLID_DTLS */
-
-#define OP_PCL_DTLS_AES_128_CBC_SHA             0x002f
-#define OP_PCL_DTLS_AES_128_CBC_SHA_2           0x0030
-#define OP_PCL_DTLS_AES_128_CBC_SHA_3           0x0031
-#define OP_PCL_DTLS_AES_128_CBC_SHA_4           0x0032
-#define OP_PCL_DTLS_AES_128_CBC_SHA_5           0x0033
-#define OP_PCL_DTLS_AES_128_CBC_SHA_6           0x0034
-#define OP_PCL_DTLS_AES_128_CBC_SHA_7           0x008c
-#define OP_PCL_DTLS_AES_128_CBC_SHA_8           0x0090
-#define OP_PCL_DTLS_AES_128_CBC_SHA_9           0x0094
-#define OP_PCL_DTLS_AES_128_CBC_SHA_10          0xc004
-#define OP_PCL_DTLS_AES_128_CBC_SHA_11          0xc009
-#define OP_PCL_DTLS_AES_128_CBC_SHA_12          0xc00e
-#define OP_PCL_DTLS_AES_128_CBC_SHA_13          0xc013
-#define OP_PCL_DTLS_AES_128_CBC_SHA_14          0xc018
-#define OP_PCL_DTLS_AES_128_CBC_SHA_15          0xc01d
-#define OP_PCL_DTLS_AES_128_CBC_SHA_16          0xc01e
-#define OP_PCL_DTLS_AES_128_CBC_SHA_17          0xc01f
-
-#define OP_PCL_DTLS_AES_256_CBC_SHA             0x0035
-#define OP_PCL_DTLS_AES_256_CBC_SHA_2           0x0036
-#define OP_PCL_DTLS_AES_256_CBC_SHA_3           0x0037
-#define OP_PCL_DTLS_AES_256_CBC_SHA_4           0x0038
-#define OP_PCL_DTLS_AES_256_CBC_SHA_5           0x0039
-#define OP_PCL_DTLS_AES_256_CBC_SHA_6           0x003a
-#define OP_PCL_DTLS_AES_256_CBC_SHA_7           0x008d
-#define OP_PCL_DTLS_AES_256_CBC_SHA_8           0x0091
-#define OP_PCL_DTLS_AES_256_CBC_SHA_9           0x0095
-#define OP_PCL_DTLS_AES_256_CBC_SHA_10          0xc005
-#define OP_PCL_DTLS_AES_256_CBC_SHA_11          0xc00a
-#define OP_PCL_DTLS_AES_256_CBC_SHA_12          0xc00f
-#define OP_PCL_DTLS_AES_256_CBC_SHA_13          0xc014
-#define OP_PCL_DTLS_AES_256_CBC_SHA_14          0xc019
-#define OP_PCL_DTLS_AES_256_CBC_SHA_15          0xc020
-#define OP_PCL_DTLS_AES_256_CBC_SHA_16          0xc021
-#define OP_PCL_DTLS_AES_256_CBC_SHA_17          0xc022
-
-/* #define OP_PCL_DTLS_3DES_EDE_CBC_MD5                0x0023 */
-
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA            0x001f
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_2          0x008b
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_3          0x008f
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_4          0x0093
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_5          0x000a
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_6          0x000d
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_7          0x0010
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_8          0x0013
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_9          0x0016
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_10                 0x001b
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_11                 0xc003
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_12                 0xc008
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_13                 0xc00d
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_14                 0xc012
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_15                 0xc017
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_16                 0xc01a
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_17                 0xc01b
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA_18                 0xc01c
-
-#define OP_PCL_DTLS_DES40_CBC_MD5               0x0029
-
-#define OP_PCL_DTLS_DES_CBC_MD5                         0x0022
-
-#define OP_PCL_DTLS_DES40_CBC_SHA               0x0008
-#define OP_PCL_DTLS_DES40_CBC_SHA_2             0x000b
-#define OP_PCL_DTLS_DES40_CBC_SHA_3             0x000e
-#define OP_PCL_DTLS_DES40_CBC_SHA_4             0x0011
-#define OP_PCL_DTLS_DES40_CBC_SHA_5             0x0014
-#define OP_PCL_DTLS_DES40_CBC_SHA_6             0x0019
-#define OP_PCL_DTLS_DES40_CBC_SHA_7             0x0026
-
-
-#define OP_PCL_DTLS_DES_CBC_SHA                         0x001e
-#define OP_PCL_DTLS_DES_CBC_SHA_2               0x0009
-#define OP_PCL_DTLS_DES_CBC_SHA_3               0x000c
-#define OP_PCL_DTLS_DES_CBC_SHA_4               0x000f
-#define OP_PCL_DTLS_DES_CBC_SHA_5               0x0012
-#define OP_PCL_DTLS_DES_CBC_SHA_6               0x0015
-#define OP_PCL_DTLS_DES_CBC_SHA_7               0x001a
-
-#define OP_PCL_DTLS_3DES_EDE_CBC_MD5            0xff23
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA160                 0xff30
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA224                 0xff34
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA256                 0xff36
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA384                 0xff33
-#define OP_PCL_DTLS_3DES_EDE_CBC_SHA512                 0xff35
-#define OP_PCL_DTLS_AES_128_CBC_SHA160          0xff80
-#define OP_PCL_DTLS_AES_128_CBC_SHA224          0xff84
-#define OP_PCL_DTLS_AES_128_CBC_SHA256          0xff86
-#define OP_PCL_DTLS_AES_128_CBC_SHA384          0xff83
-#define OP_PCL_DTLS_AES_128_CBC_SHA512          0xff85
-#define OP_PCL_DTLS_AES_192_CBC_SHA160          0xff20
-#define OP_PCL_DTLS_AES_192_CBC_SHA224          0xff24
-#define OP_PCL_DTLS_AES_192_CBC_SHA256          0xff26
-#define OP_PCL_DTLS_AES_192_CBC_SHA384          0xff23
-#define OP_PCL_DTLS_AES_192_CBC_SHA512          0xff25
-#define OP_PCL_DTLS_AES_256_CBC_SHA160          0xff60
-#define OP_PCL_DTLS_AES_256_CBC_SHA224          0xff64
-#define OP_PCL_DTLS_AES_256_CBC_SHA256          0xff66
-#define OP_PCL_DTLS_AES_256_CBC_SHA384          0xff63
-#define OP_PCL_DTLS_AES_256_CBC_SHA512          0xff65
+/*
+ * For SSL/TLS/DTLS - OP_PCL_TLS
+ * For more details see IANA TLS Cipher Suite registry:
+ * https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml
+ * Note: for private/internal use (reserved by IANA) - OP_PCL_PVT_TLS
+ */
+#define OP_PCL_TLS_RSA_EXPORT_WITH_RC4_40_MD5          0x0003
+#define OP_PCL_TLS_RSA_WITH_RC4_128_MD5                        0x0004
+#define OP_PCL_TLS_RSA_WITH_RC4_128_SHA                        0x0005
+#define OP_PCL_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA       0x0008
+#define OP_PCL_TLS_RSA_WITH_DES_CBC_SHA                        0x0009
+#define OP_PCL_TLS_RSA_WITH_3DES_EDE_CBC_SHA           0x000a
+#define OP_PCL_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA    0x000b
+#define OP_PCL_TLS_DH_DSS_WITH_DES_CBC_SHA             0x000c
+#define OP_PCL_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA                0x000d
+#define OP_PCL_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA    0x000e
+#define OP_PCL_TLS_DH_RSA_WITH_DES_CBC_SHA             0x000f
+#define OP_PCL_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA                0x0010
+#define OP_PCL_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA   0x0011
+#define OP_PCL_TLS_DHE_DSS_WITH_DES_CBC_SHA            0x0012
+#define OP_PCL_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA       0x0013
+#define OP_PCL_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA   0x0014
+#define OP_PCL_TLS_DHE_RSA_WITH_DES_CBC_SHA            0x0015
+#define OP_PCL_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA       0x0016
+#define OP_PCL_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5      0x0017
+#define OP_PCL_TLS_DH_anon_WITH_RC4_128_MD5            0x0018
+#define OP_PCL_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA   0x0019
+#define OP_PCL_TLS_DH_anon_WITH_DES_CBC_SHA            0x001a
+#define OP_PCL_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA       0x001b
+#define OP_PCL_TLS_KRB5_WITH_DES_CBC_SHA               0x001e
+#define OP_PCL_TLS_KRB5_WITH_3DES_EDE_CBC_SHA          0x001f
+#define OP_PCL_TLS_KRB5_WITH_RC4_128_SHA               0x0020
+#define OP_PCL_TLS_KRB5_WITH_3DES_EDE_CBC_MD5          0x0023
+#define OP_PCL_TLS_KRB5_WITH_DES_CBC_MD5               0x0022
+#define OP_PCL_TLS_KRB5_WITH_RC4_128_MD5               0x0024
+#define OP_PCL_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA     0x0026
+#define OP_PCL_TLS_KRB5_EXPORT_WITH_RC4_40_SHA         0x0028
+#define OP_PCL_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5     0x0029
+#define OP_PCL_TLS_KRB5_EXPORT_WITH_RC4_40_MD5         0x002b
+#define OP_PCL_TLS_RSA_WITH_AES_128_CBC_SHA            0x002f
+#define OP_PCL_TLS_DH_DSS_WITH_AES_128_CBC_SHA         0x0030
+#define OP_PCL_TLS_DH_RSA_WITH_AES_128_CBC_SHA         0x0031
+#define OP_PCL_TLS_DHE_DSS_WITH_AES_128_CBC_SHA                0x0032
+#define OP_PCL_TLS_DHE_RSA_WITH_AES_128_CBC_SHA                0x0033
+#define OP_PCL_TLS_DH_anon_WITH_AES_128_CBC_SHA                0x0034
+#define OP_PCL_TLS_RSA_WITH_AES_256_CBC_SHA            0x0035
+#define OP_PCL_TLS_DH_DSS_WITH_AES_256_CBC_SHA         0x0036
+#define OP_PCL_TLS_DH_RSA_WITH_AES_256_CBC_SHA         0x0037
+#define OP_PCL_TLS_DHE_DSS_WITH_AES_256_CBC_SHA                0x0038
+#define OP_PCL_TLS_DHE_RSA_WITH_AES_256_CBC_SHA                0x0039
+#define OP_PCL_TLS_DH_anon_WITH_AES_256_CBC_SHA                0x003a
+#define OP_PCL_TLS_RSA_WITH_AES_128_CBC_SHA256         0x003c
+#define OP_PCL_TLS_RSA_WITH_AES_256_CBC_SHA256         0x003d
+#define OP_PCL_TLS_DH_DSS_WITH_AES_128_CBC_SHA256      0x003e
+#define OP_PCL_TLS_DH_RSA_WITH_AES_128_CBC_SHA256      0x003f
+#define OP_PCL_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256     0x0040
+#define OP_PCL_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256     0x0067
+#define OP_PCL_TLS_DH_DSS_WITH_AES_256_CBC_SHA256      0x0068
+#define OP_PCL_TLS_DH_RSA_WITH_AES_256_CBC_SHA256      0x0069
+#define OP_PCL_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256     0x006a
+#define OP_PCL_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256     0x006b
+#define OP_PCL_TLS_DH_anon_WITH_AES_128_CBC_SHA256     0x006c
+#define OP_PCL_TLS_DH_anon_WITH_AES_256_CBC_SHA256     0x006d
+#define OP_PCL_TLS_PSK_WITH_RC4_128_SHA                        0x008a
+#define OP_PCL_TLS_PSK_WITH_3DES_EDE_CBC_SHA           0x008b
+#define OP_PCL_TLS_PSK_WITH_AES_128_CBC_SHA            0x008c
+#define OP_PCL_TLS_PSK_WITH_AES_256_CBC_SHA            0x008d
+#define OP_PCL_TLS_DHE_PSK_WITH_RC4_128_SHA            0x008e
+#define OP_PCL_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA       0x008f
+#define OP_PCL_TLS_DHE_PSK_WITH_AES_128_CBC_SHA                0x0090
+#define OP_PCL_TLS_DHE_PSK_WITH_AES_256_CBC_SHA                0x0091
+#define OP_PCL_TLS_RSA_PSK_WITH_RC4_128_SHA            0x0092
+#define OP_PCL_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA       0x0093
+#define OP_PCL_TLS_RSA_PSK_WITH_AES_128_CBC_SHA                0x0094
+#define OP_PCL_TLS_RSA_PSK_WITH_AES_256_CBC_SHA                0x0095
+#define OP_PCL_TLS_RSA_WITH_AES_128_GCM_SHA256         0x009c
+#define OP_PCL_TLS_RSA_WITH_AES_256_GCM_SHA384         0x009d
+#define OP_PCL_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256     0x009e
+#define OP_PCL_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384     0x009f
+#define OP_PCL_TLS_DH_RSA_WITH_AES_128_GCM_SHA256      0x00a0
+#define OP_PCL_TLS_DH_RSA_WITH_AES_256_GCM_SHA384      0x00a1
+#define OP_PCL_TLS_DHE_DSS_WITH_AES_128_GCM_SHA256     0x00a2
+#define OP_PCL_TLS_DHE_DSS_WITH_AES_256_GCM_SHA384     0x00a3
+#define OP_PCL_TLS_DH_DSS_WITH_AES_128_GCM_SHA256      0x00a4
+#define OP_PCL_TLS_DH_DSS_WITH_AES_256_GCM_SHA384      0x00a5
+#define OP_PCL_TLS_DH_anon_WITH_AES_128_GCM_SHA256     0x00a6
+#define OP_PCL_TLS_DH_anon_WITH_AES_256_GCM_SHA384     0x00a7
+#define OP_PCL_TLS_PSK_WITH_AES_128_GCM_SHA256         0x00a8
+#define OP_PCL_TLS_PSK_WITH_AES_256_GCM_SHA384         0x00a9
+#define OP_PCL_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256     0x00aa
+#define OP_PCL_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384     0x00ab
+#define OP_PCL_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256     0x00ac
+#define OP_PCL_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384     0x00ad
+#define OP_PCL_TLS_PSK_WITH_AES_128_CBC_SHA256         0x00ae
+#define OP_PCL_TLS_PSK_WITH_AES_256_CBC_SHA384         0x00af
+#define OP_PCL_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256     0x00b2
+#define OP_PCL_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384     0x00b3
+#define OP_PCL_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256     0x00b6
+#define OP_PCL_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384     0x00b7
+#define OP_PCL_TLS_ECDH_ECDSA_WITH_RC4_128_SHA         0xc002
+#define OP_PCL_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA    0xc003
+#define OP_PCL_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA     0xc004
+#define OP_PCL_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA     0xc005
+#define OP_PCL_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA                0xc007
+#define OP_PCL_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA   0xc008
+#define OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA    0xc009
+#define OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA    0xc00a
+#define OP_PCL_TLS_ECDH_RSA_WITH_RC4_128_SHA           0xc00c
+#define OP_PCL_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA      0xc00d
+#define OP_PCL_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA       0xc00e
+#define OP_PCL_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA       0xc00f
+#define OP_PCL_TLS_ECDHE_RSA_WITH_RC4_128_SHA          0xc011
+#define OP_PCL_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA     0xc012
+#define OP_PCL_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA      0xc013
+#define OP_PCL_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA      0xc014
+#define OP_PCL_TLS_ECDH_anon_WITH_RC4_128_SHA          0xc016
+#define OP_PCL_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA     0xc017
+#define OP_PCL_TLS_ECDH_anon_WITH_AES_128_CBC_SHA      0xc018
+#define OP_PCL_TLS_ECDH_anon_WITH_AES_256_CBC_SHA      0xc019
+#define OP_PCL_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA       0xc01a
+#define OP_PCL_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA   0xc01b
+#define OP_PCL_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA   0xc01c
+#define OP_PCL_TLS_SRP_SHA_WITH_AES_128_CBC_SHA                0xc01d
+#define OP_PCL_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA    0xc01e
+#define OP_PCL_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA    0xc01f
+#define OP_PCL_TLS_SRP_SHA_WITH_AES_256_CBC_SHA                0xc020
+#define OP_PCL_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA    0xc021
+#define OP_PCL_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA    0xc022
+#define OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 0xc023
+#define OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 0xc024
+#define OP_PCL_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256  0xc025
+#define OP_PCL_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384  0xc026
+#define OP_PCL_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256   0xc027
+#define OP_PCL_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384   0xc028
+#define OP_PCL_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256    0xc029
+#define OP_PCL_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384    0xc02a
+#define OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0xc02b
+#define OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0xc02c
+#define OP_PCL_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256  0xc02d
+#define OP_PCL_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384  0xc02e
+#define OP_PCL_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256   0xc02f
+#define OP_PCL_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384   0xc030
+#define OP_PCL_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256    0xc031
+#define OP_PCL_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384    0xc032
+#define OP_PCL_TLS_ECDHE_PSK_WITH_RC4_128_SHA          0xc033
+#define OP_PCL_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA     0xc034
+#define OP_PCL_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA      0xc035
+#define OP_PCL_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA      0xc036
+#define OP_PCL_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256   0xc037
+#define OP_PCL_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384   0xc038
+#define OP_PCL_PVT_TLS_3DES_EDE_CBC_MD5                        0xff23
+#define OP_PCL_PVT_TLS_3DES_EDE_CBC_SHA160             0xff30
+#define OP_PCL_PVT_TLS_3DES_EDE_CBC_SHA384             0xff33
+#define OP_PCL_PVT_TLS_3DES_EDE_CBC_SHA224             0xff34
+#define OP_PCL_PVT_TLS_3DES_EDE_CBC_SHA512             0xff35
+#define OP_PCL_PVT_TLS_3DES_EDE_CBC_SHA256             0xff36
+#define OP_PCL_PVT_TLS_AES_256_CBC_SHA160              0xff60
+#define OP_PCL_PVT_TLS_AES_256_CBC_SHA384              0xff63
+#define OP_PCL_PVT_TLS_AES_256_CBC_SHA224              0xff64
+#define OP_PCL_PVT_TLS_AES_256_CBC_SHA512              0xff65
+#define OP_PCL_PVT_TLS_AES_256_CBC_SHA256              0xff66
+#define OP_PCL_PVT_TLS_AES_128_CBC_SHA160              0xff80
+#define OP_PCL_PVT_TLS_AES_128_CBC_SHA384              0xff83
+#define OP_PCL_PVT_TLS_AES_128_CBC_SHA224              0xff84
+#define OP_PCL_PVT_TLS_AES_128_CBC_SHA512              0xff85
+#define OP_PCL_PVT_TLS_AES_128_CBC_SHA256              0xff86
+#define OP_PCL_PVT_TLS_AES_192_CBC_SHA160              0xff90
+#define OP_PCL_PVT_TLS_AES_192_CBC_SHA384              0xff93
+#define OP_PCL_PVT_TLS_AES_192_CBC_SHA224              0xff94
+#define OP_PCL_PVT_TLS_AES_192_CBC_SHA512              0xff95
+#define OP_PCL_PVT_TLS_AES_192_CBC_SHA256              0xff96
+#define OP_PCL_PVT_TLS_MASTER_SECRET_PRF_FE            0xfffe
+#define OP_PCL_PVT_TLS_MASTER_SECRET_PRF_FF            0xffff
 
 /* 802.16 WiMAX protinfos */
 #define OP_PCL_WIMAX_OFDM                       0x0201
index 91f3e06..febcb6d 100644 (file)
@@ -409,6 +409,35 @@ cnstr_shdsc_kasumi_f9(uint32_t *descbuf, bool ps, bool swap,
        return PROGRAM_FINALIZE(p);
 }
 
+/**
+ * cnstr_shdsc_crc - CRC32 Accelerator (IEEE 802 CRC32 protocol mode)
+ * @descbuf: pointer to descriptor-under-construction buffer
+ * @swap: must be true when core endianness doesn't match SEC endianness
+ *
+ * Return: size of descriptor written in words or negative number on error
+ */
+static inline int
+cnstr_shdsc_crc(uint32_t *descbuf, bool swap)
+{
+       struct program prg;
+       struct program *p = &prg;
+
+       PROGRAM_CNTXT_INIT(p, descbuf, 0);
+       if (swap)
+               PROGRAM_SET_BSWAP(p);
+
+       SHR_HDR(p, SHR_ALWAYS, 1, 0);
+
+       MATHB(p, SEQINSZ, SUB, MATH2, VSEQINSZ, 4, 0);
+       ALG_OPERATION(p, OP_ALG_ALGSEL_CRC,
+                     OP_ALG_AAI_802 | OP_ALG_AAI_DOC,
+                     OP_ALG_AS_FINALIZE, 0, DIR_ENC);
+       SEQFIFOLOAD(p, MSG2, 0, VLF | LAST2);
+       SEQSTORE(p, CONTEXT2, 0, 4, 0);
+
+       return PROGRAM_FINALIZE(p);
+}
+
 /**
  * cnstr_shdsc_gcm_encap - AES-GCM encap as a shared descriptor
  * @descbuf: pointer to descriptor-under-construction buffer
@@ -614,33 +643,4 @@ cnstr_shdsc_gcm_decap(uint32_t *descbuf, bool ps, bool swap,
        return PROGRAM_FINALIZE(p);
 }
 
-/**
- * cnstr_shdsc_crc - CRC32 Accelerator (IEEE 802 CRC32 protocol mode)
- * @descbuf: pointer to descriptor-under-construction buffer
- * @swap: must be true when core endianness doesn't match SEC endianness
- *
- * Return: size of descriptor written in words or negative number on error
- */
-static inline int
-cnstr_shdsc_crc(uint32_t *descbuf, bool swap)
-{
-       struct program prg;
-       struct program *p = &prg;
-
-       PROGRAM_CNTXT_INIT(p, descbuf, 0);
-       if (swap)
-               PROGRAM_SET_BSWAP(p);
-
-       SHR_HDR(p, SHR_ALWAYS, 1, 0);
-
-       MATHB(p, SEQINSZ, SUB, MATH2, VSEQINSZ, 4, 0);
-       ALG_OPERATION(p, OP_ALG_ALGSEL_CRC,
-                     OP_ALG_AAI_802 | OP_ALG_AAI_DOC,
-                     OP_ALG_AS_FINALIZE, 0, DIR_ENC);
-       SEQFIFOLOAD(p, MSG2, 0, VLF | LAST2);
-       SEQSTORE(p, CONTEXT2, 0, 4, 0);
-
-       return PROGRAM_FINALIZE(p);
-}
-
 #endif /* __DESC_ALGO_H__ */
index 35cc02a..d256a39 100644 (file)
@@ -522,44 +522,133 @@ enum ipsec_icv_size {
 
 /*
  * IPSec ESP Datapath Protocol Override Register (DPOVRD)
+ * IPSEC_N_* defines are for IPsec new mode.
  */
 
-#define IPSEC_DECO_DPOVRD_USE          0x80
+/**
+ * IPSEC_DPOVRD_USE - DPOVRD will override values specified in the PDB
+ */
+#define IPSEC_DPOVRD_USE       BIT(31)
 
-struct ipsec_deco_dpovrd {
-       uint8_t ovrd_ecn;
-       uint8_t ip_hdr_len;
-       uint8_t nh_offset;
-       union {
-               uint8_t next_header;    /* next header if encap */
-               uint8_t rsvd;           /* reserved if decap */
-       };
-};
+/**
+ * IPSEC_DPOVRD_ECN_SHIFT - Explicit Congestion Notification
+ *
+ * If set, MSB of the 4 bits indicates that the 2 LSBs will replace the ECN bits
+ * in the IP header.
+ */
+#define IPSEC_DPOVRD_ECN_SHIFT         24
 
-struct ipsec_new_encap_deco_dpovrd {
-#define IPSEC_NEW_ENCAP_DECO_DPOVRD_USE        0x8000
-       uint16_t ovrd_ip_hdr_len;       /* OVRD + outer IP header material
-                                        * length
-                                        */
-#define IPSEC_NEW_ENCAP_OIMIF          0x80
-       uint8_t oimif_aoipho;           /* OIMIF + actual outer IP header
-                                        * offset
-                                        */
-       uint8_t rsvd;
-};
+/**
+ * IPSEC_DPOVRD_ECN_MASK - See IPSEC_DPOVRD_ECN_SHIFT
+ */
+#define IPSEC_DPOVRD_ECN_MASK          (0xf << IPSEC_ENCAP_DPOVRD_ECN_SHIFT)
 
-struct ipsec_new_decap_deco_dpovrd {
-       uint8_t ovrd;
-       uint8_t aoipho_hi;              /* upper nibble of actual outer IP
-                                        * header
-                                        */
-       uint16_t aoipho_lo_ip_hdr_len;  /* lower nibble of actual outer IP
-                                        * header + outer IP header material
-                                        */
-};
+/**
+ * IPSEC_DPOVRD_IP_HDR_LEN_SHIFT - The length (in bytes) of the portion of the
+ *                                 IP header that is not encrypted
+ */
+#define IPSEC_DPOVRD_IP_HDR_LEN_SHIFT  16
+
+/**
+ * IPSEC_DPOVRD_IP_HDR_LEN_MASK - See IPSEC_DPOVRD_IP_HDR_LEN_SHIFT
+ */
+#define IPSEC_DPOVRD_IP_HDR_LEN_MASK   (0xff << IPSEC_DPOVRD_IP_HDR_LEN_SHIFT)
+
+/**
+ * IPSEC_DPOVRD_NH_OFFSET_SHIFT - The location of the next header field within
+ *                                the IP header of the transport mode packet
+ *
+ * Encap:
+ *     ESP_Trailer_NH <-- IP_Hdr[DPOVRD[NH_OFFSET]]
+ *     IP_Hdr[DPOVRD[NH_OFFSET]] <-- DPOVRD[NH]
+ *Decap:
+ *     IP_Hdr[DPOVRD[NH_OFFSET]] <-- ESP_Trailer_NH
+ */
+#define IPSEC_DPOVRD_NH_OFFSET_SHIFT   8
+
+/**
+ * IPSEC_DPOVRD_NH_OFFSET_MASK - See IPSEC_DPOVRD_NH_OFFSET_SHIFT
+ */
+#define IPSEC_DPOVRD_NH_OFFSET_MASK    (0xff << IPSEC_DPOVRD_NH_OFFSET_SHIFT)
+
+/**
+ * IPSEC_DPOVRD_NH_MASK - See IPSEC_DPOVRD_NH_OFFSET_SHIFT
+ *                        Valid only for encapsulation.
+ */
+#define IPSEC_DPOVRD_NH_MASK           0xff
+
+/**
+ * IPSEC_N_ENCAP_DPOVRD_OIM_LEN_SHIFT - Outer IP header Material length (encap)
+ *                                      Valid only if L2_COPY is not set.
+ */
+#define IPSEC_N_ENCAP_DPOVRD_OIM_LEN_SHIFT     16
+
+/**
+ * IPSEC_N_ENCAP_DPOVRD_OIM_LEN_MASK - See IPSEC_N_ENCAP_DPOVRD_OIM_LEN_SHIFT
+ */
+#define IPSEC_N_ENCAP_DPOVRD_OIM_LEN_MASK \
+       (0xfff << IPSEC_N_ENCAP_DPOVRD_OIM_LEN_SHIFT)
+
+/**
+ * IPSEC_N_ENCAP_DPOVRD_L2_LEN_SHIFT - L2 header length
+ *                                     Valid only if L2_COPY is set.
+ */
+#define IPSEC_N_ENCAP_DPOVRD_L2_LEN_SHIFT      16
 
-static inline void
-__gen_auth_key(struct program *program, struct alginfo *authdata)
+/**
+ * IPSEC_N_ENCAP_DPOVRD_L2_LEN_MASK - See IPSEC_N_ENCAP_DPOVRD_L2_LEN_SHIFT
+ */
+#define IPSEC_N_ENCAP_DPOVRD_L2_LEN_MASK \
+       (0xff << IPSEC_N_ENCAP_DPOVRD_L2_LEN_SHIFT)
+
+/**
+ * IPSEC_N_ENCAP_DPOVRD_OIMIF -  Outer IP header Material in Input Frame
+ */
+#define IPSEC_N_ENCAP_DPOVRD_OIMIF             BIT(15)
+
+/**
+ * IPSEC_N_ENCAP_DPOVRD_L2_COPY - L2 header present in input frame
+ *
+ * Note: For Era <= 8, this bit is reserved (not used) by HW.
+ */
+#define IPSEC_N_ENCAP_DPOVRD_L2_COPY           BIT(14)
+
+/**
+ * IPSEC_N_ENCAP_DPOVRD_AOIPHO_SHIFT - Actual Outer IP Header Offset (encap)
+ */
+#define IPSEC_N_ENCAP_DPOVRD_AOIPHO_SHIFT      8
+
+/**
+ * IPSEC_N_ENCAP_DPOVRD_AOIPHO_MASK - See IPSEC_N_ENCAP_DPOVRD_AOIPHO_SHIFT
+ */
+#define IPSEC_N_ENCAP_DPOVRD_AOIPHO_MASK \
+       (0x3c << IPSEC_N_ENCAP_DPOVRD_AOIPHO_SHIFT)
+
+/**
+ * IPSEC_N_ENCAP_DPOVRD_NH_MASK -  Next Header
+ *
+ * Used in the Next Header field of the encapsulated payload.
+ */
+#define IPSEC_N_ENCAP_DPOVRD_NH_MASK           0xff
+
+/**
+ * IPSEC_N_DECAP_DPOVRD_AOIPHO_SHIFT - Actual Outer IP Header Offset (decap)
+ */
+#define IPSEC_N_DECAP_DPOVRD_AOIPHO_SHIFT      12
+
+/**
+ * IPSEC_N_DECAP_DPOVRD_AOIPHO_MASK - See IPSEC_N_DECAP_DPOVRD_AOIPHO_SHIFT
+ */
+#define IPSEC_N_DECAP_DPOVRD_AOIPHO_MASK \
+       (0xff << IPSEC_N_DECAP_DPOVRD_AOIPHO_SHIFT)
+
+/**
+ * IPSEC_N_DECAP_DPOVRD_OIM_LEN_MASK - Outer IP header Material length (decap)
+ */
+#define IPSEC_N_DECAP_DPOVRD_OIM_LEN_MASK      0xfff
+
+static inline void __gen_auth_key(struct program *program,
+                                 struct alginfo *authdata)
 {
        uint32_t dkp_protid;
 
@@ -603,6 +692,7 @@ __gen_auth_key(struct program *program, struct alginfo *authdata)
  * @descbuf: pointer to buffer used for descriptor construction
  * @ps: if 36/40bit addressing is desired, this parameter must be true
  * @swap: if true, perform descriptor byte swapping on a 4-byte boundary
+ * @share: sharing type of shared descriptor
  * @pdb: pointer to the PDB to be used with this descriptor
  *       This structure will be copied inline to the descriptor under
  *       construction. No error checking will be made. Refer to the
@@ -621,6 +711,7 @@ __gen_auth_key(struct program *program, struct alginfo *authdata)
  */
 static inline int
 cnstr_shdsc_ipsec_encap(uint32_t *descbuf, bool ps, bool swap,
+                                         enum rta_share_type share,
                        struct ipsec_encap_pdb *pdb,
                        struct alginfo *cipherdata,
                        struct alginfo *authdata)
@@ -638,7 +729,7 @@ cnstr_shdsc_ipsec_encap(uint32_t *descbuf, bool ps, bool swap,
                PROGRAM_SET_BSWAP(p);
        if (ps)
                PROGRAM_SET_36BIT_ADDR(p);
-       phdr = SHR_HDR(p, SHR_SERIAL, hdr, 0);
+       phdr = SHR_HDR(p, share, hdr, 0);
        __rta_copy_ipsec_encap_pdb(p, pdb, cipherdata->algtype);
        COPY_DATA(p, pdb->ip_hdr, pdb->ip_hdr_len);
        SET_LABEL(p, hdr);
@@ -669,6 +760,7 @@ cnstr_shdsc_ipsec_encap(uint32_t *descbuf, bool ps, bool swap,
  * @descbuf: pointer to buffer used for descriptor construction
  * @ps: if 36/40bit addressing is desired, this parameter must be true
  * @swap: if true, perform descriptor byte swapping on a 4-byte boundary
+ * @share: sharing type of shared descriptor
  * @pdb: pointer to the PDB to be used with this descriptor
  *       This structure will be copied inline to the descriptor under
  *       construction. No error checking will be made. Refer to the
@@ -687,6 +779,7 @@ cnstr_shdsc_ipsec_encap(uint32_t *descbuf, bool ps, bool swap,
  */
 static inline int
 cnstr_shdsc_ipsec_decap(uint32_t *descbuf, bool ps, bool swap,
+                       enum rta_share_type share,
                        struct ipsec_decap_pdb *pdb,
                        struct alginfo *cipherdata,
                        struct alginfo *authdata)
@@ -704,7 +797,7 @@ cnstr_shdsc_ipsec_decap(uint32_t *descbuf, bool ps, bool swap,
                PROGRAM_SET_BSWAP(p);
        if (ps)
                PROGRAM_SET_36BIT_ADDR(p);
-       phdr = SHR_HDR(p, SHR_SERIAL, hdr, 0);
+       phdr = SHR_HDR(p, share, hdr, 0);
        __rta_copy_ipsec_decap_pdb(p, pdb, cipherdata->algtype);
        SET_LABEL(p, hdr);
        pkeyjmp = JUMP(p, keyjmp, LOCAL_JUMP, ALL_TRUE, BOTH|SHRD);
@@ -1040,7 +1133,7 @@ cnstr_shdsc_ipsec_decap_des_aes_xcbc(uint32_t *descbuf,
  * layers to determine whether Outer IP Header and/or keys can be inlined or
  * not. To be used as first parameter of rta_inline_query().
  */
-#define IPSEC_NEW_ENC_BASE_DESC_LEN    (5 * CAAM_CMD_SZ + \
+#define IPSEC_NEW_ENC_BASE_DESC_LEN    (12 * CAAM_CMD_SZ + \
                                         sizeof(struct ipsec_encap_pdb))
 
 /**
@@ -1052,7 +1145,7 @@ cnstr_shdsc_ipsec_decap_des_aes_xcbc(uint32_t *descbuf,
  * layers to determine whether Outer IP Header and/or key can be inlined or
  * not. To be used as first parameter of rta_inline_query().
  */
-#define IPSEC_NEW_NULL_ENC_BASE_DESC_LEN       (4 * CAAM_CMD_SZ + \
+#define IPSEC_NEW_NULL_ENC_BASE_DESC_LEN       (11 * CAAM_CMD_SZ + \
                                                 sizeof(struct ipsec_encap_pdb))
 
 /**
@@ -1061,6 +1154,7 @@ cnstr_shdsc_ipsec_decap_des_aes_xcbc(uint32_t *descbuf,
  * @descbuf: pointer to buffer used for descriptor construction
  * @ps: if 36/40bit addressing is desired, this parameter must be true
  * @swap: must be true when core endianness doesn't match SEC endianness
+ * @share: sharing type of shared descriptor
  * @pdb: pointer to the PDB to be used with this descriptor
  *       This structure will be copied inline to the descriptor under
  *       construction. No error checking will be made. Refer to the
@@ -1080,11 +1174,21 @@ cnstr_shdsc_ipsec_decap_des_aes_xcbc(uint32_t *descbuf,
  *            compute MDHA on the fly in HW.
  *            Valid algorithm values - one of OP_PCL_IPSEC_*
  *
+ * Note: L2 header copy functionality is implemented assuming that bits 14
+ * (currently reserved) and 16-23 (part of Outer IP Header Material Length)
+ * in DPOVRD register are not used (which is usually the case when L3 header
+ * is provided in PDB).
+ * When DPOVRD[14] is set, frame starts with an L2 header; in this case, the
+ * L2 header length is found at DPOVRD[23:16]. SEC uses this length to copy
+ * the header and then it deletes DPOVRD[23:16] (so there is no side effect
+ * when later running IPsec protocol).
+ *
  * Return: size of descriptor written in words or negative number on error
  */
 static inline int
 cnstr_shdsc_ipsec_new_encap(uint32_t *descbuf, bool ps,
                            bool swap,
+                                             enum rta_share_type share,
                            struct ipsec_encap_pdb *pdb,
                            uint8_t *opt_ip_hdr,
                            struct alginfo *cipherdata,
@@ -1097,6 +1201,8 @@ cnstr_shdsc_ipsec_new_encap(uint32_t *descbuf, bool ps,
        REFERENCE(pkeyjmp);
        LABEL(hdr);
        REFERENCE(phdr);
+       LABEL(l2copy);
+       REFERENCE(pl2copy);
 
        if (rta_sec_era < RTA_SEC_ERA_8) {
                pr_err("IPsec new mode encap: available only for Era %d or above\n",
@@ -1109,7 +1215,7 @@ cnstr_shdsc_ipsec_new_encap(uint32_t *descbuf, bool ps,
                PROGRAM_SET_BSWAP(p);
        if (ps)
                PROGRAM_SET_36BIT_ADDR(p);
-       phdr = SHR_HDR(p, SHR_SERIAL, hdr, 0);
+       phdr = SHR_HDR(p, share, hdr, 0);
 
        __rta_copy_ipsec_encap_pdb(p, pdb, cipherdata->algtype);
 
@@ -1128,6 +1234,16 @@ cnstr_shdsc_ipsec_new_encap(uint32_t *descbuf, bool ps,
        }
        SET_LABEL(p, hdr);
 
+       MATHB(p, DPOVRD, AND, IPSEC_N_ENCAP_DPOVRD_L2_COPY, NONE, 4, IMMED2);
+       pl2copy = JUMP(p, l2copy, LOCAL_JUMP, ALL_TRUE, MATH_Z);
+       MATHI(p, DPOVRD, RSHIFT, IPSEC_N_ENCAP_DPOVRD_L2_LEN_SHIFT, VSEQOUTSZ,
+             1, 0);
+       MATHB(p, DPOVRD, AND, ~IPSEC_N_ENCAP_DPOVRD_L2_LEN_MASK, DPOVRD, 4,
+             IMMED2);
+       /* TODO: CLASS2 corresponds to AUX=2'b10; add more intuitive defines */
+       SEQFIFOSTORE(p, METADATA, 0, 0, CLASS2 | VLF);
+       SET_LABEL(p, l2copy);
+
        pkeyjmp = JUMP(p, keyjmp, LOCAL_JUMP, ALL_TRUE, SHRD);
        if (authdata->keylen)
                __gen_auth_key(p, authdata);
@@ -1138,6 +1254,7 @@ cnstr_shdsc_ipsec_new_encap(uint32_t *descbuf, bool ps,
        PROTOCOL(p, OP_TYPE_ENCAP_PROTOCOL,
                 OP_PCLID_IPSEC_NEW,
                 (uint16_t)(cipherdata->algtype | authdata->algtype));
+       PATCH_JUMP(p, pl2copy, l2copy);
        PATCH_JUMP(p, pkeyjmp, keyjmp);
        PATCH_HDR(p, phdr, hdr);
        return PROGRAM_FINALIZE(p);
@@ -1171,6 +1288,7 @@ cnstr_shdsc_ipsec_new_encap(uint32_t *descbuf, bool ps,
  * @descbuf: pointer to buffer used for descriptor construction
  * @ps: if 36/40bit addressing is desired, this parameter must be true
  * @swap: must be true when core endianness doesn't match SEC endianness
+ * @share: sharing type of shared descriptor
  * @pdb: pointer to the PDB to be used with this descriptor
  *       This structure will be copied inline to the descriptor under
  *       construction. No error checking will be made. Refer to the
@@ -1188,6 +1306,7 @@ cnstr_shdsc_ipsec_new_encap(uint32_t *descbuf, bool ps,
 static inline int
 cnstr_shdsc_ipsec_new_decap(uint32_t *descbuf, bool ps,
                            bool swap,
+                                             enum rta_share_type share,
                            struct ipsec_decap_pdb *pdb,
                            struct alginfo *cipherdata,
                            struct alginfo *authdata)
@@ -1211,7 +1330,7 @@ cnstr_shdsc_ipsec_new_decap(uint32_t *descbuf, bool ps,
                PROGRAM_SET_BSWAP(p);
        if (ps)
                PROGRAM_SET_36BIT_ADDR(p);
-       phdr = SHR_HDR(p, SHR_SERIAL, hdr, 0);
+       phdr = SHR_HDR(p, share, hdr, 0);
        __rta_copy_ipsec_decap_pdb(p, pdb, cipherdata->algtype);
        SET_LABEL(p, hdr);
        pkeyjmp = JUMP(p, keyjmp, LOCAL_JUMP, ALL_TRUE, SHRD);
index d9a5b0e..cf8dfb9 100644 (file)
@@ -14,178 +14,176 @@ static inline int
 __rta_ssl_proto(uint16_t protoinfo)
 {
        switch (protoinfo) {
-       case OP_PCL_SSL30_RC4_40_MD5_2:
-       case OP_PCL_SSL30_RC4_128_MD5_2:
-       case OP_PCL_SSL30_RC4_128_SHA_5:
-       case OP_PCL_SSL30_RC4_40_MD5_3:
-       case OP_PCL_SSL30_RC4_128_MD5_3:
-       case OP_PCL_SSL30_RC4_128_SHA:
-       case OP_PCL_SSL30_RC4_128_MD5:
-       case OP_PCL_SSL30_RC4_40_SHA:
-       case OP_PCL_SSL30_RC4_40_MD5:
-       case OP_PCL_SSL30_RC4_128_SHA_2:
-       case OP_PCL_SSL30_RC4_128_SHA_3:
-       case OP_PCL_SSL30_RC4_128_SHA_4:
-       case OP_PCL_SSL30_RC4_128_SHA_6:
-       case OP_PCL_SSL30_RC4_128_SHA_7:
-       case OP_PCL_SSL30_RC4_128_SHA_8:
-       case OP_PCL_SSL30_RC4_128_SHA_9:
-       case OP_PCL_SSL30_RC4_128_SHA_10:
-       case OP_PCL_TLS_ECDHE_PSK_RC4_128_SHA:
+       case OP_PCL_TLS_RSA_EXPORT_WITH_RC4_40_MD5:
+       case OP_PCL_TLS_RSA_WITH_RC4_128_MD5:
+       case OP_PCL_TLS_RSA_WITH_RC4_128_SHA:
+       case OP_PCL_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5:
+       case OP_PCL_TLS_DH_anon_WITH_RC4_128_MD5:
+       case OP_PCL_TLS_KRB5_WITH_RC4_128_SHA:
+       case OP_PCL_TLS_KRB5_WITH_RC4_128_MD5:
+       case OP_PCL_TLS_KRB5_EXPORT_WITH_RC4_40_SHA:
+       case OP_PCL_TLS_KRB5_EXPORT_WITH_RC4_40_MD5:
+       case OP_PCL_TLS_PSK_WITH_RC4_128_SHA:
+       case OP_PCL_TLS_DHE_PSK_WITH_RC4_128_SHA:
+       case OP_PCL_TLS_RSA_PSK_WITH_RC4_128_SHA:
+       case OP_PCL_TLS_ECDH_ECDSA_WITH_RC4_128_SHA:
+       case OP_PCL_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA:
+       case OP_PCL_TLS_ECDH_RSA_WITH_RC4_128_SHA:
+       case OP_PCL_TLS_ECDHE_RSA_WITH_RC4_128_SHA:
+       case OP_PCL_TLS_ECDH_anon_WITH_RC4_128_SHA:
+       case OP_PCL_TLS_ECDHE_PSK_WITH_RC4_128_SHA:
                if (rta_sec_era == RTA_SEC_ERA_7)
                        return -EINVAL;
                /* fall through if not Era 7 */
-       case OP_PCL_SSL30_DES40_CBC_SHA:
-       case OP_PCL_SSL30_DES_CBC_SHA_2:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_5:
-       case OP_PCL_SSL30_DES40_CBC_SHA_2:
-       case OP_PCL_SSL30_DES_CBC_SHA_3:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_6:
-       case OP_PCL_SSL30_DES40_CBC_SHA_3:
-       case OP_PCL_SSL30_DES_CBC_SHA_4:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_7:
-       case OP_PCL_SSL30_DES40_CBC_SHA_4:
-       case OP_PCL_SSL30_DES_CBC_SHA_5:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_8:
-       case OP_PCL_SSL30_DES40_CBC_SHA_5:
-       case OP_PCL_SSL30_DES_CBC_SHA_6:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_9:
-       case OP_PCL_SSL30_DES40_CBC_SHA_6:
-       case OP_PCL_SSL30_DES_CBC_SHA_7:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_10:
-       case OP_PCL_SSL30_DES_CBC_SHA:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA:
-       case OP_PCL_SSL30_DES_CBC_MD5:
-       case OP_PCL_SSL30_3DES_EDE_CBC_MD5:
-       case OP_PCL_SSL30_DES40_CBC_SHA_7:
-       case OP_PCL_SSL30_DES40_CBC_MD5:
-       case OP_PCL_SSL30_AES_128_CBC_SHA:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_2:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_3:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_4:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_5:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_6:
-       case OP_PCL_SSL30_AES_256_CBC_SHA:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_2:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_3:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_4:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_5:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_6:
-       case OP_PCL_TLS12_AES_128_CBC_SHA256_2:
-       case OP_PCL_TLS12_AES_128_CBC_SHA256_3:
-       case OP_PCL_TLS12_AES_128_CBC_SHA256_4:
-       case OP_PCL_TLS12_AES_128_CBC_SHA256_5:
-       case OP_PCL_TLS12_AES_256_CBC_SHA256_2:
-       case OP_PCL_TLS12_AES_256_CBC_SHA256_3:
-       case OP_PCL_TLS12_AES_256_CBC_SHA256_4:
-       case OP_PCL_TLS12_AES_256_CBC_SHA256_5:
-       case OP_PCL_TLS12_AES_128_CBC_SHA256_6:
-       case OP_PCL_TLS12_AES_256_CBC_SHA256_6:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_2:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_7:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_7:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_3:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_8:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_8:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_4:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_9:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_9:
-       case OP_PCL_SSL30_AES_128_GCM_SHA256_1:
-       case OP_PCL_SSL30_AES_256_GCM_SHA384_1:
-       case OP_PCL_SSL30_AES_128_GCM_SHA256_2:
-       case OP_PCL_SSL30_AES_256_GCM_SHA384_2:
-       case OP_PCL_SSL30_AES_128_GCM_SHA256_3:
-       case OP_PCL_SSL30_AES_256_GCM_SHA384_3:
-       case OP_PCL_SSL30_AES_128_GCM_SHA256_4:
-       case OP_PCL_SSL30_AES_256_GCM_SHA384_4:
-       case OP_PCL_SSL30_AES_128_GCM_SHA256_5:
-       case OP_PCL_SSL30_AES_256_GCM_SHA384_5:
-       case OP_PCL_SSL30_AES_128_GCM_SHA256_6:
-       case OP_PCL_TLS_DH_ANON_AES_256_GCM_SHA384:
-       case OP_PCL_TLS_PSK_AES_128_GCM_SHA256:
-       case OP_PCL_TLS_PSK_AES_256_GCM_SHA384:
-       case OP_PCL_TLS_DHE_PSK_AES_128_GCM_SHA256:
-       case OP_PCL_TLS_DHE_PSK_AES_256_GCM_SHA384:
-       case OP_PCL_TLS_RSA_PSK_AES_128_GCM_SHA256:
-       case OP_PCL_TLS_RSA_PSK_AES_256_GCM_SHA384:
-       case OP_PCL_TLS_PSK_AES_128_CBC_SHA256:
-       case OP_PCL_TLS_PSK_AES_256_CBC_SHA384:
-       case OP_PCL_TLS_DHE_PSK_AES_128_CBC_SHA256:
-       case OP_PCL_TLS_DHE_PSK_AES_256_CBC_SHA384:
-       case OP_PCL_TLS_RSA_PSK_AES_128_CBC_SHA256:
-       case OP_PCL_TLS_RSA_PSK_AES_256_CBC_SHA384:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_11:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_10:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_10:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_12:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_11:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_11:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_12:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_13:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_12:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_14:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_13:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_13:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_15:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_14:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_14:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_16:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_17:
-       case OP_PCL_SSL30_3DES_EDE_CBC_SHA_18:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_15:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_16:
-       case OP_PCL_SSL30_AES_128_CBC_SHA_17:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_15:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_16:
-       case OP_PCL_SSL30_AES_256_CBC_SHA_17:
-       case OP_PCL_TLS_ECDHE_ECDSA_AES_128_CBC_SHA256:
-       case OP_PCL_TLS_ECDHE_ECDSA_AES_256_CBC_SHA384:
-       case OP_PCL_TLS_ECDH_ECDSA_AES_128_CBC_SHA256:
-       case OP_PCL_TLS_ECDH_ECDSA_AES_256_CBC_SHA384:
-       case OP_PCL_TLS_ECDHE_RSA_AES_128_CBC_SHA256:
-       case OP_PCL_TLS_ECDHE_RSA_AES_256_CBC_SHA384:
-       case OP_PCL_TLS_ECDH_RSA_AES_128_CBC_SHA256:
-       case OP_PCL_TLS_ECDH_RSA_AES_256_CBC_SHA384:
-       case OP_PCL_TLS_ECDHE_ECDSA_AES_128_GCM_SHA256:
-       case OP_PCL_TLS_ECDHE_ECDSA_AES_256_GCM_SHA384:
-       case OP_PCL_TLS_ECDH_ECDSA_AES_128_GCM_SHA256:
-       case OP_PCL_TLS_ECDH_ECDSA_AES_256_GCM_SHA384:
-       case OP_PCL_TLS_ECDHE_RSA_AES_128_GCM_SHA256:
-       case OP_PCL_TLS_ECDHE_RSA_AES_256_GCM_SHA384:
-       case OP_PCL_TLS_ECDH_RSA_AES_128_GCM_SHA256:
-       case OP_PCL_TLS_ECDH_RSA_AES_256_GCM_SHA384:
-       case OP_PCL_TLS_ECDHE_PSK_3DES_EDE_CBC_SHA:
-       case OP_PCL_TLS_ECDHE_PSK_AES_128_CBC_SHA:
-       case OP_PCL_TLS_ECDHE_PSK_AES_256_CBC_SHA:
-       case OP_PCL_TLS_ECDHE_PSK_AES_128_CBC_SHA256:
-       case OP_PCL_TLS_ECDHE_PSK_AES_256_CBC_SHA384:
-       case OP_PCL_TLS12_3DES_EDE_CBC_MD5:
-       case OP_PCL_TLS12_3DES_EDE_CBC_SHA160:
-       case OP_PCL_TLS12_3DES_EDE_CBC_SHA224:
-       case OP_PCL_TLS12_3DES_EDE_CBC_SHA256:
-       case OP_PCL_TLS12_3DES_EDE_CBC_SHA384:
-       case OP_PCL_TLS12_3DES_EDE_CBC_SHA512:
-       case OP_PCL_TLS12_AES_128_CBC_SHA160:
-       case OP_PCL_TLS12_AES_128_CBC_SHA224:
-       case OP_PCL_TLS12_AES_128_CBC_SHA256:
-       case OP_PCL_TLS12_AES_128_CBC_SHA384:
-       case OP_PCL_TLS12_AES_128_CBC_SHA512:
-       case OP_PCL_TLS12_AES_192_CBC_SHA160:
-       case OP_PCL_TLS12_AES_192_CBC_SHA224:
-       case OP_PCL_TLS12_AES_192_CBC_SHA256:
-       case OP_PCL_TLS12_AES_192_CBC_SHA512:
-       case OP_PCL_TLS12_AES_256_CBC_SHA160:
-       case OP_PCL_TLS12_AES_256_CBC_SHA224:
-       case OP_PCL_TLS12_AES_256_CBC_SHA256:
-       case OP_PCL_TLS12_AES_256_CBC_SHA384:
-       case OP_PCL_TLS12_AES_256_CBC_SHA512:
-       case OP_PCL_TLS_PVT_AES_192_CBC_SHA160:
-       case OP_PCL_TLS_PVT_AES_192_CBC_SHA384:
-       case OP_PCL_TLS_PVT_AES_192_CBC_SHA224:
-       case OP_PCL_TLS_PVT_AES_192_CBC_SHA512:
-       case OP_PCL_TLS_PVT_AES_192_CBC_SHA256:
-       case OP_PCL_TLS_PVT_MASTER_SECRET_PRF_FE:
-       case OP_PCL_TLS_PVT_MASTER_SECRET_PRF_FF:
+       case OP_PCL_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA:
+       case OP_PCL_TLS_RSA_WITH_DES_CBC_SHA:
+       case OP_PCL_TLS_RSA_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA:
+       case OP_PCL_TLS_DH_DSS_WITH_DES_CBC_SHA:
+       case OP_PCL_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA:
+       case OP_PCL_TLS_DH_RSA_WITH_DES_CBC_SHA:
+       case OP_PCL_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA:
+       case OP_PCL_TLS_DHE_DSS_WITH_DES_CBC_SHA:
+       case OP_PCL_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA:
+       case OP_PCL_TLS_DHE_RSA_WITH_DES_CBC_SHA:
+       case OP_PCL_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA:
+       case OP_PCL_TLS_DH_anon_WITH_DES_CBC_SHA:
+       case OP_PCL_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_KRB5_WITH_DES_CBC_SHA:
+       case OP_PCL_TLS_KRB5_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_KRB5_WITH_DES_CBC_MD5:
+       case OP_PCL_TLS_KRB5_WITH_3DES_EDE_CBC_MD5:
+       case OP_PCL_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA:
+       case OP_PCL_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5:
+       case OP_PCL_TLS_RSA_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_DH_DSS_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_DH_RSA_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_DHE_DSS_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_DHE_RSA_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_DH_anon_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_RSA_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_DH_DSS_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_DH_RSA_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_DHE_DSS_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_DHE_RSA_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_DH_anon_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_DH_DSS_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_DH_RSA_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_DH_DSS_WITH_AES_256_CBC_SHA256:
+       case OP_PCL_TLS_DH_RSA_WITH_AES_256_CBC_SHA256:
+       case OP_PCL_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256:
+       case OP_PCL_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256:
+       case OP_PCL_TLS_DH_anon_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_DH_anon_WITH_AES_256_CBC_SHA256:
+       case OP_PCL_TLS_PSK_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_PSK_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_PSK_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_DHE_PSK_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_DHE_PSK_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_RSA_PSK_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_RSA_PSK_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_RSA_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_RSA_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_DH_RSA_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_DH_RSA_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_DHE_DSS_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_DHE_DSS_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_DH_DSS_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_DH_DSS_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_DH_anon_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_DH_anon_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_PSK_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_PSK_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_PSK_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_PSK_WITH_AES_256_CBC_SHA384:
+       case OP_PCL_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384:
+       case OP_PCL_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384:
+       case OP_PCL_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_ECDH_anon_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_ECDH_anon_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_SRP_SHA_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_SRP_SHA_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384:
+       case OP_PCL_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384:
+       case OP_PCL_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384:
+       case OP_PCL_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384:
+       case OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256:
+       case OP_PCL_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384:
+       case OP_PCL_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA:
+       case OP_PCL_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA:
+       case OP_PCL_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA:
+       case OP_PCL_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384:
+       case OP_PCL_TLS_RSA_WITH_AES_128_CBC_SHA256:
+       case OP_PCL_TLS_RSA_WITH_AES_256_CBC_SHA256:
+       case OP_PCL_PVT_TLS_3DES_EDE_CBC_MD5:
+       case OP_PCL_PVT_TLS_3DES_EDE_CBC_SHA160:
+       case OP_PCL_PVT_TLS_3DES_EDE_CBC_SHA224:
+       case OP_PCL_PVT_TLS_3DES_EDE_CBC_SHA256:
+       case OP_PCL_PVT_TLS_3DES_EDE_CBC_SHA384:
+       case OP_PCL_PVT_TLS_3DES_EDE_CBC_SHA512:
+       case OP_PCL_PVT_TLS_AES_128_CBC_SHA160:
+       case OP_PCL_PVT_TLS_AES_128_CBC_SHA224:
+       case OP_PCL_PVT_TLS_AES_128_CBC_SHA256:
+       case OP_PCL_PVT_TLS_AES_128_CBC_SHA384:
+       case OP_PCL_PVT_TLS_AES_128_CBC_SHA512:
+       case OP_PCL_PVT_TLS_AES_192_CBC_SHA160:
+       case OP_PCL_PVT_TLS_AES_192_CBC_SHA224:
+       case OP_PCL_PVT_TLS_AES_192_CBC_SHA256:
+       case OP_PCL_PVT_TLS_AES_192_CBC_SHA512:
+       case OP_PCL_PVT_TLS_AES_256_CBC_SHA160:
+       case OP_PCL_PVT_TLS_AES_256_CBC_SHA224:
+       case OP_PCL_PVT_TLS_AES_256_CBC_SHA384:
+       case OP_PCL_PVT_TLS_AES_256_CBC_SHA512:
+       case OP_PCL_PVT_TLS_AES_256_CBC_SHA256:
+       case OP_PCL_PVT_TLS_AES_192_CBC_SHA384:
+       case OP_PCL_PVT_TLS_MASTER_SECRET_PRF_FE:
+       case OP_PCL_PVT_TLS_MASTER_SECRET_PRF_FF:
                return 0;
        }
 
@@ -322,6 +320,12 @@ static const uint32_t proto_blob_flags[] = {
                OP_PCL_BLOB_EKT | OP_PCL_BLOB_REG_MASK,
        OP_PCL_BLOB_FORMAT_MASK | OP_PCL_BLOB_BLACK | OP_PCL_BLOB_TKEK |
                OP_PCL_BLOB_EKT | OP_PCL_BLOB_REG_MASK | OP_PCL_BLOB_SEC_MEM,
+       OP_PCL_BLOB_FORMAT_MASK | OP_PCL_BLOB_BLACK | OP_PCL_BLOB_TKEK |
+               OP_PCL_BLOB_EKT | OP_PCL_BLOB_REG_MASK | OP_PCL_BLOB_SEC_MEM,
+       OP_PCL_BLOB_FORMAT_MASK | OP_PCL_BLOB_BLACK | OP_PCL_BLOB_TKEK |
+               OP_PCL_BLOB_EKT | OP_PCL_BLOB_REG_MASK | OP_PCL_BLOB_SEC_MEM,
+       OP_PCL_BLOB_FORMAT_MASK | OP_PCL_BLOB_BLACK | OP_PCL_BLOB_TKEK |
+               OP_PCL_BLOB_EKT | OP_PCL_BLOB_REG_MASK | OP_PCL_BLOB_SEC_MEM,
        OP_PCL_BLOB_FORMAT_MASK | OP_PCL_BLOB_BLACK | OP_PCL_BLOB_TKEK |
                OP_PCL_BLOB_EKT | OP_PCL_BLOB_REG_MASK | OP_PCL_BLOB_SEC_MEM
 };
@@ -556,7 +560,7 @@ static const struct proto_map proto_table[] = {
        {OP_TYPE_UNI_PROTOCOL,   OP_PCLID_TLS10_PRF,     __rta_ssl_proto},
        {OP_TYPE_UNI_PROTOCOL,   OP_PCLID_TLS11_PRF,     __rta_ssl_proto},
        {OP_TYPE_UNI_PROTOCOL,   OP_PCLID_TLS12_PRF,     __rta_ssl_proto},
-       {OP_TYPE_UNI_PROTOCOL,   OP_PCLID_DTLS10_PRF,    __rta_ssl_proto},
+       {OP_TYPE_UNI_PROTOCOL,   OP_PCLID_DTLS_PRF,      __rta_ssl_proto},
        {OP_TYPE_UNI_PROTOCOL,   OP_PCLID_IKEV1_PRF,     __rta_ike_proto},
        {OP_TYPE_UNI_PROTOCOL,   OP_PCLID_IKEV2_PRF,     __rta_ike_proto},
        {OP_TYPE_UNI_PROTOCOL,   OP_PCLID_PUBLICKEYPAIR, __rta_dlc_proto},
@@ -568,7 +572,7 @@ static const struct proto_map proto_table[] = {
        {OP_TYPE_DECAP_PROTOCOL, OP_PCLID_TLS10,         __rta_ssl_proto},
        {OP_TYPE_DECAP_PROTOCOL, OP_PCLID_TLS11,         __rta_ssl_proto},
        {OP_TYPE_DECAP_PROTOCOL, OP_PCLID_TLS12,         __rta_ssl_proto},
-       {OP_TYPE_DECAP_PROTOCOL, OP_PCLID_DTLS10,        __rta_ssl_proto},
+       {OP_TYPE_DECAP_PROTOCOL, OP_PCLID_DTLS,          __rta_ssl_proto},
        {OP_TYPE_DECAP_PROTOCOL, OP_PCLID_MACSEC,        __rta_macsec_proto},
        {OP_TYPE_DECAP_PROTOCOL, OP_PCLID_WIFI,          __rta_wifi_proto},
        {OP_TYPE_DECAP_PROTOCOL, OP_PCLID_WIMAX,         __rta_wimax_proto},
index 6e66610..5357187 100644 (file)
@@ -497,6 +497,28 @@ __rta_out64(struct program *program, bool is_ext, uint64_t val)
        }
 }
 
+static inline void __rta_out_be64(struct program *program, bool is_ext,
+                                 uint64_t val)
+{
+       if (is_ext) {
+               __rta_out_be32(program, upper_32_bits(val));
+               __rta_out_be32(program, lower_32_bits(val));
+       } else {
+               __rta_out_be32(program, lower_32_bits(val));
+       }
+}
+
+static inline void __rta_out_le64(struct program *program, bool is_ext,
+                                 uint64_t val)
+{
+       if (is_ext) {
+               __rta_out_le32(program, lower_32_bits(val));
+               __rta_out_le32(program, upper_32_bits(val));
+       } else {
+               __rta_out_le32(program, lower_32_bits(val));
+       }
+}
+
 static inline unsigned int
 rta_word(struct program *program, uint32_t val)
 {
index 21c3eb6..8cd1820 100644 (file)
@@ -488,13 +488,15 @@ dpaa_sec_prep_cdb(dpaa_sec_session *ses)
                        if (ses->dir == DIR_ENC) {
                                shared_desc_len = cnstr_shdsc_ipsec_new_encap(
                                                cdb->sh_desc,
-                                               true, swap, &ses->encap_pdb,
+                                               true, swap, SHR_SERIAL,
+                                               &ses->encap_pdb,
                                                (uint8_t *)&ses->ip4_hdr,
                                                &alginfo_c, &alginfo_a);
                        } else if (ses->dir == DIR_DEC) {
                                shared_desc_len = cnstr_shdsc_ipsec_new_decap(
                                                cdb->sh_desc,
-                                               true, swap, &ses->decap_pdb,
+                                               true, swap, SHR_SERIAL,
+                                               &ses->decap_pdb,
                                                &alginfo_c, &alginfo_a);
                        }
                } else {