\hypertarget{mlx5__fpga_2ipsec_8h_source}{}\doxysection{ipsec.\+h}
\label{mlx5__fpga_2ipsec_8h_source}\index{dev/mlx5/mlx5\_fpga/ipsec.h@{dev/mlx5/mlx5\_fpga/ipsec.h}}
\mbox{\hyperlink{mlx5__fpga_2ipsec_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00002}00002 \textcolor{comment}{ * Copyright (c) 2017 Mellanox Technologies. All rights reserved.}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00004}00004 \textcolor{comment}{ * This software is available to you under a choice of one of two}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00005}00005 \textcolor{comment}{ * licenses.  You may choose to be licensed under the terms of the GNU}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00006}00006 \textcolor{comment}{ * General Public License (GPL) Version 2, available from the file}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00007}00007 \textcolor{comment}{ * COPYING in the main directory of this source tree, or the}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00008}00008 \textcolor{comment}{ * OpenIB.org BSD license below:}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00009}00009 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00010}00010 \textcolor{comment}{ *     Redistribution and use in source and binary forms, with or}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00011}00011 \textcolor{comment}{ *     without modification, are permitted provided that the following}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00012}00012 \textcolor{comment}{ *     conditions are met:}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00013}00013 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00014}00014 \textcolor{comment}{ *      -\/ Redistributions of source code must retain the above}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00015}00015 \textcolor{comment}{ *        copyright notice, this list of conditions and the following}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00016}00016 \textcolor{comment}{ *        disclaimer.}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00017}00017 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00018}00018 \textcolor{comment}{ *      -\/ Redistributions in binary form must reproduce the above}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00019}00019 \textcolor{comment}{ *        copyright notice, this list of conditions and the following}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00020}00020 \textcolor{comment}{ *        disclaimer in the documentation and/or other materials}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00021}00021 \textcolor{comment}{ *        provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00022}00022 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00023}00023 \textcolor{comment}{ * THE SOFTWARE IS PROVIDED "{}AS IS"{}, WITHOUT WARRANTY OF ANY KIND,}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00024}00024 \textcolor{comment}{ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00025}00025 \textcolor{comment}{ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00026}00026 \textcolor{comment}{ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00027}00027 \textcolor{comment}{ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00028}00028 \textcolor{comment}{ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00029}00029 \textcolor{comment}{ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00030}00030 \textcolor{comment}{ * SOFTWARE.}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00031}00031 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00032}00032 \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00033}00033 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00034}00034 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00035}00035 \textcolor{preprocessor}{\#ifndef \_\_MLX5\_FPGA\_IPSEC\_H\_\_}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00036}00036 \textcolor{preprocessor}{\#define \_\_MLX5\_FPGA\_IPSEC\_H\_\_}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00037}00037 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00038}00038 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{mlx5__accel_2ipsec_8h}{dev/mlx5/mlx5\_accel/ipsec.h}}>}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00039}00039 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00040}00040 \textcolor{preprocessor}{\#ifdef CONFIG\_MLX5\_FPGA}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00041}00041 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00042}00042 \textcolor{keywordtype}{void} *\mbox{\hyperlink{mlx5__fpga_2ipsec_8h_afd8b338ed0553b9f8a3f862e64dbd493}{mlx5\_fpga\_ipsec\_sa\_cmd\_exec}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev,}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00043}00043                                   \textcolor{keyword}{struct} mlx5\_accel\_ipsec\_sa *cmd);}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00044}00044 \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_ad5215b591cd7be3d2ba7c8cc7385180f}{mlx5\_fpga\_ipsec\_sa\_cmd\_wait}}(\textcolor{keywordtype}{void} *context);}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00045}00045 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00046}00046 u32 \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_a27e7eda7ee4582a7fd293c2d34174637}{mlx5\_fpga\_ipsec\_device\_caps}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev);}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00047}00047 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_a6116520b457805bedaa0952234e900e0}{mlx5\_fpga\_ipsec\_counters\_count}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev);}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00048}00048 \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_af337614c31b3b25e40a491eac65db3a7}{mlx5\_fpga\_ipsec\_counters\_read}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev, u64 *counters,}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00049}00049                                   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} counters\_count);}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00050}00050 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00051}00051 \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_a6d593b8f01e76c8e12ff7d34722615cd}{mlx5\_fpga\_ipsec\_init}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev);}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00052}00052 \textcolor{keywordtype}{void} \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_ac5f0017b8b33c05eac483eb62053b7b0}{mlx5\_fpga\_ipsec\_cleanup}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev);}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00053}00053 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00054}00054 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00055}00055 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00056}\mbox{\hyperlink{mlx5__fpga_2ipsec_8h_afd8b338ed0553b9f8a3f862e64dbd493}{00056}} \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{void} *\mbox{\hyperlink{mlx5__fpga_2ipsec_8h_afd8b338ed0553b9f8a3f862e64dbd493}{mlx5\_fpga\_ipsec\_sa\_cmd\_exec}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev,}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00057}00057                                                 \textcolor{keyword}{struct} mlx5\_accel\_ipsec\_sa *cmd)}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00058}00058 \{}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00059}00059         \textcolor{keywordflow}{return} ERR\_PTR(-\/EOPNOTSUPP);}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00060}00060 \}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00061}00061 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00062}\mbox{\hyperlink{mlx5__fpga_2ipsec_8h_ad5215b591cd7be3d2ba7c8cc7385180f}{00062}} \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_ad5215b591cd7be3d2ba7c8cc7385180f}{mlx5\_fpga\_ipsec\_sa\_cmd\_wait}}(\textcolor{keywordtype}{void} *context)}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00063}00063 \{}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00064}00064         \textcolor{keywordflow}{return} -\/EOPNOTSUPP;}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00065}00065 \}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00066}00066 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00067}\mbox{\hyperlink{mlx5__fpga_2ipsec_8h_a27e7eda7ee4582a7fd293c2d34174637}{00067}} \textcolor{keyword}{static} \textcolor{keyword}{inline} u32 \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_a27e7eda7ee4582a7fd293c2d34174637}{mlx5\_fpga\_ipsec\_device\_caps}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev)}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00068}00068 \{}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00069}00069         \textcolor{keywordflow}{return} 0;}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00070}00070 \}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00071}00071 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00072}00072 \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00073}\mbox{\hyperlink{mlx5__fpga_2ipsec_8h_a6116520b457805bedaa0952234e900e0}{00073}} \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_a6116520b457805bedaa0952234e900e0}{mlx5\_fpga\_ipsec\_counters\_count}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev)}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00074}00074 \{}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00075}00075         \textcolor{keywordflow}{return} 0;}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00076}00076 \}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00077}00077 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00078}\mbox{\hyperlink{mlx5__fpga_2ipsec_8h_af337614c31b3b25e40a491eac65db3a7}{00078}} \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_af337614c31b3b25e40a491eac65db3a7}{mlx5\_fpga\_ipsec\_counters\_read}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev,}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00079}00079                                                 u64 *counters)}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00080}00080 \{}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00081}00081         \textcolor{keywordflow}{return} 0;}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00082}00082 \}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00083}00083 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00084}\mbox{\hyperlink{mlx5__fpga_2ipsec_8h_a6d593b8f01e76c8e12ff7d34722615cd}{00084}} \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_a6d593b8f01e76c8e12ff7d34722615cd}{mlx5\_fpga\_ipsec\_init}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev)}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00085}00085 \{}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00086}00086         \textcolor{keywordflow}{return} 0;}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00087}00087 \}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00088}00088 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00089}\mbox{\hyperlink{mlx5__fpga_2ipsec_8h_ac5f0017b8b33c05eac483eb62053b7b0}{00089}} \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{void} \mbox{\hyperlink{mlx5__fpga_2ipsec_8h_ac5f0017b8b33c05eac483eb62053b7b0}{mlx5\_fpga\_ipsec\_cleanup}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev)}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00090}00090 \{}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00091}00091 \}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00092}00092 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00093}00093 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* CONFIG\_MLX5\_FPGA */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00094}00094 }
\DoxyCodeLine{\Hypertarget{mlx5__fpga_2ipsec_8h_source_l00095}00095 \textcolor{preprocessor}{\#endif  }\textcolor{comment}{/* \_\_MLX5\_FPGA\_SADB\_H\_\_ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
