f-stack/dpdk/examples/ipsec-secgw/ipsec_worker.h

42 lines
769 B
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright (C) 2020 Marvell International Ltd.
*/
#ifndef _IPSEC_WORKER_H_
#define _IPSEC_WORKER_H_
#include "ipsec.h"
enum pkt_type {
PKT_TYPE_PLAIN_IPV4 = 1,
PKT_TYPE_IPSEC_IPV4,
PKT_TYPE_PLAIN_IPV6,
PKT_TYPE_IPSEC_IPV6,
PKT_TYPE_INVALID
};
enum {
PKT_DROPPED = 0,
PKT_FORWARDED,
PKT_POSTED /* for lookaside case */
};
struct route_table {
struct rt_ctx *rt4_ctx;
struct rt_ctx *rt6_ctx;
};
/*
* Conf required by event mode worker with tx internal port
*/
struct lcore_conf_ev_tx_int_port_wrkr {
struct ipsec_ctx inbound;
struct ipsec_ctx outbound;
struct route_table rt;
} __rte_cache_aligned;
void ipsec_poll_mode_worker(void);
int ipsec_launch_one_lcore(void *args);
#endif /* _IPSEC_WORKER_H_ */