intel / asynch_mode_nginx

Other
210 stars 60 forks source link

issue seen with dasync engine #58

Closed Kaustubh2455 closed 1 year ago

Kaustubh2455 commented 1 year ago

Hi, I wanted to use the dasync engine provided by OpenSSL. I have been able to load that engine and attach it to OpenSSL. I am using OpenSSL 1.1.1l and the async_mode_nginx repository. I have ssl_async on the Nginx config and I can see the requests getting offloaded. The issue I have been seeing is that some of the requests fail when I have more than one connection and multiple requests. The requests start to fail with as low as 3 requests with one thread and two connections. Has anyone tried to test the dasync code with Nginx async? If yes was it scalable?

The error I get 2022/08/17 03:11:10 [info] 15355#15355: *11784 SSL_do_handshake() failed (SSL: error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac) while SSL handshaking, client: 10.0.1.1, server: 0.0.0.0:443

WalterRan commented 1 year ago

@Kaustubh2455 Could you please share the Nginx config file?

Kaustubh2455 commented 1 year ago

@WalterRan attached the config. nginx_async_conf.txt

WalterRan commented 1 year ago

As I know the dasync engine only implements the interface and does not implement the function, so I don't quite understand what is the purpose of this test.

Kaustubh2455 commented 1 year ago

@WalterRan dasync engine does implement the function in SW for some ciphers. I was doing this experiment because when working with another HW engine (not qat), I observed a similar issue with it. And as the dasync engine provides a similar interface and functionality, I wanted to confirm if it's an issue with Nginx or the engine or if I am doing something wrong. With qat though I don't see the issue.

ShuaiYuan21 commented 1 year ago

Currently we fully support qateengine, for other hardware engines, we cannot guarantee full support. But the implementation of other engines can refer to qateengine.