Nathan Lewis
010d12474c
Add support for selecting encryption backend
...
- Add two new module parameters to icp (icp_aes_impl, icp_gcm_impl)
that control the crypto implementation. At the moment there is a
choice between generic and aesni (on platforms that support it).
- This enables support for AES-NI and PCLMULQDQ-NI on AMD Family
15h (bulldozer) and newer CPUs (zen).
- Modify aes_key_t to track what implementation it was generated
with as key schedules generated with various implementations
are not necessarily interchangable.
Reviewed by: Gvozden Neskovic <neskovic@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tom Caputi <tcaputi@datto.com>
Reviewed-by: Richard Laager <rlaager@wiktel.com>
Signed-off-by: Nathaniel R. Lewis <linux.robotdude@gmail.com>
Closes #7102
Closes #7103
2018-08-02 11:59:24 -07:00
..
2018-05-29 14:51:39 -07:00
2016-07-20 10:43:30 -07:00
2018-01-10 10:49:27 -08:00
2018-05-03 11:10:26 -07:00
2017-09-22 22:16:18 -07:00
2018-05-01 10:33:35 -07:00
2018-05-29 14:51:39 -07:00
2018-05-29 14:51:39 -07:00
2018-02-22 09:02:06 -08:00
2018-02-15 12:58:23 -08:00
2016-11-15 09:20:46 -08:00
2012-08-24 08:56:38 -07:00
2013-01-10 16:09:39 -08:00
2013-01-10 16:09:39 -08:00
2017-07-25 10:30:20 -07:00
2017-09-16 11:00:19 -07:00
2014-04-10 14:28:38 -07:00
2017-07-23 19:37:12 -07:00
2015-05-11 15:07:00 -07:00
2017-06-27 12:00:27 -07:00
2015-09-04 15:30:24 -04:00
2015-09-04 15:30:24 -04:00
2017-05-04 18:00:27 -04:00
2018-04-10 10:32:14 -07:00
2016-05-20 11:08:55 -07:00
2013-01-10 16:09:39 -08:00
2013-01-10 16:09:39 -08:00
2016-09-29 13:13:31 -07:00
2012-07-26 13:42:57 -07:00
2018-07-23 15:40:15 -07:00
2018-06-15 15:05:21 -07:00
2012-07-26 13:42:57 -07:00
2012-10-03 10:49:45 -07:00
2018-02-15 12:58:23 -08:00
2018-05-29 16:00:33 -07:00
2015-09-04 15:30:24 -04:00
2018-06-19 21:51:18 -07:00
2012-07-26 13:42:57 -07:00
2012-07-26 13:42:57 -07:00
2015-06-22 10:22:49 -07:00
2014-11-17 11:13:55 -08:00
2018-02-15 12:58:23 -08:00
2013-03-04 08:49:17 -08:00
2012-08-07 14:55:31 -07:00
2018-06-19 21:52:45 -07:00
2012-07-23 12:29:23 -07:00
2012-07-17 09:22:43 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 14:51:39 -07:00
2016-08-11 12:06:37 -07:00
2015-02-10 11:24:51 -08:00
2011-04-19 10:10:47 -07:00
2015-08-31 13:54:39 -07:00
2016-03-21 09:24:34 -07:00
2018-04-13 10:44:05 -07:00
2013-03-04 08:49:17 -08:00
2017-09-16 11:00:19 -07:00
2016-12-30 16:03:59 -06:00
2018-03-05 12:44:35 -08:00
2013-01-10 16:09:39 -08:00
2018-02-15 12:58:23 -08:00
2018-02-23 08:50:06 -08:00
2018-05-29 16:00:33 -07:00
2017-03-20 17:51:16 -07:00
2018-05-29 16:00:33 -07:00
2016-12-16 13:54:51 -08:00
2018-02-08 21:25:19 -08:00
2018-06-19 21:51:18 -07:00
2012-07-26 13:42:57 -07:00
2011-04-19 10:10:47 -07:00
2014-05-01 10:06:49 -07:00
2015-08-24 10:13:25 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 14:51:39 -07:00
2016-07-25 13:21:49 -07:00
2018-05-29 16:00:33 -07:00
2016-10-26 10:30:43 -07:00
2018-02-15 12:58:23 -08:00
2013-07-02 09:24:43 -07:00
2018-03-13 10:45:55 -07:00
2015-12-01 16:48:08 -08:00
2017-01-03 11:31:18 -06:00
2016-08-22 10:05:45 -07:00
2017-12-07 10:28:50 -08:00
2012-07-26 13:42:57 -07:00
2018-05-29 16:00:33 -07:00
2016-01-20 11:36:00 -08:00
2016-10-20 09:39:09 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2013-02-24 10:20:28 -08:00
2018-05-29 16:00:33 -07:00
2011-12-16 20:02:52 -08:00
2016-10-20 09:39:09 -07:00
2012-10-14 13:06:48 -07:00
2012-07-20 12:31:45 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2016-07-29 14:48:00 -07:00
2016-08-08 10:47:22 -07:00
2018-05-29 16:00:33 -07:00
2016-11-04 10:46:40 -07:00
2018-05-29 14:51:39 -07:00
2012-07-26 13:42:57 -07:00
2018-05-29 16:00:33 -07:00
2018-03-07 15:40:42 -08:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2018-05-02 15:01:24 -07:00
2018-01-09 16:18:19 -08:00
2018-05-29 16:00:33 -07:00
2017-01-03 11:31:18 -06:00
2018-05-29 16:00:33 -07:00
2018-07-23 15:40:15 -07:00
2015-05-18 16:54:36 -07:00
2018-05-29 14:51:39 -07:00
2018-05-29 14:51:39 -07:00
2011-11-08 11:32:04 -08:00
2018-05-29 14:51:39 -07:00
2018-08-02 11:59:24 -07:00
2014-06-11 16:32:57 -07:00
2018-03-28 10:19:22 -07:00
2018-02-15 12:58:23 -08:00
2018-06-07 09:59:59 -07:00
2018-02-15 12:58:23 -08:00
2016-04-28 09:27:40 -07:00
2016-04-01 09:06:54 -07:00
2016-03-18 13:31:11 -07:00
2017-03-31 09:32:00 -07:00
2014-03-31 16:11:13 -07:00
2018-04-06 14:11:09 -07:00
2014-02-05 12:25:30 -08:00
2014-06-11 16:32:57 -07:00
2016-03-18 13:31:11 -07:00
2018-06-07 09:59:59 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00