diff options
author | Florin Coras <fcoras@cisco.com> | 2020-11-19 13:38:26 -0800 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2021-02-09 21:33:19 +0000 |
commit | 4b47ee26cba610b26bbfc088736846541bee7be3 (patch) | |
tree | cb6aedb8a7ba69140bda4709dbff084d91ffff90 /src/plugins/hs_apps | |
parent | da2305fb874a7cf6573267adb87166564e328396 (diff) |
tls: dtls initial implementation
Type: feature
Basic dtls transport protocol implementation that relies on openssl
wire protocol implementation. Retries/timeouts not yet supported.
To test using vcl test apps, first ensure all arp entries are properly
resolved and subsequently:
server: vcl_server -p dtls 1234
client: vcl_client -p dtls <server-ip> 1234 -U -N 2000000 -T 1460 -X
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I04b4516a8fe9ce85ba230bcdd891f33a900046ed
Diffstat (limited to 'src/plugins/hs_apps')
-rw-r--r-- | src/plugins/hs_apps/sapi/vpp_echo_common.c | 3 | ||||
-rw-r--r-- | src/plugins/hs_apps/vcl/vcl_test_client.c | 3 | ||||
-rw-r--r-- | src/plugins/hs_apps/vcl/vcl_test_server.c | 5 |
3 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/hs_apps/sapi/vpp_echo_common.c b/src/plugins/hs_apps/sapi/vpp_echo_common.c index e24629b783e..02ce1686ea2 100644 --- a/src/plugins/hs_apps/sapi/vpp_echo_common.c +++ b/src/plugins/hs_apps/sapi/vpp_echo_common.c @@ -339,6 +339,9 @@ format_transport_proto (u8 * s, va_list * args) case TRANSPORT_PROTO_QUIC: s = format (s, "QUIC"); break; + case TRANSPORT_PROTO_DTLS: + s = format (s, "DTLS"); + break; default: s = format (s, "UNKNOWN"); break; diff --git a/src/plugins/hs_apps/vcl/vcl_test_client.c b/src/plugins/hs_apps/vcl/vcl_test_client.c index 0aff98ef1dd..35f1ac11818 100644 --- a/src/plugins/hs_apps/vcl/vcl_test_client.c +++ b/src/plugins/hs_apps/vcl/vcl_test_client.c @@ -1105,7 +1105,8 @@ main (int argc, char **argv) if (ctrl->fd < 0) vtfail ("vppcom_session_create()", ctrl->fd); - if (vcm->proto == VPPCOM_PROTO_TLS || vcm->proto == VPPCOM_PROTO_QUIC) + if (vcm->proto == VPPCOM_PROTO_TLS || vcm->proto == VPPCOM_PROTO_QUIC || + vcm->proto == VPPCOM_PROTO_DTLS) { vppcom_cert_key_pair_t ckpair; uint32_t ckp_len; diff --git a/src/plugins/hs_apps/vcl/vcl_test_server.c b/src/plugins/hs_apps/vcl/vcl_test_server.c index a2a4d6ac3b0..b4966bf168b 100644 --- a/src/plugins/hs_apps/vcl/vcl_test_server.c +++ b/src/plugins/hs_apps/vcl/vcl_test_server.c @@ -550,8 +550,9 @@ vts_worker_init (vcl_test_server_worker_t * wrk) vppcom_session_attr (wrk->listen_fd, VPPCOM_ATTR_SET_CONNECTED, 0, 0); } - if (vsm->cfg.proto == VPPCOM_PROTO_TLS - || vsm->cfg.proto == VPPCOM_PROTO_QUIC) + if (vsm->cfg.proto == VPPCOM_PROTO_TLS || + vsm->cfg.proto == VPPCOM_PROTO_QUIC || + vsm->cfg.proto == VPPCOM_PROTO_DTLS) { vppcom_cert_key_pair_t ckpair; uint32_t ckp_len; |