1/* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright (C) 2020 Marvell International Ltd. 3 */ 4#ifndef _IPSEC_WORKER_H_ 5#define _IPSEC_WORKER_H_ 6 7#include "ipsec.h" 8 9enum pkt_type { 10 PKT_TYPE_PLAIN_IPV4 = 1, 11 PKT_TYPE_IPSEC_IPV4, 12 PKT_TYPE_PLAIN_IPV6, 13 PKT_TYPE_IPSEC_IPV6, 14 PKT_TYPE_INVALID 15}; 16 17enum { 18 PKT_DROPPED = 0, 19 PKT_FORWARDED, 20 PKT_POSTED /* for lookaside case */ 21}; 22 23struct route_table { 24 struct rt_ctx *rt4_ctx; 25 struct rt_ctx *rt6_ctx; 26}; 27 28/* 29 * Conf required by event mode worker with tx internal port 30 */ 31struct lcore_conf_ev_tx_int_port_wrkr { 32 struct ipsec_ctx inbound; 33 struct ipsec_ctx outbound; 34 struct route_table rt; 35} __rte_cache_aligned; 36 37void ipsec_poll_mode_worker(void); 38 39int ipsec_launch_one_lcore(void *args); 40 41#endif /* _IPSEC_WORKER_H_ */ 42