# IPsec support for DPDK backend

**URL:** <https://forum.p4.org/t/ipsec-support-for-dpdk-backend/968>\
**Category:** P4 Dev\
**Created:** [September 21, 2023, 7:19am UTC](https://forum.p4.org/t/ipsec-support-for-dpdk-backend/968 "2023-09-21T07:19:46Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![aakashks](https://avatars.discourse-cdn.com/v4/letter/a/f19dbf/32.png) [@aakashks](https://forum.p4.org/u/aakashks)\
**Post date:** [September 21, 2023, 7:19am UTC](https://forum.p4.org/t/ipsec-support-for-dpdk-backend/968/1 "2023-09-21T07:19:46Z")

</div>

Hi,  
The recently ended DPDK userspace summit had a talk on DPDK IPsec offload use-case for P4 by Cristian and Radu from Intel.

> **[Dumitrescu\_Nicolau\_IPsec.pdf](https://static.sched.com/hosted_files/dpdksummit2023/35/Dumitrescu_Nicolau_IPsec.pdf)**
>
> 1096.47 KB

Am interested in knowing about this case. So wanted to know if we need a Supporting Intel hardware (QAT assisted) to try this ? Or if its a software based IPsec offload, then can we try this on any X86 box ?  
Also are the sources for ipsec extern implementation available in the git ? I couldn’t find it .

Thanks,  
Aakash

---

<div class="post-metadata">

**Author:** ![andyfingerhut](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.p4.org/andyfingerhut/32/17_2.png) [@andyfingerhut](https://forum.p4.org/u/andyfingerhut)\
**Post date:** [October 3, 2023, 4:21pm UTC](https://forum.p4.org/t/ipsec-support-for-dpdk-backend/968/2 "2023-10-03T16:21:57Z")

</div>

At least some partial answer to your questions:

1. DPDK has a software crypto library as well as QAT crypto support.

2. The sources for the ipsec extern should be available in the p4c-dpdk back end compiler within this project [GitHub - p4lang/p4c: P4\_16 reference compiler](https://github.com/p4lang/p4c)

The P4 header-file definition of an extern object called `ipsec_accelerator` can be found here: [https://github.com/p4lang/p4c/blob/d785e242fc4a75c8bcb1b8c19fd7c74b7940d3e1/p4include/dpdk/pna.p4#L516](https://github.com/p4lang/p4c/blob/d785e242fc4a75c8bcb1b8c19fd7c74b7940d3e1/p4include/dpdk/pna.p4#L516)

You can search for all occurrences of strings like “ipsec” and “ipsec\_accelerator” in all files of the p4lang/p4c repository to find other places where it is mentioned.
